From: jerome <jerome> Date: Fri, 31 Oct 2008 06:04:30 +0000 (+0000) Subject: MDL-10021: change frame into object tag when display a Link Resource with navigation... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=bc0b96fc2d8d808a70b02311c386f49074c0f749;p=moodle.git MDL-10021: change frame into object tag when display a Link Resource with navigation bar, merged from 19 --- diff --git a/mod/resource/type/file/resource.class.php b/mod/resource/type/file/resource.class.php index c0be52f68a..9a6035b289 100644 --- a/mod/resource/type/file/resource.class.php +++ b/mod/resource/type/file/resource.class.php @@ -1,5 +1,6 @@ <?php // $Id$ + /** * Extend the base resource class for file resources */ @@ -367,25 +368,61 @@ class resource_file extends resource_base { /// Now check whether we need to display a frameset $frameset = optional_param('frameset', '', PARAM_ALPHA); - if (empty($frameset) and !$embedded and !$inpopup and ($resource->options == "frame") and empty($USER->screenreader)) { - @header('Content-Type: text/html; charset=utf-8'); - echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n"; - echo "<html dir=\"ltr\">\n"; - echo '<head>'; - echo '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'; - echo "<title>" . format_string($course->shortname) . ": ".strip_tags(format_string($resource->name,true))."</title></head>\n"; - echo "<frameset rows=\"$CFG->resource_framesize,*\">"; - echo "<frame src=\"view.php?id={$cm->id}&type={$resource->type}&frameset=top\" title=\"" - . get_string('modulename','resource')."\"/>"; - if (!empty($localpath)) { // Show it like this so we interpose some HTML - echo "<frame src=\"view.php?id={$cm->id}&type={$resource->type}&inpopup=true\" title=\"". - get_string('modulename','resource')."\"/>"; - } else { - echo "<frame src=\"$fullurl\" title=\"".get_string('modulename','resource')."\"/>"; + if (empty($frameset) and !$embedded and !$inpopup and ($resource->options == "frame") and empty($USER->screenreader)) { + ///Yahoo javascript libaries for updating embedded object size + require_js(array('yui_utilities')); + require_js(array('yui_container')); + require_js(array('yui_dom-event')); + require_js(array('yui_dom')); + + ///Moodle Header and navigation bar + print_header($pagetitle, $course->fullname, "$this->navigation ".format_string($resource->name), "", "", true, update_module_button($cm->id, $course->id, $this->strresource), navmenu($course, $cm, "parent")); + $options = new object(); + $options->para = false; + if (!empty($localpath)) { // Show some help + echo '<div align="right" class="helplink">'; + link_to_popup_window ('/mod/resource/type/file/localpath.php', get_string('localfile', 'resource'), get_string('localfilehelp','resource'), 400, 500, get_string('localfilehelp', 'resource')); + echo '</div>'; } - echo "</frameset>"; - echo "</html>"; - exit; + echo '</div></div>'; + + ///embedded HTML file into an object tag + echo '<p><object id="embeddedhtml" data="' . $fullurl . '" type="'.$mimetype.'" width="800" height="600"> + alt : <a href="' . $fullurl . '">' . $fullurl . '</a> + </object></p>'; + + ///add some javascript in order to fit this object tag into the browser window + echo '<script type="text/javascript"> + function resizeEmbeddedHtml() { + //calculate new embedded html height size + '; + if (!empty($resource->summary)) { + echo' objectheight = YAHOO.util.Dom.getViewportHeight() - 230; + '; + } + else { + echo' objectheight = YAHOO.util.Dom.getViewportHeight() - 120; + '; + } + echo ' //the object tag cannot be smaller than a human readable size + if (objectheight<200){ + objectheight = 200; + } + //resize the embedded html object + YAHOO.util.Dom.setStyle("embeddedhtml", "height", objectheight+"px"); + YAHOO.util.Dom.setStyle("embeddedhtml", "width", "100%"); + } + resizeEmbeddedHtml(); + YAHOO.widget.Overlay.windowResizeEvent.subscribe(resizeEmbeddedHtml); + </script> + '; + + ///print the summary + if (!empty($resource->summary)) { + print_simple_box(format_text($resource->summary, FORMAT_MOODLE, $formatoptions, $course->id), "center"); + } + echo "</body></html>"; + exit; }