From 9d361034ece4418888e846fffb065cab230e51da Mon Sep 17 00:00:00 2001 From: moodler Date: Mon, 26 Apr 2004 15:31:22 +0000 Subject: [PATCH] Much requested: Uploaded resources are now shown using the relevant icon. --- course/lib.php | 25 +++++++++++++++++++++---- mod/label/lib.php | 6 ++++-- mod/resource/lib.php | 17 +++++++++++++++-- 3 files changed, 40 insertions(+), 8 deletions(-) diff --git a/course/lib.php b/course/lib.php index c7801c1dfc..3198140d83 100644 --- a/course/lib.php +++ b/course/lib.php @@ -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[] = "modpixpath/$mod->modname/icon.gif\"". + $modicon[] = "\"$mod-modfullname\">"; $moddata[] = "modfullname\" $linkcss $extra". "href=\"$CFG->wwwroot/mod/$mod->modname/view.php?id=$mod->id\">$instancename". @@ -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 "modpixpath/$mod->modname/icon.gif\"". + echo "\"$mod-modfullname\">". " modfullname\" $linkcss $extra". " href=\"$CFG->wwwroot/mod/$mod->modname/view.php?id=$mod->id\">$instancename"; diff --git a/mod/label/lib.php b/mod/label/lib.php index 74c7fd366a..628b010833 100644 --- a/mod/label/lib.php +++ b/mod/label/lib.php @@ -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; } ?> diff --git a/mod/resource/lib.php b/mod/resource/lib.php index e4129d0494..fd5735604f 100644 --- a/mod/resource/lib.php +++ b/mod/resource/lib.php @@ -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 = "" ) { -- 2.39.5