From: skodak Date: Thu, 9 Nov 2006 21:12:31 +0000 (+0000) Subject: Child courses import list empty MDL-7424; added new count_courses_notin_metacourse... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=493cde249e69caf2cbb18e75d584c6d9695e0130;p=moodle.git Child courses import list empty MDL-7424; added new count_courses_notin_metacourse() function, the old one was kept for BC --- diff --git a/course/importstudents.php b/course/importstudents.php index 91f6117355..6e9d820a7e 100644 --- a/course/importstudents.php +++ b/course/importstudents.php @@ -110,13 +110,12 @@ /// If no search results then get potential students for this course excluding users already in course if (empty($searchcourses)) { + $numcourses = count_courses_notin_metacourse($course->id); - $numcourses = get_courses_notin_metacourse($course->id,true); - - $courses = array(); - - if ($numcourses <= MAX_COURSES_PER_PAGE) { + if ($numcourses > 0 and $numcourses <= MAX_COURSES_PER_PAGE) { $courses = get_courses_notin_metacourse($course->id); + } else { + $courses = array(); } } diff --git a/lib/datalib.php b/lib/datalib.php index e0e11364ba..eff8d5d9e7 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -97,6 +97,22 @@ function get_courses_notin_metacourse($metacourseid,$count=false) { return get_records_sql($sql); } +function count_courses_notin_metacourse($metacourseid) { + global $CFG; + + $alreadycourses = get_courses_in_metacourse($metacourseid); + + $sql = "SELECT 1, COUNT(c.id) AS notin FROM {$CFG->prefix}course c + WHERE ".((!empty($alreadycourses)) ? "c.id NOT IN (".implode(',',array_keys($alreadycourses)).") + AND " : "")." c.id !=$metacourseid and c.id != ".SITEID." and c.metacourse != 1"; + + if (!$result = get_records_sql($sql)) { + return 0; + } + + return $result[1]->notin; +} + /** * Search through course users *