]> git.mjollnir.org Git - moodle.git/commitdiff
Child courses import list empty MDL-7424; added new count_courses_notin_metacourse...
authorskodak <skodak>
Thu, 9 Nov 2006 21:12:31 +0000 (21:12 +0000)
committerskodak <skodak>
Thu, 9 Nov 2006 21:12:31 +0000 (21:12 +0000)
course/importstudents.php
lib/datalib.php

index 91f6117355293220298cd173201005673b2f7147..6e9d820a7e1bd98b22d2b02d8ea4950e35c59438 100644 (file)
 
 /// 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();
         }
     }
 
index e0e11364ba22fba006d508933b26a40f642cd6ea..eff8d5d9e7365cdf1baee6aabd2b9f7a10f6bd46 100644 (file)
@@ -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
  *