]> git.mjollnir.org Git - moodle.git/commitdiff
New course parameter "visible" which makes the course available to
authormoodler <moodler>
Mon, 21 Jul 2003 07:31:01 +0000 (07:31 +0000)
committermoodler <moodler>
Mon, 21 Jul 2003 07:31:01 +0000 (07:31 +0000)
students.  Defaults to 1 (on).  Teacher can control this from settings page.

course/edit.html
course/edit.php
lib/datalib.php
lib/db/mysql.php
lib/db/mysql.sql
lib/db/postgres7.php
lib/db/postgres7.sql
version.php

index ec449f003e7b35977922886952b8a686ca67fc3b..584731387ed35b30bedc19b14ba84a4e4b968028 100644 (file)
     <? if (isset($err["summary"])) formerr($err["summary"]); ?>
        </td>
 </tr>
+<tr valign=top>
+       <td><P><? print_string("availability") ?>:</td>
+       <td><?
+    unset($choices);
+    $choices["0"] = get_string("courseavailablenot");
+    $choices["1"] = get_string("courseavailable");
+    choose_from_menu ($choices, "visible", $form->visible, "");
+    helpbutton("courseavailability", get_string("availability")); ?>
+       </td>
+</tr>
 <tr valign=top>
        <td><P><? print_string("enrolmentkey") ?>:</td>
        <td><input type="text" name="password" size=25 value="<? p($form->password) ?>">
@@ -31,6 +41,7 @@
 <tr valign=top>
        <td><P><? print_string("opentoguests") ?>:</td>
        <td><?
+    unset($choices);
     $choices["0"] = get_string("guestsno");
     $choices["1"] = get_string("guestsyes");
     $choices["2"] = get_string("guestskey");
index 72f1c32ddf35fab992aef1f7ea0148e50ceb63a4..7c130d70c49d041bb5012cfe9b15766f7ec76c71 100644 (file)
             $form->showrecent = 1;
             $form->category = 1;
             $form->id = "";
+            $form->visible = 1;
         }
     }
 
index cb938e0846b15356cddfe02b54f5bcdaff68e600..9c63d1a7ff26f8874803b892100d02de00855a29 100644 (file)
@@ -722,8 +722,10 @@ function get_user_info_from_db($field, $value) {
 
     if ($students = get_records("user_students", "userid", $user->id)) {
         foreach ($students as $student) {
-            $user->student[$student->course] = true;
-            $user->zoom[$student->course] = $student->zoom;
+            if (get_field("course", "visible", "id", $student->course)) {
+                $user->student[$student->course] = true;
+                $user->zoom[$student->course] = $student->zoom;
+            }
         }
     }
 
@@ -796,14 +798,25 @@ function get_courses($category=0, $sort="fullname ASC") {
 /// Returns list of courses
 
     if ($category > 0) {          // Return all courses in one category
-        return get_records("course", "category", $category, $sort);
+        $courses = get_records("course", "category", $category, $sort);
 
     } else if ($category < 0) {   // Return all courses, even the site
-        return get_records("course", "", "", $sort);
+        $courses = get_records("course", "", "", $sort);
 
     } else {                      // Return all courses, except site
-        return get_records_select("course", "category > 0", $sort);
+        $courses = get_records_select("course", "category > 0", $sort);
+    }
+
+    if ($courses) {  /// Remove unavailable courses from the list
+        foreach ($courses as $key => $course) {
+            if (!$course->visible) {
+                if (!isteacher($course->id)) {
+                    unset($courses[$key]);
+                }
+            }
+        }
     }
+    return $courses;
 }
 
 function get_categories() {
index 7b122ac3be1d08e9fcc0b6468c214e87fff62574..15d3b235dc0009a69f159beab109a4686ebc420b 100644 (file)
@@ -397,6 +397,10 @@ function main_upgrade($oldversion=0) {
         table_column("user", "", "autosubscribe", "integer", "1", "unsigned", "1", "", "htmleditor");
     }
 
+    if ($oldversion < 2003072100) {
+        table_column("course", "", "visible", "integer", "1", "unsigned", "1", "", "marker");
+    }
+
     return $result;
 
 }
index c34cfed9007f54cd6319b189f85d8fc09b65897c..f9a9035bfd8be11829246c49cebc1ad87a1dc861 100644 (file)
@@ -46,6 +46,7 @@ CREATE TABLE `prefix_course` (
   `numsections` smallint(5) unsigned NOT NULL default '1',
   `showrecent` smallint(5) unsigned NOT NULL default '1',
   `marker` int(10) unsigned NOT NULL default '0',
+  `visible` int(10) unsigned NOT NULL default '1',
   `timecreated` int(10) unsigned NOT NULL default '0',
   `timemodified` int(10) unsigned NOT NULL default '0',
   PRIMARY KEY  (`id`)
index 1654ac5c9934f1a9551ba538d784cf005aa55df4..90ad22fd3ff6db50e9e803bf66e9a8e493cee827 100644 (file)
@@ -168,6 +168,10 @@ function main_upgrade($oldversion=0) {
         table_column("user", "", "autosubscribe", "integer", "1", "unsigned", "1", "", "htmleditor");
     }
 
+    if ($oldversion < 2003072100) {
+        table_column("course", "", "visible", "integer", "1", "unsigned", "1", "", "marker");
+    }
+
     return $result;
 }
 ?>    
index feeb4760b7366396811713a0a62752142b49ce2e..15088c85cddac28a296548cde1efc2b7f3c942e8 100644 (file)
@@ -23,6 +23,7 @@ CREATE TABLE prefix_course (
    startdate integer NOT NULL default '0',
    numsections integer NOT NULL default '1',
    marker integer NOT NULL default '0',
+   visible integer NOT NULL default '1',
    timecreated integer NOT NULL default '0',
    timemodified integer NOT NULL default '0'
 );
index f747e574627398f17fe3aa8c3012a105ae002449..ee187c033e4f5dc140c993e784bf96cda7575188 100644 (file)
@@ -5,7 +5,7 @@
 // database to determine whether upgrades should
 // be performed (see lib/db/*.php)
 
-$version = 2003071900;   // The current version is a date (YYYYMMDDXX)
+$version = 2003072100;   // The current version is a date (YYYYMMDDXX)
 
 $release = "1.1 development";  // User-friendly version number