]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-7767 Guests should not be able to hide course sections - section hiding is not...
authorskodak <skodak>
Mon, 4 Dec 2006 09:02:17 +0000 (09:02 +0000)
committerskodak <skodak>
Mon, 4 Dec 2006 09:02:17 +0000 (09:02 +0000)
course/lib.php
lib/db/upgrade.php
version.php

index 3bcfd8a2b7b8795343d701d00ccb071f8cc475ee..199c3a29251956b70dc1bdbb06be9db9cf7b115e 100644 (file)
@@ -1027,15 +1027,13 @@ function get_all_sections($courseid) {
 function course_set_display($courseid, $display=0) {
     global $USER;
 
-    if (empty($USER->id)) {
-        return false;
-    }
-
     if ($display == "all" or empty($display)) {
         $display = 0;
     }
 
-    if (record_exists("course_display", "userid", $USER->id, "course", $courseid)) {
+    if (empty($USER->id) or $USER->username == 'guest') {
+        //do not store settings in db for guests
+    } else if (record_exists("course_display", "userid", $USER->id, "course", $courseid)) {
         set_field("course_display", "display", $display, "userid", $USER->id, "course", $courseid);
     } else {
         $record->userid = $USER->id;
index 53062bcb3b17f6d70bb172c983feb43a6652e2cc..9747d189452b499ecab383c27835cbf1f2bf3bd1 100644 (file)
@@ -111,6 +111,13 @@ function xmldb_main_upgrade($oldversion=0) {
         $result = $result && add_field($table, $field);
     }
 
+    if ($oldversion < 2006120300) {    /// Delete guest course section settings
+        // following code can be executed repeatedly, such as when upgrading from 1.7.x - it is ok
+        if ($guest = get_record('user', 'username', 'guest')) {
+            execute_sql("DELETE FROM {$CFG->prefix}course_display where userid=$guest->id ;", true);
+        }
+    }
+
     return $result;
 
 }
index 5e6e0c2ee83d2c472e057eae71b352955d70ca73..78ca74d1ddbb7276e4a8ea07e550e7a533dda1c8 100644 (file)
@@ -6,7 +6,7 @@
 // This is compared against the values stored in the database to determine
 // whether upgrades should be performed (see lib/db/*.php)
 
-   $version = 2006112200;  // YYYYMMDD = date
+   $version = 2006120300;  // YYYYMMDD = date
                            //       XY = increments within a single day
 
    $release = '1.8 dev';    // Human-friendly version name