From: skodak Date: Fri, 1 Feb 2008 14:10:49 +0000 (+0000) Subject: MDL-12945 changing get_fast_modinfo() section property to sectionnum to prevent confl... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=76cbde4138389696c1849ba76d641cc812da48ee;p=moodle.git MDL-12945 changing get_fast_modinfo() section property to sectionnum to prevent conflicts with real cm->section; full recent activity speedup when printing user pictures in forum; merged from MOODLE_19_STABLE --- diff --git a/course/lib.php b/course/lib.php index 10748800f1..9f1a5353a7 100644 --- a/course/lib.php +++ b/course/lib.php @@ -1083,7 +1083,7 @@ function &get_fast_modinfo(&$course, $userid=0) { $cm->modname = $mod->mod; $cm->name = urldecode($mod->name); $cm->visible = $mod->visible; - $cm->section = $mod->section; + $cm->sectionnum = $mod->section; $cm->groupmode = $mod->groupmode; $cm->groupingid = $mod->groupingid; $cm->groupmembersonly = $mod->groupmembersonly; @@ -1117,14 +1117,15 @@ function &get_fast_modinfo(&$course, $userid=0) { $modinfo->cms[$cm->id] =& $cm; // reconstruct sections - if (!isset($modinfo->sections[$cm->section])) { - $modinfo->sections[$cm->section] = array(); + if (!isset($modinfo->sections[$cm->sectionnum])) { + $modinfo->sections[$cm->sectionnum] = array(); } - $modinfo->sections[$cm->section][] = $cm->id; + $modinfo->sections[$cm->sectionnum][] = $cm->id; unset($cm); } + unset($cache[$course->id]); // prevent potential reference problems when switching users $cache[$course->id] = $modinfo; return $cache[$course->id]; diff --git a/course/recent.php b/course/recent.php index 9a0d08a21a..c94e6ddb77 100644 --- a/course/recent.php +++ b/course/recent.php @@ -96,7 +96,7 @@ } } else if (is_numeric($param->modid)) { - $section = $sections[$modinfo->cms[$param->modid]->section]; + $section = $sections[$modinfo->cms[$param->modid]->sectionnum]; $section->sequence = $param->modid; $sections = array($section->sequence=>$section); } @@ -186,6 +186,7 @@ $section = 0; $activity_count = count($activities); + $viewfullnames = array(); foreach ($activities as $key => $activity) { @@ -228,6 +229,11 @@ } else { + if (!isset($viewfullnames[$activity->cmid])) { + $cm_context = get_context_instance(CONTEXT_MODULE, $activity->cmid); + $viewfullnames[$activity->cmid] = has_capability('moodle/site:viewfullnames', $cm_context); + } + if (!$inbox) { print_simple_box_start('center', '90%'); $inbox = true; @@ -236,7 +242,7 @@ $print_recent_mod_activity = $activity->type.'_print_recent_mod_activity'; if (function_exists($print_recent_mod_activity)) { - $print_recent_mod_activity($activity, $course->id, $detail, $modnames); + $print_recent_mod_activity($activity, $course->id, $detail, $modnames, $viewfullnames[$activity->cmid]); } } } diff --git a/lib/weblib.php b/lib/weblib.php index 50a353f832..1787eb6ae4 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -5276,7 +5276,7 @@ function navmenu($course, $cm=NULL, $targetwindow='self') { continue; } - if ($mod->section > $course->numsections) { /// Don't show excess hidden sections + if ($mod->sectionnum > $course->numsections) { /// Don't show excess hidden sections break; } @@ -5284,14 +5284,14 @@ function navmenu($course, $cm=NULL, $targetwindow='self') { continue; } - if ($mod->section > 0 and $section != $mod->section) { - $thissection = $sections[$mod->section]; + if ($mod->sectionnum > 0 and $section != $mod->sectionnum) { + $thissection = $sections[$mod->sectionnum]; if ($thissection->visible or !$course->hiddensections or has_capability('moodle/course:viewhiddensections', $context)) { $thissection->summary = strip_tags(format_string($thissection->summary,true)); if ($course->format == 'weeks' or empty($thissection->summary)) { - $menu[] = '--'.$strsection ." ". $mod->section; + $menu[] = '--'.$strsection ." ". $mod->sectionnum; } else { if (strlen($thissection->summary) < ($width-3)) { $menu[] = '--'.$thissection->summary; @@ -5299,7 +5299,7 @@ function navmenu($course, $cm=NULL, $targetwindow='self') { $menu[] = '--'.substr($thissection->summary, 0, $width).'...'; } } - $section = $mod->section; + $section = $mod->sectionnum; } else { // no activities from this hidden section shown continue; @@ -5396,7 +5396,7 @@ function navmenulist($course, $sections, $modinfo, $strsection, $strjumpto, $wid continue; } - if ($mod->section > $course->numsections) { /// Don't show excess hidden sections + if ($mod->sectionnum > $course->numsections) { /// Don't show excess hidden sections break; } @@ -5404,8 +5404,8 @@ function navmenulist($course, $sections, $modinfo, $strsection, $strjumpto, $wid continue; } - if ($mod->section >= 0 and $section != $mod->section) { - $thissection = $sections[$mod->section]; + if ($mod->sectionnum >= 0 and $section != $mod->sectionnum) { + $thissection = $sections[$mod->sectionnum]; if ($thissection->visible or !$course->hiddensections or has_capability('moodle/course:viewhiddensections', $coursecontext)) { @@ -5414,7 +5414,7 @@ function navmenulist($course, $sections, $modinfo, $strsection, $strjumpto, $wid $menu[] = ''; } if ($course->format == 'weeks' or empty($thissection->summary)) { - $item = $strsection ." ". $mod->section; + $item = $strsection ." ". $mod->sectionnum; } else { if (strlen($thissection->summary) < ($width-3)) { $item = $thissection->summary; @@ -5426,7 +5426,7 @@ function navmenulist($course, $sections, $modinfo, $strsection, $strjumpto, $wid $menu[] = '