diff --git a/message/lib.php b/message/lib.php
index 839bc4c20c6b2..6f17da94d2a96 100644
--- a/message/lib.php
+++ b/message/lib.php
@@ -168,11 +168,7 @@ function message_print_contacts() {
echo '
';
- $autorefresh = '
'.get_string('pagerefreshes', 'message', $CFG->message_contacts_refresh).'
'; - $autorefresh = addslashes_js($autorefresh); // js escaping - - $PAGE->requires->js('/message/message.js'); - $PAGE->requires->js_function_call('refresh_page', Array(60*1000, $PAGE->url->out())); + $PAGE->requires->js_init_call('M.core_message.init_refresh_page', array(60*1000, $PAGE->url->out(false))); echo $OUTPUT->container_start('messagejsautorefresh note center'); echo get_string('pagerefreshes', 'message', $CFG->message_contacts_refresh); diff --git a/message/message.js b/message/message.js deleted file mode 100644 index a30679182ab1b..0000000000000 --- a/message/message.js +++ /dev/null @@ -1,30 +0,0 @@ -function set_focus(eid) { - document.getElementById(eid).focus(); -} - -function refresh_parent_messages_frame() { - if (chatmessages.msgcount>0) { - for (var i=0; i < chatmessages.msgcount; i++) { - add_message(chatmessages.msg[i]) - } - } - parent.messages.scroll(1,5000000); - parent.send.focus(); -} - -function add_message(messagestr) { - var messageblock = parent.messages.document.getElementById('messages'); - var message = document.createElement('div'); - message.innerHTML = messagestr; - messageblock.appendChild(message); -} - -var urltorefreshto = ''; -function refresh_page(delay, url) { - urltorefreshto = url; - setTimeout(callback_refresh_page, delay); -} - -function callback_refresh_page() { - document.location.replace(urltorefreshto); -} \ No newline at end of file diff --git a/message/module.js b/message/module.js new file mode 100644 index 0000000000000..e1e9d63d74810 --- /dev/null +++ b/message/module.js @@ -0,0 +1,30 @@ +M.core_message = {}; + +M.core_message.init_focus = function(Y.eid) { + document.getElementById(eid).focus(); +} + +M.core_message.init_refresh_parent_frame = function(Y, msgcount, msg) { + + var add_message = function (messagestr) { + var messageblock = parent.messages.document.getElementById('messages'); + var message = document.createElement('div'); + message.innerHTML = messagestr; + messageblock.appendChild(message); + } + + if (msgcount>0) { + for (var i=0; i < msgcount; i++) { + add_message(msg[i]) + } + } + parent.messages.scroll(1,5000000); + parent.send.focus(); +} + +M.core_message.init_refresh_page = function(Y, delay, url) { + var delay_callback = function() { + document.location.replace(url); + } + setTimeout(delay_callback, delay); +} diff --git a/message/refresh.php b/message/refresh.php index d3d7df96ac585..bfef3df773f3b 100644 --- a/message/refresh.php +++ b/message/refresh.php @@ -76,9 +76,7 @@ } } -$PAGE->requires->js('/message/message.js')->in_head(); -$PAGE->requires->js_function_call('refresh_parent_messages_frame'); -$PAGE->requires->data_for_js('chatmessages', Array('msgcount'=>count($jsmessages), 'msg'=>$jsmessages))->in_head(); +$PAGE->requires->js_init_call('M.core_message.init_refresh_parent_frame', array($jsmessages, $jsmessages)); echo $OUTPUT->header(); if (!empty($playbeep)) { @@ -87,7 +85,7 @@ } // Javascript for Mozilla to cope with the redirect bug from editor being on in this page -$PAGE->requires->js_function_call('refresh_page', Array(($wait*1000), "refresh.php?id=$userid&name=".urlencode($userfullname)."&wait=$wait")); +$PAGE->requires->js_init_call('M.core_message.init_refresh_page', array(($wait*1000), "refresh.php?id=$userid&name=".urlencode($userfullname)."&wait=$wait")); echo $OUTPUT->footer(); diff --git a/message/send.php b/message/send.php index 0c0403970fb4e..8e20c267200a9 100644 --- a/message/send.php +++ b/message/send.php @@ -39,7 +39,6 @@ $PAGE->set_pagelayout('popup'); $PAGE->set_title('send'); - $PAGE->requires->js('/message/message.js'); /// Script parameters $userid = required_param('id', PARAM_INT); @@ -120,7 +119,7 @@ echo $OUTPUT->link($accesslink); echo $OUTPUT->box_end(); - $PAGE->requires->js_function_call('set_focus', Array('id_message_editor')); + $PAGE->requires->js_init_call('M.core_message.init_focus', array('id_message_editor')); echo $OUTPUT->footer(); } \ No newline at end of file