From: fmarier Date: Fri, 3 Apr 2009 01:13:42 +0000 (+0000) Subject: mod/resource: MDL-18641 ability for resource type plugins to specify their own icon X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=c93dae38f07fed6a31bea7b056ba7fd4be53c106;p=moodle.git mod/resource: MDL-18641 ability for resource type plugins to specify their own icon --- diff --git a/course/lib.php b/course/lib.php index cb1d073114..2d906cf150 100644 --- a/course/lib.php +++ b/course/lib.php @@ -1483,8 +1483,13 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false, } else { // Normal activity $instancename = format_string($modinfo->cms[$modnumber]->name, true, $course->id); - if (!empty($modinfo->cms[$modnumber]->icon)) { - $icon = "$CFG->pixpath/".$modinfo->cms[$modnumber]->icon; + $customicon = $modinfo->cms[$modnumber]->icon; + if (!empty($customicon)) { + if (substr($customicon, 0, 4) === 'mod/') { + $icon = "$CFG->modpixpath/".substr($customicon, 4); + } else { + $icon = "$CFG->pixpath/".$customicon; + } } else { $icon = "$CFG->modpixpath/$mod->modname/icon.gif"; } @@ -1492,8 +1497,8 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false, //Accessibility: for files get description via icon. $altname = ''; if ('resource'==$mod->modname) { - if (!empty($modinfo->cms[$modnumber]->icon)) { - $possaltname = $modinfo->cms[$modnumber]->icon; + if (!empty($customicon)) { + $possaltname = $customicon; $mimetype = mimeinfo_from_icon('type', $possaltname); $altname = get_mimetype_description($mimetype); diff --git a/mod/resource/lib.php b/mod/resource/lib.php index b14e78411e..17e5d510d2 100644 --- a/mod/resource/lib.php +++ b/mod/resource/lib.php @@ -387,6 +387,7 @@ function resource_get_coursemodule_info($coursemodule) { require_once($CFG->libdir.'/filelib.php'); + $customicon = $CFG->dirroot.'/mod/resource/type/'.$resource->type.'/icon.gif'; if ($resource->type == 'file') { $icon = mimeinfo("icon", $resource->reference); if ($icon != 'unknown.gif') { @@ -396,6 +397,8 @@ function resource_get_coursemodule_info($coursemodule) { } } else if ($resource->type == 'directory') { $info->icon ="f/folder.gif"; + } else if (file_exists($customicon)) { + $info->icon ='mod/resource/type/'.$resource->type.'/icon.gif'; } }