Skip to content

Commit

Permalink
MDL-10021: change frame into object tag when display a Link Resource …
Browse files Browse the repository at this point in the history
…with navigation bar, merged from 19
  • Loading branch information
jerome committed Oct 31, 2008
1 parent f95efc3 commit 58208f5
Showing 1 changed file with 57 additions and 17 deletions.
74 changes: 57 additions & 17 deletions mod/resource/type/file/resource.class.php
@@ -1,5 +1,6 @@
<?php // $Id$ <?php // $Id$



/** /**
* Extend the base resource class for file resources * Extend the base resource class for file resources
* *
Expand Down Expand Up @@ -370,23 +371,62 @@ function display() {
/// Now check whether we need to display a frameset /// Now check whether we need to display a frameset


$frameset = optional_param('frameset', '', PARAM_ALPHA); $frameset = optional_param('frameset', '', PARAM_ALPHA);
if (empty($frameset) and !$embedded and !$inpopup and ($resource->options == "frame") and empty($USER->screenreader)) { if (empty($frameset) and !$embedded and !$inpopup and ($resource->options == "frame") and empty($USER->screenreader)) {
@header('Content-Type: text/html; charset=utf-8'); ///Yahoo javascript libaries for updating embedded object size
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n"; require_js(array('yui_utilities'));
echo "<html dir=\"ltr\">\n"; require_js(array('yui_container'));
echo '<head>'; require_js(array('yui_dom-event'));
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'; require_js(array('yui_dom'));
echo "<title>" . format_string($course->shortname) . ": ".strip_tags(format_string($resource->name,true))."</title></head>\n";
echo "<frameset rows=\"$CFG->resource_framesize,*\">"; ///Moodle Header and navigation bar
echo "<frame src=\"view.php?id={$cm->id}&amp;type={$resource->type}&amp;frameset=top\" title=\"".get_string('modulename','resource')."\"/>"; 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"));
if (!empty($localpath)) { // Show it like this so we interpose some HTML $options = new object();
echo "<frame src=\"view.php?id={$cm->id}&amp;type={$resource->type}&amp;inpopup=true\" title=\"".get_string('modulename','resource')."\"/>"; $options->para = false;
} else { if (!empty($localpath)) { // Show some help
echo "<frame src=\"$fullurl\" title=\"".get_string('modulename','resource')."\"/>"; 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 "</frameset>"; echo '</div>';
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;

} }




Expand Down

0 comments on commit 58208f5

Please sign in to comment.