]> git.mjollnir.org Git - moodle.git/commitdiff
Much requested: Uploaded resources are now shown using the relevant icon.
authormoodler <moodler>
Mon, 26 Apr 2004 15:31:22 +0000 (15:31 +0000)
committermoodler <moodler>
Mon, 26 Apr 2004 15:31:22 +0000 (15:31 +0000)
course/lib.php
mod/label/lib.php
mod/resource/lib.php

index c7801c1dfc017019301c3ae41a8e9a413b7fee30..3198140d83b5753af30ac80b3b3794c6d3fe0ca0 100644 (file)
@@ -660,8 +660,13 @@ function get_array_of_activities($courseid) {
                    include_once("$CFG->dirroot/mod/$modname/lib.php");
 
                    if (function_exists($functionname)) {
-                       if ($extra = $functionname($rawmods[$seq])) {
-                           $mod[$seq]->extra = $extra;
+                       if ($info = $functionname($rawmods[$seq])) {
+                           if (!empty($info->extra)) {
+                               $mod[$seq]->extra = $info->extra;
+                           }
+                           if (!empty($info->icon)) {
+                               $mod[$seq]->icon = $info->icon;
+                           }
                        }
                    }
                }
@@ -832,11 +837,17 @@ function print_section_block($heading, $course, $section, $mods, $modnames, $mod
                     $extra = "";
                 }
 
+                if (!empty($modinfo[$modnumber]->icon)) {
+                    $icon = "$CFG->pixpath/".urldecode($modinfo[$modnumber]->icon);
+                } else {
+                    $icon = "$CFG->modpixpath/$mod->modname/icon.gif";
+                }
+
                 if ($mod->modname == "label") {
                     $modicon[] = "";
                     $moddata[] = format_text($extra, FORMAT_HTML).$editbuttons;
                 } else {
-                    $modicon[] = "<img src=\"$CFG->modpixpath/$mod->modname/icon.gif\"".
+                    $modicon[] = "<img src=\"$icon\"".
                                  " height=\"16\" width=\"16\" alt=\"$mod->modfullname\">";
                     $moddata[] = "<a title=\"$mod->modfullname\" $linkcss $extra".
                                  "href=\"$CFG->wwwroot/mod/$mod->modname/view.php?id=$mod->id\">$instancename</a>".
@@ -924,6 +935,12 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false,
                     $extra = "";
                 }
 
+                if (!empty($modinfo[$modnumber]->icon)) {
+                    $icon = "$CFG->pixpath/".urldecode($modinfo[$modnumber]->icon);
+                } else {
+                    $icon = "$CFG->modpixpath/$mod->modname/icon.gif";
+                }
+
                 if ($mod->indent) {
                     print_spacer(12, 20 * $mod->indent, false);
                 }
@@ -939,7 +956,7 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false,
 
                 } else { // Normal activity
                     $linkcss = $mod->visible ? "" : " class=\"dimmed\" ";
-                    echo "<img src=\"$CFG->modpixpath/$mod->modname/icon.gif\"".
+                    echo "<img src=\"$icon\"".
                          " height=16 width=16 alt=\"$mod->modfullname\">".
                          " <font size=2><a title=\"$mod->modfullname\" $linkcss $extra".
                          " href=\"$CFG->wwwroot/mod/$mod->modname/view.php?id=$mod->id\">$instancename</a></font>";
index 74c7fd366a4032929ad4296381f513b9eb761509..628b0108331f036fb612e830e37246c66873acae 100644 (file)
@@ -69,11 +69,13 @@ function label_get_coursemodule_info($coursemodule) {
 ///
 /// See get_array_of_activities() in course/lib.php
 
+   $info = NULL;
+
    if ($label = get_record("label", "id", $coursemodule->instance)) {
-       return urlencode($label->content);
+       $info->extra = urlencode($label->content);
    }
 
-   return false;
+   return $info;
 }
 
 ?>
index e4129d0494e14700b4d30660a72ae5f6256542cc..fd5735604f4778e3af76148be8641a9ebc7c9b20 100644 (file)
@@ -170,16 +170,29 @@ function resource_get_coursemodule_info($coursemodule) {
 /// See get_array_of_activities() in course/lib.php
 ///
 
+   global $CFG;
+
+   $info = NULL;
+
    if ($resource = get_record("resource", "id", $coursemodule->instance)) {
        if (($resource->type == UPLOADEDFILE or $resource->type == WEBLINK) and !empty($resource->alltext)) {
-           return urlencode("target=\"resource$resource->id\" onClick=\"return ".
+           $info->extra =  urlencode("target=\"resource$resource->id\" onClick=\"return ".
                             "openpopup('/mod/resource/view.php?inpopup=true&id=".
                             $coursemodule->id.
                             "','resource$resource->id','$resource->alltext');\"");
        }
+
+       require_once("$CFG->dirroot/files/mimetypes.php");
+
+       if ($resource->type == UPLOADEDFILE) {
+              $icon = mimeinfo("icon", $resource->reference);
+           if ($icon != 'unknown.gif') {
+                      $info->icon ="f/$icon";
+           }
+       }
    }
 
-   return false;
+   return $info;
 }
  
 function resource_fetch_remote_file ($cm, $url, $headers = "" ) {