]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-7547 yet more speed improvements in rebuild_course_cache() ; merged from MOODLE_1...
authorskodak <skodak>
Fri, 1 Feb 2008 08:15:38 +0000 (08:15 +0000)
committerskodak <skodak>
Fri, 1 Feb 2008 08:15:38 +0000 (08:15 +0000)
course/lib.php
mod/assignment/lib.php
mod/label/lib.php
mod/resource/lib.php

index 8f0c9dd3e6e9d871809ab6262b9c47db8e346d18..10748800f160443f577c8fa3bda80cfd679b9727 100644 (file)
@@ -974,7 +974,6 @@ function get_array_of_activities($courseid) {
                    $mod[$seq]->cm               = $rawmods[$seq]->id;
                    $mod[$seq]->mod              = $rawmods[$seq]->modname;
                    $mod[$seq]->section          = $section->section;
-                   $mod[$seq]->name             = urlencode(get_field($rawmods[$seq]->modname, "name", "id", $rawmods[$seq]->instance));
                    $mod[$seq]->visible          = $rawmods[$seq]->visible;
                    $mod[$seq]->groupmode        = $rawmods[$seq]->groupmode;
                    $mod[$seq]->groupingid       = $rawmods[$seq]->groupingid;
@@ -994,8 +993,14 @@ function get_array_of_activities($courseid) {
                            if (!empty($info->icon)) {
                                $mod[$seq]->icon = $info->icon;
                            }
+                           if (!empty($info->name)) {
+                               $mod[$seq]->name = urlencode($info->name);
+                           }
                        }
                    }
+                   if (!isset($mod[$seq]->name)) {
+                       $mod[$seq]->name = urlencode(get_field($rawmods[$seq]->modname, "name", "id", $rawmods[$seq]->instance));
+                   }
                }
             }
         }
index 59ab2386ab0879116f69994b0b0f552d3befbef3..96127a5184fca5dc22ae3ebe9bf7aba0be80a6bf 100644 (file)
@@ -2744,20 +2744,26 @@ function assignment_get_all_submissions($assignment, $sort="", $dir="DESC") {
 function assignment_get_coursemodule_info($coursemodule) {
     global $CFG;
 
-    if (! $type = get_field('assignment', 'assignmenttype', 'id', $coursemodule->instance)) {
+    if (! $assignment = get_record('assignment', 'id', $coursemodule->instance, '', '', '', '', 'id, assignmenttype, name')) {
         return false;
     }
 
-    $libfile = "$CFG->dirroot/mod/assignment/type/$type/assignment.class.php";
+    $libfile = "$CFG->dirroot/mod/assignment/type/$assignment->assignmenttype/assignment.class.php";
 
     if (file_exists($libfile)) {
         require_once($libfile);
-        $assignmentclass = "assignment_$type";
+        $assignmentclass = "assignment_$assignment->assignmenttype";
         $ass = new $assignmentclass('staticonly');
-        return $ass->get_coursemodule_info($coursemodule);
+        if ($result = $ass->get_coursemodule_info($coursemodule)) { 
+            return $result;
+        } else {
+            $info = new object();
+            $info->name = $assignment->name;
+            return $info;
+        } 
 
     } else {
-        debugging('Incorrect assignment type: '.$type);
+        debugging('Incorrect assignment type: '.$assignment->assignmenttype);
         return false;
     }
 }
index e4425f26820f36b56ec0918980be51cd6b68395d..fbfa48b160b3d3fafdba49a04c0e839ed55f4676 100644 (file)
@@ -71,9 +71,10 @@ function label_get_participants($labelid) {
  * See get_array_of_activities() in course/lib.php
  */
 function label_get_coursemodule_info($coursemodule) {
-    if ($content = get_field('label', 'content', 'id', $coursemodule->instance)) {
+    if ($label = get_record('label', 'id', $coursemodule->instance, '', '', '', '', 'id, content, name')) {
         $info = new object();
-        $info->extra = urlencode($content);
+        $info->extra = urlencode($label->content);
+        $info->name = urlencode($label->name);
         return $info;
     } else {
         return null;
index e89605dbd74b0f2157a4ae748848f1ab804e392d..3cc8b2d62c08a889c1e0a32ed04faa9414ff6655 100644 (file)
@@ -349,8 +349,9 @@ function resource_get_coursemodule_info($coursemodule) {
 
    $info = NULL;
 
-   if ($resource = get_record("resource", "id", $coursemodule->instance, '', '', '', '', 'id, popup, reference, type')) {
+   if ($resource = get_record("resource", "id", $coursemodule->instance, '', '', '', '', 'id, popup, reference, type, name')) {
        $info = new object();
+       $info->name = $resource->name;
        if (!empty($resource->popup)) {
            $info->extra =  urlencode("onclick=\"this.target='resource$resource->id'; return ".
                             "openpopup('/mod/resource/view.php?inpopup=true&amp;id=".