]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-12263, under certain conditions, $catctxids is NULL, so an if statement should...
authordongsheng <dongsheng>
Thu, 20 Mar 2008 07:20:00 +0000 (07:20 +0000)
committerdongsheng <dongsheng>
Thu, 20 Mar 2008 07:20:00 +0000 (07:20 +0000)
lib/datalib.php

index 8492806c6d622365fcba28a951d0ae133046ed47..4105429e83dfa564bd5ec444159c1d7cd5ea8181 100644 (file)
@@ -685,7 +685,8 @@ function get_courses_wmanagers($categoryid=0, $sort="c.sortorder ASC", $fields=a
             }
             $ctxids = array_unique($ctxids);
             $catctxids = implode( ',' , $ctxids);
-            unset($catpaths);unset($cpath);
+            unset($catpaths);
+            unset($cpath);
         } else {
             // take the ctx path from the first course
             // as all categories will be the same...
@@ -718,12 +719,17 @@ function get_courses_wmanagers($categoryid=0, $sort="c.sortorder ASC", $fields=a
                   ON ra.roleid = r.id
                 LEFT OUTER JOIN {$CFG->prefix}course c
                   ON (ctx.instanceid=c.id AND ctx.contextlevel=".CONTEXT_COURSE.")
-                WHERE (  c.id IS NOT NULL
-                         OR ra.contextid  IN ($catctxids) )
-                      AND ra.roleid IN ({$CFG->coursemanager})
+                WHERE ( c.id IS NOT NULL";
+        // under certain conditions, $catctxids is NULL
+        if($catctxids == NULL){
+            $sql .= ") ";
+        }else{
+            $sql .= " OR ra.contextid  IN ($catctxids) )";
+        }
+
+        $sql .= "AND ra.roleid IN ({$CFG->coursemanager})
                       $categoryclause
                 ORDER BY r.sortorder ASC, ctx.contextlevel ASC, ra.sortorder ASC";
-
         $rs = get_recordset_sql($sql);
 
         // This loop is fairly stupid as it stands - might get better