]> git.mjollnir.org Git - moodle.git/commitdiff
mod/resource: MDL-18641 ability for resource type plugins to specify their own icon
authorfmarier <fmarier>
Fri, 3 Apr 2009 01:13:42 +0000 (01:13 +0000)
committerfmarier <fmarier>
Fri, 3 Apr 2009 01:13:42 +0000 (01:13 +0000)
course/lib.php
mod/resource/lib.php

index cb1d073114f1db25c894b2726703ff19c29191f5..2d906cf1504e596f59c3eb1fd3b51812602d0a92 100644 (file)
@@ -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);
index b14e78411e77844067d144b0c7e4c78c5c59b5b6..17e5d510d2693fd0f9e4d4dfb258e88e1b220f67 100644 (file)
@@ -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';
        }
    }