- External webpage resources now are parsed and automatic links are added to the glossary terms... Only if $CFG->filterexternalpages is enabled.

This commit is contained in:
willcast
2003-11-27 19:09:47 +00:00
parent b20ad90a53
commit 8367faba8b
3 changed files with 60 additions and 9 deletions
+1 -1
View File
@@ -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);
?>
+1 -1
View File
@@ -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;
+58 -7
View File
@@ -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 "<center><font size=-1>".text_to_html($resource->summary, true, false)."</font></center>";
} 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 "<head><title>$course->shortname: $resource->name</title></head>\n";
echo "<frameset rows=\"$CFG->resource_framesize,*\" border=\"2\">";
echo "<frame src=\"view.php?id=$cm->id&frameset=top\">";
echo "<frame src=\"$resource->reference\">";
echo "<frame src=\"$url\">";
echo "</frameset>";
}
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 "<center><font size=-1>".text_to_html($resource->summary, true, false)."</font></center>";
} else {
redirect($fullurl);
if ( $resourcehtml ) {
redirect("$fetchingprefix$fullurl");
} else {
redirect($fullurl);
}
break;
}
@@ -127,6 +160,13 @@
if ($resourceimage) {
echo "<br />";
echo "<center><img class=\"resourceimage\" src=\"$fullurl\"></center>";
echo "<br />";
} elseif ( $resourcehtml and $CFG->filterexternalpages ) {
echo "<br />";
$content = resource_fetch_remote_file("$fetchingprefix$fullurl");
echo $content->results;
echo "<br />";
}
if (!$inpopup) {
@@ -137,7 +177,18 @@
echo "<head><title>$course->shortname: $resource->name</title></head>\n";
echo "<frameset rows=\"$CFG->resource_framesize,*\" border=\"2\">";
echo "<frame src=\"view.php?id=$cm->id&frameset=top\">";
echo "<frame src=\"$fullurl\">";
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 "<frame src=\"fetch.php?id=$cm->id&url=$fetchingprefix$fullurl\">";
} else {
echo "<frame src=\"$fullurl\">";
}
echo "</frameset>";
}
break;