diff -Naur moodle-1.9.4/course/lib.php rev-6/course/lib.php
--- moodle-1.9.4/course/lib.php 2009-01-14 15:06:51.000000000 -0800
+++ rev-6/course/lib.php 2009-02-13 11:33:48.000000000 -0800
@@ -1814,9 +1814,12 @@
}
echo "\n\n".'
';
-
- $courses = get_courses($category->id, 'c.sortorder ASC', 'c.id,c.sortorder,c.visible,c.fullname,c.shortname,c.password,c.summary,c.guest,c.cost,c.currency');
+
if ($showcourses and $coursecount) {
+
+ // Memory/speed optimization
+ $courses = get_courses($category->id, 'c.sortorder ASC', 'c.id,c.sortorder,c.visible,c.fullname,c.shortname,c.password,c.summary,c.guest,c.cost,c.currency');
+ // End Mod
echo '';
@@ -1870,6 +1873,10 @@
}
}
} else {
+
+ // Memory/speed optimization
+ $coursecount = get_course_count($category->id);
+ // End Mod
echo '
';
@@ -1884,9 +1891,11 @@
echo ''. format_string($category->name).'';
echo '';
echo '| ';
- if (count($courses)) {
- echo count($courses);
+ // Memory/speed optimization
+ if ($coursecount) {
+ echo($coursecount);
}
+ // End Mod
echo ' |
';
}
echo '
';
diff -Naur moodle-1.9.4/lib/datalib.php rev-6/lib/datalib.php
--- moodle-1.9.4/lib/datalib.php 2009-01-14 15:06:56.000000000 -0800
+++ rev-6/lib/datalib.php 2009-02-13 11:33:48.000000000 -0800
@@ -469,6 +469,43 @@
}
+
+
+/**
+ * Returns number of courses
+ *
+ * Returns number of courses, for whole site, or category
+ *
+ * @param mixed categoryid Id of category, or 'all' for whole site
+ *
+ */
+function get_course_count($categoryid="all") {
+
+ global $USER, $CFG;
+
+ if ($categoryid != "all" && is_numeric($categoryid)) {
+ $categoryselect = "WHERE c.category = '$categoryid'";
+ } else {
+ $categoryselect = "";
+ }
+
+ // pull out all course matching the cat
+ if ($coursecount = get_records_sql("SELECT COUNT(c.id) AS count
+ FROM {$CFG->prefix}course c
+ JOIN {$CFG->prefix}context ctx
+ ON (c.id = ctx.instanceid
+ AND ctx.contextlevel=".CONTEXT_COURSE.")
+ $categoryselect")) {
+
+ $coursecount = array_keys($coursecount);
+ return $coursecount[0];
+ }
+ return false;
+}
+
+
+
+
/**
* Returns list of courses, for whole site, or category
*