MDL-21403 hardcoded JS legacy code should not use new $PAGE->requires-> api, switching to html_writer instead + improved ufo embedding

This commit is contained in:
Petr Skoda 2010-01-26 10:35:13 +00:00
parent 5668690321
commit 10eaeca808
4 changed files with 21 additions and 22 deletions

View file

@ -33,6 +33,10 @@ M.util.image_url = function(imagename, component) {
return url;
};
M.util.create_UFO_object = function (eid, FO) {
UFO.create(FO, eid);
}
/**
* Init a collapsible region, see print_collapsible_region in weblib.php
* @param Object YUI3 instance with all libraries loaded
@ -1218,9 +1222,6 @@ function old_onload_focus(formid, controlname) {
}
}
function create_UFO_object(eid) {
UFO.create(FO, eid);
}
function build_querystring(obj) {
if (typeof obj !== 'object') {
return null;

View file

@ -167,11 +167,8 @@ function resourcelib_embed_mp3($fullurl, $title, $clicktoopen) {
</div>
OET;
$PAGE->requires->yui2_lib('dom');
$PAGE->requires->js('/lib/ufo.js')->in_head();
$PAGE->requires->js('/lib/resourcelib.js')->in_head();
$code .= $PAGE->requires->data_for_js('FO', $ufoargs)->asap();
$code .= $PAGE->requires->js_function_call('resourcelib_create_UFO_object', array($id))->asap();
$PAGE->requires->js('/lib/ufo.js');
$code .= $PAGE->requires->js_function_call('M.util.create_UFO_object', array($id, $ufoargs));
return $code;
}
@ -213,11 +210,8 @@ function resourcelib_embed_flashvideo($fullurl, $title, $clicktoopen) {
</div>
EOT;
$PAGE->requires->yui2_lib('dom');
$PAGE->requires->js('/lib/ufo.js')->in_head();
$PAGE->requires->js('/lib/resourcelib.js')->in_head();
$code .= $PAGE->requires->data_for_js('FO', $ufoargs)->asap();
$code .= $PAGE->requires->js_function_call('resourcelib_create_UFO_object', array($id))->asap();
$PAGE->requires->js('/lib/ufo.js');
$code .= $PAGE->requires->js_function_call('M.util.create_UFO_object', array($id, $ufoargs));
return $code;
}

View file

@ -3411,3 +3411,12 @@ function print_password_policy() {
}
return $message;
}
function create_ufo_inline($id, $args) {
global $CFG;
// must not use $PAGE, $THEME, $COURSE etc. because the result is cached!
$jsoutput = html_writer::script('', $CFG->wwwroot.'/lib/ufo.js');
$jsoutput .= html_writer::script(js_writer::function_call('M.util.create_UFO_object', array($id, $args)));
return $jsoutput;
}