From: moodler Date: Mon, 21 Jul 2003 07:31:01 +0000 (+0000) Subject: New course parameter "visible" which makes the course available to X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=a6d82c3f49fd88997355db23f727a626c3412325;p=moodle.git New course parameter "visible" which makes the course available to students. Defaults to 1 (on). Teacher can control this from settings page. --- diff --git a/course/edit.html b/course/edit.html index ec449f003e..584731387e 100644 --- a/course/edit.html +++ b/course/edit.html @@ -21,6 +21,16 @@ + +

: + visible, ""); + helpbutton("courseavailability", get_string("availability")); ?> + +

: @@ -31,6 +41,7 @@

: showrecent = 1; $form->category = 1; $form->id = ""; + $form->visible = 1; } } diff --git a/lib/datalib.php b/lib/datalib.php index cb938e0846..9c63d1a7ff 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -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() { diff --git a/lib/db/mysql.php b/lib/db/mysql.php index 7b122ac3be..15d3b235dc 100644 --- a/lib/db/mysql.php +++ b/lib/db/mysql.php @@ -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; } diff --git a/lib/db/mysql.sql b/lib/db/mysql.sql index c34cfed900..f9a9035bfd 100644 --- a/lib/db/mysql.sql +++ b/lib/db/mysql.sql @@ -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`) diff --git a/lib/db/postgres7.php b/lib/db/postgres7.php index 1654ac5c99..90ad22fd3f 100644 --- a/lib/db/postgres7.php +++ b/lib/db/postgres7.php @@ -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; } ?> diff --git a/lib/db/postgres7.sql b/lib/db/postgres7.sql index feeb4760b7..15088c85cd 100644 --- a/lib/db/postgres7.sql +++ b/lib/db/postgres7.sql @@ -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' ); diff --git a/version.php b/version.php index f747e57462..ee187c033e 100644 --- a/version.php +++ b/version.php @@ -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