if (!$course->students) {
$course->students = get_string('defaultcoursestudents');
}
- if (!$course->meta_course) {
+ if (!$course->metacourse) {
$this->content->items[]='<a href="student.php?id='.$this->instance->pageid.'">'.$course->students.'...</a>';
$this->content->icons[]='<img src="'.$CFG->pixpath.'/i/users.gif" height="16" width="16" alt="" />';
}
if (!isset($form->enrolperiod)) {
$form->enrolperiod = 0;
}
- if (!isset($form->meta_course)) {
- $form->meta_course = 0;
+ if (!isset($form->metacourse)) {
+ $form->metacourse = 0;
}
?>
<form method="post" action="edit.php" name="form">
if (empty($disable_meta)) {
$meta[0] = get_string('no');
$meta[1] = get_string('yes');
- choose_from_menu($meta,"meta_course",$form->meta_course,"","","");
+ choose_from_menu($meta,"metacourse",$form->metacourse,"","","");
} else {
- echo ((empty($form->meta_course)) ? get_string("no") : get_string("yes"));
+ echo ((empty($form->metacourse)) ? get_string("no") : get_string("yes"));
echo " - $disable_meta ";
} ?> <?php print_string("managemetaexplan"); ?>
</td>
if (course_in_meta($course)) {
$disable_meta = get_string('metaalreadyinmeta');
}
- else if ($course->meta_course) {
- if (count_records("meta_course","parent_course",$course->id) > 0) {
+ else if ($course->metacourse) {
+ if (count_records("course_meta","parent_course",$course->id) > 0) {
$disable_meta = get_string('metaalreadyhascourses');
}
}
require_login($course->id);
- if (!$course->meta_course) {
+ if (!$course->metacourse) {
redirect("$CFG->wwwroot/course/student.php?id=$course->id");
}
* This function will return true if the given course is a child course at all
*/
function course_in_meta ($course) {
- return record_exists("meta_course","child_course",$course->id);
+ return record_exists("course_meta","child_course",$course->id);
}
?>
error("Course ID was incorrect (can't find it)");
}
- if ($course->meta_course) {
+ if ($course->metacourse) {
redirect("$CFG->wwwroot/course/importstudents.php?id=$course->id");
}
function get_courses_in_metacourse($metacourseid) {
global $CFG;
- $sql = "SELECT c.id,c.shortname,c.fullname FROM {$CFG->prefix}course c, {$CFG->prefix}meta_course mc WHERE mc.parent_course = $metacourseid
+ $sql = "SELECT c.id,c.shortname,c.fullname FROM {$CFG->prefix}course c, {$CFG->prefix}course_meta mc WHERE mc.parent_course = $metacourseid
AND mc.child_course = c.id";
return get_records_sql($sql);
else {
$sql = "SELECT c.id,c.shortname,c.fullname";
}
- $sql .= " FROM {$CFG->prefix}course c LEFT JOIN {$CFG->prefix}meta_course mc ON mc.child_course = c.id
+ $sql .= " FROM {$CFG->prefix}course c LEFT JOIN {$CFG->prefix}course_meta mc ON mc.child_course = c.id
WHERE (mc.parent_course IS NULL OR mc.parent_course != $metacourseid) AND c.id != $metacourseid AND c.id != $site->id";
return get_records_sql($sql);
table_column('course','','meta_course','integer','1','','0','not null');
}
+ if ($oldversion < 2005012501) {
+ execute_sql("DROP TABLE {$CFG->prefix}meta_course",false); // drop silently
+ execute_sql("ALTER TABLE {$CFG->prefix}course DROP COLUMN meta_course",false); // drop silently
+
+ // add new table for meta courses.
+ modify_database("","CREATE TABLE `prefix_course_meta` (
+ `id` int(1) unsigned NOT NULL auto_increment,
+ `parent_course` int(10) NOT NULL default 0,
+ `child_course` int(10) NOT NULL default 0,
+ PRIMARY KEY (`id`),
+ KEY `parent_course` (parent_course),
+ KEY `child_course` (child_course)
+ );");
+ // add flag to course field
+ table_column('course','','metacourse','integer','1','','0','not null');
+ }
+
return $result;
}
`cost` varchar(10) NOT NULL default '',
`timecreated` int(10) unsigned NOT NULL default '0',
`timemodified` int(10) unsigned NOT NULL default '0',
- `meta_course` int(1) unsigned NOT NULL default '0',
+ `metacourse` int(1) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `category` (`category`),
KEY `idnumber` (`idnumber`),
) TYPE=MyISAM COMMENT='One record per course creator';
-CREATE TABLE `prefix_meta_course` (
+CREATE TABLE `prefix_course_meta` (
`id` int(1) unsigned NOT NULL auto_increment,
`parent_course` int(10) NOT NULL default 0,
`child_course` int(10) NOT NULL default 0,
table_column('course','','meta_course','integer','1','','0','not null');
}
+ if ($oldversion < 2005012501) { //fix table names for consistency
+ execute_sql("DROP TABLE {$CFG->prefix}meta_course",false); // drop silently
+ execute_sql("ALTER TABLE {$CFG->prefix}course DROP COLUMN meta_course",false); // drop silently
+
+ modify_database("","CREATE TABLE prefix_course_meta (
+ id SERIAL primary key,
+ parent_course integer NOT NULL,
+ child_course integer NOT NULL
+ );");
+
+ modify_database("","CREATE INDEX prefix_course_meta_parent_idx ON prefix_course_meta (parent_course);");
+ modify_database("","CREATE INDEX prefix_course_meta_child_idx ON prefix_course_meta (child_course);");
+ table_column('course','','metacourse','integer','1','','0','not null');
+ }
+
return $result;
}
cost varchar(10) NOT NULL default '',
timecreated integer NOT NULL default '0',
timemodified integer NOT NULL default '0',
- meta_course integer NOT NULL default '0'
+ metacourse integer NOT NULL default '0'
);
CREATE UNIQUE INDEX prefix_course_category_sortorder_uk ON prefix_course (category,sortorder);
userid int8 NOT NULL default '0'
);
-CREATE TABLE prefix_meta_course (
+CREATE TABLE prefix_course_meta (
id SERIAL primary key,
parent_course integer NOT NULL,
child_course integer NOT NULL
);
-CREATE INDEX prefix_meta_course_parent_idx ON prefix_meta_course (parent_course);
-CREATE INDEX prefix_meta_course_child_idx ON prefix_meta_course (child_course);
+CREATE INDEX prefix_course_meta_parent_idx ON prefix_course_meta (parent_course);
+CREATE INDEX prefix_course_meta_child_idx ON prefix_course_meta (child_course);
INSERT INTO prefix_log_display VALUES ('user', 'view', 'user', 'firstname||\' \'||lastname');
INSERT INTO prefix_log_display VALUES ('course', 'user report', 'user', 'firstname||\' \'||lastname');
global $CFG;
- if (!$courses = get_records_sql("SELECT DISTINCT parent_course,1 FROM {$CFG->prefix}meta_course")) {
+ if (!$courses = get_records_sql("SELECT DISTINCT parent_course,1 FROM {$CFG->prefix}course_meta")) {
return;
}
}
- if (count_records('meta_course','parent_course',$metacourseid) == 0) { // if there are no child courses for this meta course, nuke the enrolments
+ if (count_records('course_meta','parent_course',$metacourseid) == 0) { // if there are no child courses for this meta course, nuke the enrolments
if ($enrolments = get_records('user_students','course',$metacourseid,'','userid,1')) {
foreach ($enrolments as $enrolment) {
unenrol_student($enrolment->userid,$metacourseid);
// this will return a list of userids from user_student for enrolments in the metacourse that shouldn't be there.
$sql = "SELECT DISTINCT parent.userid,1
- FROM {$CFG->prefix}meta_course meta
+ FROM {$CFG->prefix}course_meta meta
JOIN {$CFG->prefix}user_students parent
ON meta.parent_course = parent.course
AND meta.parent_course = $metacourseid
// this will return a list of userids that need to be enrolled in the metacourse
$sql = "SELECT DISTINCT child.userid,1
- FROM {$CFG->prefix}meta_course meta
+ FROM {$CFG->prefix}course_meta meta
JOIN {$CFG->prefix}user_students child
ON meta.child_course = child.course
AND meta.parent_course = $metacourseid
if ($enrolments = get_records('user_students','course',$metacourseid,'','id,userid')) {
foreach ($enrolments as $enrol) {
if ($maxmin = get_record_sql("SELECT min(timestart) AS timestart, max(timeend) AS timeend
- FROM mdl_user_students u JOIN mdl_meta_course mc ON u.course = mc.child_course WHERE userid = $enrol->userid
+ FROM mdl_user_students u JOIN {$CFG->prefix}course_meta mc ON u.course = mc.child_course WHERE userid = $enrol->userid
AND mc.parent_course = $metacourseid")) {
$enrol->timestart = $maxmin->timestart;
$enrol->timeend = $maxmin->timeend;
return false;
}
- if (!$record = get_record("meta_course","parent_course",$metacourseid,"child_course",$courseid)) {
+ if (!$record = get_record("course_meta","parent_course",$metacourseid,"child_course",$courseid)) {
$rec->parent_course = $metacourseid;
$rec->child_course = $courseid;
- if (!insert_record('meta_course',$rec)) {
+ if (!insert_record('course_meta',$rec)) {
return false;
}
return sync_metacourse($metacourseid);
*/
function remove_from_metacourse($metacourseid, $courseid) {
- if (delete_records('meta_course','parent_course',$metacourseid,'child_course',$courseid)) {
+ if (delete_records('course_meta','parent_course',$metacourseid,'child_course',$courseid)) {
return sync_metacourse($metacourseid);
}
return false;
return false;
}
// enrol the student in any parent meta courses...
- if ($parents = get_records('meta_course','child_course',$courseid)) {
+ if ($parents = get_records('course_meta','child_course',$courseid)) {
foreach ($parents as $parent) {
enrol_student($userid, $parent->parent_course,$timestart,$timeend,$enrol);
}
}
}
// enrol the student in any parent meta courses...
- if ($parents = get_records('meta_course','child_course',$courseid)) {
+ if ($parents = get_records('course_meta','child_course',$courseid)) {
foreach ($parents as $parent) {
unenrol_student($userid, $parent->parent_course);
}
$result = false;
}
- if ($course->meta_course) {
- delete_records("meta_course","parent_course",$course->id);
+ if ($course->metacourse) {
+ delete_records("course_meta","parent_course",$course->id);
sync_metacourse($course->id); // have to do it here so the enrolments get nuked. sync_metacourses won't find it without the id.
if ($showfeedback) {
- notify("$strdeleted meta_course");
+ notify("$strdeleted course_meta");
}
}
else {
- if ($parents = get_records("meta_course","child_course",$course->id)) {
+ if ($parents = get_records("course_meta","child_course",$course->id)) {
foreach ($parents as $parent) {
remove_from_metacourse($parent->parent_course,$parent->child_course); // this will do the unenrolments as well.
}
if ($showfeedback) {
- notify("$strdeleted meta_course");
+ notify("$strdeleted course_meta");
}
}
}
// This is compared against the values stored in the database to determine
// whether upgrades should be performed (see lib/db/*.php)
- $version = 2005012500; // YYYYMMDD = date of first major branch release 1.4
+ $version = 2005012501; // YYYYMMDD = date of first major branch release 1.4
// XY = increments within a single day
$release = '1.5 UNSTABLE DEVELOPMENT'; // Human-friendly version name