From: willcast Date: Thu, 27 Nov 2003 19:09:47 +0000 (+0000) Subject: - External webpage resources now are parsed and automatic links are added to the... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=8367faba8b9736fae909a5aee177e4075b408233;p=moodle.git - External webpage resources now are parsed and automatic links are added to the glossary terms... Only if $CFG->filterexternalpages is enabled. --- diff --git a/mod/resource/fetch.php b/mod/resource/fetch.php index d200ab0807..a9667ede36 100644 --- a/mod/resource/fetch.php +++ b/mod/resource/fetch.php @@ -19,7 +19,7 @@ error("Resource ID was incorrect"); } - $content = resource_fetch_remote_file($url); + $content = resource_fetch_remote_file($cm, $url); echo format_text($content->results,FORMAT_HTML); ?> \ No newline at end of file diff --git a/mod/resource/lib.php b/mod/resource/lib.php index 6acb902d1f..c17b19411a 100644 --- a/mod/resource/lib.php +++ b/mod/resource/lib.php @@ -161,7 +161,7 @@ function resource_get_coursemodule_info($coursemodule) { return false; } -function resource_fetch_remote_file ($url, $headers = "" ) { +function resource_fetch_remote_file ($cm, $url, $headers = "" ) { // Snoopy is an HTTP client in PHP $client = new Snoopy(); $client->agent = MAGPIE_USER_AGENT; diff --git a/mod/resource/view.php b/mod/resource/view.php index ba376948ec..5f9264b2a2 100644 --- a/mod/resource/view.php +++ b/mod/resource/view.php @@ -2,7 +2,8 @@ require_once("../../config.php"); require_once("lib.php"); - + require_once("../../lib/snoopy/Snoopy.class.inc"); + require_variable($id); // Course Module ID optional_variable($frameset, ""); @@ -55,8 +56,13 @@ break; case WEBLINK: + if ( $CFG->filterexternalpages ) { + $url = "fetch.php?id=$cm->id&url=$resource->reference"; + } else { + $url = "$resource->reference"; + } add_to_log($course->id, "resource", "view", "view.php?id=$cm->id", "$resource->id"); - redirect($resource->reference, "", 0); + redirect($url, "", 0); break; case WEBPAGE: @@ -68,26 +74,42 @@ echo "
".text_to_html($resource->summary, true, false)."
"; } else { + if ( $CFG->filterexternalpages ) { + $url = "fetch.php?id=$cm->id&url=$resource->reference"; + } else { + $url = "$resource->reference"; + } add_to_log($course->id, "resource", "view", "view.php?id=$cm->id", "$resource->id"); echo "$course->shortname: $resource->name\n"; echo "resource_framesize,*\" border=\"2\">"; echo "id&frameset=top\">"; - echo "reference\">"; + echo ""; echo ""; } break; case UPLOADEDFILE: require_once("../../files/mimetypes.php"); + $inpopup = !empty($_GET["inpopup"]); + if ( $CFG->filterexternalpages ) { + if ($inpopup) { + $fetchingprefix = "$CFG->wwwroot/mod/resouce/fetch.php?id=$cm->id&url="; + } else { + $fetchingprefix = "fetch.php?id=$cm->id&url="; + } + // until we found a way to show uploaded files properly throught the + // fetch_remote_file function + $fetchingprefix = ""; + } else { + $fetchingprefix = ""; + } if ($CFG->slasharguments) { $fullurl = "$CFG->wwwroot/file.php/$course->id/$resource->reference"; } else { $fullurl = "$CFG->wwwroot/file.php?file=/$course->id/$resource->reference"; } - $inpopup = !empty($_GET["inpopup"]); - $embedded = false; if (mimeinfo("icon", $fullurl) == "image.gif") { // It's an image @@ -97,13 +119,24 @@ $resourceimage = false; } // Later, look for more things to embed + if (mimeinfo("icon", $fullurl) == "html.gif" or + mimeinfo("icon", $fullurl) == "html.gif") { // It's a web page + $resourcehtml = true; + } else { + $resourcehtml = false; + } + if ($inpopup) { add_to_log($course->id, "resource", "view", "view.php?id=$cm->id", "$resource->id"); if ($embedded) { print_header($pagetitle); echo "
".text_to_html($resource->summary, true, false)."
"; } else { - redirect($fullurl); + if ( $resourcehtml ) { + redirect("$fetchingprefix$fullurl"); + } else { + redirect($fullurl); + } break; } @@ -127,6 +160,13 @@ if ($resourceimage) { echo "
"; echo "
"; + echo "
"; + } elseif ( $resourcehtml and $CFG->filterexternalpages ) { + echo "
"; + + $content = resource_fetch_remote_file("$fetchingprefix$fullurl"); + echo $content->results; + echo "
"; } if (!$inpopup) { @@ -137,7 +177,18 @@ echo "$course->shortname: $resource->name\n"; echo "resource_framesize,*\" border=\"2\">"; echo "id&frameset=top\">"; - echo ""; + + if ($CFG->slasharguments) { + $fullurl = "$CFG->wwwroot/file.php/$course->id/$resource->reference"; + } else { + $fullurl = "$CFG->wwwroot/file.php?file=/$course->id/$resource->reference"; + } + + if ( $resourcehtml and $CFG->filterexternalpages ) { + echo "id&url=$fetchingprefix$fullurl\">"; + } else { + echo ""; + } echo ""; } break;