From cbbe5c823c3c99a19a1376beb41e20cc6adbfb20 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Thu, 16 Jul 2009 14:05:27 -0600 Subject: [PATCH] Inline script handling moved to Horde:: for now --- imp/compose-dimp.php | 8 +-- imp/compose.php | 2 +- imp/contacts.php | 2 +- imp/fetchmailprefs.php | 2 +- imp/folders.php | 6 +- imp/index-dimp.php | 4 +- imp/lib/Ajax/Imple/ContactAutoCompleter.php | 4 +- imp/lib/IMP.php | 67 -------------------- imp/lib/UI/Compose.php | 2 +- imp/lib/prefs.php | 2 +- imp/login.php | 2 +- imp/mailbox.php | 2 +- imp/message-dimp.php | 8 +-- imp/message.php | 2 +- imp/search.php | 2 +- imp/templates/common-header.inc | 2 +- imp/templates/javascript_defs.php | 2 +- imp/templates/javascript_defs_dimp.php | 2 +- kronolith/index.php | 2 +- kronolith/lib/Ajax/Imple/ContactAutoCompleter.php | 2 +- kronolith/lib/Ajax/Imple/TagActions.php | 2 +- kronolith/lib/Ajax/Imple/TagAutoCompleter.php | 2 +- kronolith/lib/Kronolith.php | 77 +---------------------- kronolith/templates/common-header.inc | 2 +- 24 files changed, 33 insertions(+), 175 deletions(-) diff --git a/imp/compose-dimp.php b/imp/compose-dimp.php index e028375bf..a645b80c6 100644 --- a/imp/compose-dimp.php +++ b/imp/compose-dimp.php @@ -322,15 +322,15 @@ if ($show_editor) { if (Horde_Util::getFormData('popup')) { $compose_result['js'][] = 'DIMP.conf_compose.popup = 1'; } -IMP::addInlineScript($compose_result['js']); +Horde::addInlineScript($compose_result['js']); /* Some actions, like adding forwards, may return error messages so explicitly * display those messages now. */ -IMP::addInlineScript(array(DIMP::notify()), 'dom'); +Horde::addInlineScript(array(DIMP::notify()), 'dom'); /* Javascript to be run on window load. */ $compose_result['js_onload'][] = 'DimpCompose.fillForm(' . Horde_Serialize::serialize($msg, Horde_Serialize::JSON) . ', ' . Horde_Serialize::serialize($header, Horde_Serialize::JSON) . ', "' . (($type == 'new' || $type == 'forward') ? 'to' : 'message') . '", true)'; -IMP::addInlineScript($compose_result['js_onload'], 'load'); +Horde::addInlineScript($compose_result['js_onload'], 'load'); $scripts = array( array('compose-dimp.js', 'imp', true) @@ -339,6 +339,6 @@ $scripts = array( DIMP::header(_("Message Composition"), $scripts); echo $t->fetch('compose.html'); IMP::includeScriptFiles(); -IMP::outputInlineScript(); +Horde::outputInlineScript(); echo $compose_result['jsappend']; echo "\n"; diff --git a/imp/compose.php b/imp/compose.php index 13e22cb10..4e0136403 100644 --- a/imp/compose.php +++ b/imp/compose.php @@ -1224,7 +1224,7 @@ if ($redirect) { Horde::addScriptFile('prototype.js', 'horde', true); Horde::addScriptFile('compose.js', 'imp', true); require IMP_TEMPLATES . '/common-header.inc'; -IMP::addInlineScript($js_code); +Horde::addInlineScript($js_code); if ($showmenu) { IMP::menu(); } diff --git a/imp/contacts.php b/imp/contacts.php index e0e5f3917..55e40ab00 100644 --- a/imp/contacts.php +++ b/imp/contacts.php @@ -102,7 +102,7 @@ $title = _("Address Book"); Horde::addScriptFile('prototype.js', 'horde', true); Horde::addScriptFile('contacts.js', 'imp', true); require IMP_TEMPLATES . '/common-header.inc'; -IMP::addInlineScript(array( +Horde::addInlineScript(array( 'ImpContacts.formname = \'' . $formname . '\'', 'ImpContacts.to_only = ' . intval($to_only), )); diff --git a/imp/fetchmailprefs.php b/imp/fetchmailprefs.php index c57b0c65f..7c3573dd3 100644 --- a/imp/fetchmailprefs.php +++ b/imp/fetchmailprefs.php @@ -189,7 +189,7 @@ Horde::addScriptFile('prototype.js', 'horde', true); Horde::addScriptFile('fetchmailprefs.js', 'imp', true); $charset = Horde_Nls::getCharset(); -IMP::addInlineScript(array( +Horde::addInlineScript(array( 'ImpFetchmailprefs.fetchurl = ' . Horde_Serialize($fetch_url, Horde_Serialize::JSON, $charset), 'ImpFetchmailprefs.prefsurl = ' . Horde_Serialize($prefs_url, Horde_Serialize::JSON, $charset) )); diff --git a/imp/folders.php b/imp/folders.php index b76e7f774..067a9c66f 100644 --- a/imp/folders.php +++ b/imp/folders.php @@ -55,7 +55,7 @@ $charset = Horde_Nls::getCharset(); $folders_url = Horde::selfUrl(); /* This JS define is required by all folder pages. */ -IMP::addInlineScript(array( +Horde::addInlineScript(array( 'ImpFolders.folders_url = ' . Horde_Serialize::serialize($folders_url, Horde_Serialize::JSON, $charset) )); @@ -366,7 +366,7 @@ reset($raw_rows); while (list(,$r) = each($raw_rows)) { $displayNames[] = $r['display']; } -IMP::addInlineScript(array( +Horde::addInlineScript(array( 'ImpFolders.displayNames = ' . Horde_Serialize::serialize($displayNames, Horde_Serialize::JSON, $charset) )); @@ -531,7 +531,7 @@ if ($open_compose_window === false) { $options = array(); } Horde::addScriptFile('imp.js', 'imp', true); - IMP::addInlineScript(IMP::popupIMPString('compose.php', array_merge(array('popup' => 1), $options, IMP::getComposeArgs()))); + Horde::addInlineScript(IMP::popupIMPString('compose.php', array_merge(array('popup' => 1), $options, IMP::getComposeArgs()))); } $notification->notify(array('listeners' => 'audio')); diff --git a/imp/index-dimp.php b/imp/index-dimp.php index 38d824d5c..90b55d30f 100644 --- a/imp/index-dimp.php +++ b/imp/index-dimp.php @@ -44,7 +44,7 @@ if (!empty($site_menu)) { } } -IMP::addInlineScript($js_code, true); +Horde::addInlineScript($js_code, true); DIMP::header('', $scripts); /* Get application folders list. */ @@ -63,6 +63,6 @@ foreach (DIMP::menuList() as $app) { echo "\n"; require IMP_TEMPLATES . '/index/index-dimp.inc'; IMP::includeScriptFiles(); -IMP::outputInlineScript(); +Horde::outputInlineScript(); $notification->notify(array('listeners' => array('javascript'))); echo "\n"; diff --git a/imp/lib/Ajax/Imple/ContactAutoCompleter.php b/imp/lib/Ajax/Imple/ContactAutoCompleter.php index edadd241c..ff3cf207b 100644 --- a/imp/lib/Ajax/Imple/ContactAutoCompleter.php +++ b/imp/lib/Ajax/Imple/ContactAutoCompleter.php @@ -99,7 +99,7 @@ class IMP_Ajax_Imple_ContactAutoCompleter extends Horde_Ajax_Imple_Base if (!isset($addrlist)) { $addrlist = IMP_Compose::getAddressList(); } - IMP::addInlineScript('if (!IMP) { var IMP = {}; } IMP.ac_list = '. Horde_Serialize::serialize(array_map('htmlspecialchars', $addrlist), Horde_Serialize::JSON, Horde_Nls::getCharset())); + Horde::addInlineScript('if (!IMP) { var IMP = {}; } IMP.ac_list = '. Horde_Serialize::serialize(array_map('htmlspecialchars', $addrlist), Horde_Serialize::JSON, Horde_Nls::getCharset())); self::$_listOutput = true; } $func = 'Autocompleter.Local'; @@ -109,7 +109,7 @@ class IMP_Ajax_Imple_ContactAutoCompleter extends Horde_Ajax_Imple_Base } $params[] = '{' . implode(',', $js_params) . '}'; - IMP::addInlineScript('new ' . $func . '(' . implode(',', $params) . ')', 'dom'); + Horde::addInlineScript('new ' . $func . '(' . implode(',', $params) . ')', 'dom'); } /** diff --git a/imp/lib/IMP.php b/imp/lib/IMP.php index ae3a53288..a49d004e0 100644 --- a/imp/lib/IMP.php +++ b/imp/lib/IMP.php @@ -55,9 +55,6 @@ class IMP /* filesystemGC() cache. */ static private $_dirlist = array(); - /* Inline script cache. */ - static private $_inlineScript = array(); - /** * Makes sure the user has been authenticated to view the page. * @@ -1168,70 +1165,6 @@ class IMP } /** - * Add inline javascript to the output buffer. - * - * @param mixed $script The script text to add (can be stored in an - * array also). - * @param string $onload Load the script after the page has loaded? - * Either 'dom' (on dom:loaded), 'load'. - */ - static public function addInlineScript($script, $onload = false) - { - if (is_array($script)) { - $script = implode(';', $script); - } - - $script = trim($script); - if (empty($script)) { - return; - } - - switch ($onload) { - case 'dom': - $script = 'document.observe("dom:loaded", function() {' . $script . '});'; - break; - - case 'load': - $script = 'Event.observe(window, "load", function() {' . $script . '});'; - break; - } - - self::$_inlineScript[] = $script; - - // If headers have already been sent, we need to output a - // \n"; - } - - /** * Is $mbox a 'special' folder (e.g. 'drafts' or 'sent-mail' folder)? * * @param string $mbox The mailbox to query. diff --git a/imp/lib/UI/Compose.php b/imp/lib/UI/Compose.php index e14681f02..8d552c1d6 100644 --- a/imp/lib/UI/Compose.php +++ b/imp/lib/UI/Compose.php @@ -189,7 +189,7 @@ class IMP_UI_Compose $js_onload[] = 'oFCKeditor.Height = $(\'message\').getHeight()'; $js_onload[] = 'oFCKeditor.ReplaceTextarea()'; } - IMP::addInlineScript($js_onload, 'load'); + Horde::addInlineScript($js_onload, 'load'); } return $editor->getJS(); diff --git a/imp/lib/prefs.php b/imp/lib/prefs.php index dd4c927ba..ff61da2da 100644 --- a/imp/lib/prefs.php +++ b/imp/lib/prefs.php @@ -261,7 +261,7 @@ case 'flags': Horde::addScriptFile('colorpicker.js', 'horde', true); Horde::addScriptFile('flagmanagement.js', 'imp', true); - IMP::addInlineScript(array( + Horde::addInlineScript(array( 'ImpFlagmanagement.new_prompt = ' . Horde_Serialize::serialize(_("Please enter the label for the new flag:"), Horde_Serialize::JSON, Horde_Nls::getCharset()) )); break; diff --git a/imp/login.php b/imp/login.php index 00fb3d4c5..9316ee6cb 100644 --- a/imp/login.php +++ b/imp/login.php @@ -342,7 +342,7 @@ $login_params = $autologin ? array('autologin' => $autologin, 'server_key' => '') : array('server_key' => ''); -IMP::addInlineScript(array( +Horde::addInlineScript(array( 'ImpLogin.autologin_url = ' . Horde_Serialize::serialize(Horde_Util::addParameter(Horde::selfUrl(), $login_params, null, false), Horde_Serialize::JSON, $charset), 'ImpLogin.ie_clientcaps = ' . intval($t->get('ie_clientcaps')), 'ImpLogin.imp_auth = ' . intval($imp_auth), diff --git a/imp/mailbox.php b/imp/mailbox.php index f8e6a0a4f..b7998c9b4 100644 --- a/imp/mailbox.php +++ b/imp/mailbox.php @@ -874,7 +874,7 @@ if (($pageOb['end'] - $pageOb['begin']) >= 20) { echo $n_template->fetch(IMP_TEMPLATES . '/mailbox/navbar.html'); } -IMP::addInlineScript(array( +Horde::addInlineScript(array( 'ImpMailbox.sortlimit = ' . intval($sortpref['limit']), 'ImpMailbox.unread = ' . strval($unread) )); diff --git a/imp/message-dimp.php b/imp/message-dimp.php index a8d7bbb8f..978b5a9e2 100644 --- a/imp/message-dimp.php +++ b/imp/message-dimp.php @@ -74,17 +74,17 @@ if (!$disable_compose) { $js_out = array_merge($js_out, $compose_result['js']); $scripts[] = array('compose-dimp.js', 'imp', true); - IMP::addInlineScript($compose_result['jsonload'], 'load'); + Horde::addInlineScript($compose_result['jsonload'], 'load'); } -IMP::addInlineScript($js_out); -IMP::addInlineScript(array(DIMP::notify()), 'dom'); +Horde::addInlineScript($js_out); +Horde::addInlineScript(array(DIMP::notify()), 'dom'); DIMP::header($show_msg_result['subject'], $scripts); echo "\n"; require IMP_TEMPLATES . '/chunks/message.php'; IMP::includeScriptFiles(); -IMP::outputInlineScript(); +Horde::outputInlineScript(); if (!$disable_compose) { echo $compose_result['jsappend']; } diff --git a/imp/message.php b/imp/message.php index 8f5772c8e..24010bc27 100644 --- a/imp/message.php +++ b/imp/message.php @@ -730,7 +730,7 @@ Horde::addScriptFile('imp.js', 'imp', true); Horde::addScriptFile('message.js', 'imp', true); require IMP_TEMPLATES . '/common-header.inc'; if (IMP::$printMode) { - IMP::addInlineScript('ImpMessage.printmode = true'); + Horde::addInlineScript('ImpMessage.printmode = true'); } else { if (!empty($conf['maillog']['use_maillog'])) { IMP_Maillog::displayLog($envelope['message-id']); diff --git a/imp/search.php b/imp/search.php index 64cdfc21d..0ae84216b 100644 --- a/imp/search.php +++ b/imp/search.php @@ -343,7 +343,7 @@ require IMP_TEMPLATES . '/common-header.inc'; IMP::menu(); IMP::status(); -IMP::addInlineScript(array( +Horde::addInlineScript(array( 'ImpSearch.search_date = ' . Horde_Serialize::serialize(array('m' => date('m'), 'd' => date('d'), 'y' => date('Y')), Horde_Serialize::JSON, $charset), 'ImpSearch.not_search = ' . intval(empty($search['mbox'])), 'ImpSearch.inverse_sub = ' . intval($t->get('inverse_subscribe')), diff --git a/imp/templates/common-header.inc b/imp/templates/common-header.inc index 968594f17..3a7c6ed19 100644 --- a/imp/templates/common-header.inc +++ b/imp/templates/common-header.inc @@ -43,7 +43,7 @@ IMP::includeStylesheetFiles(); - + > diff --git a/imp/templates/javascript_defs.php b/imp/templates/javascript_defs.php index 810b31db1..eb109799a 100644 --- a/imp/templates/javascript_defs.php +++ b/imp/templates/javascript_defs.php @@ -73,4 +73,4 @@ $code = array( ) ); -echo IMP::wrapInlineScript(array('var IMP = ' . Horde_Serialize::serialize($code, Horde_Serialize::JSON, Horde_Nls::getCharset()) . ';')); +echo Horde::wrapInlineScript(array('var IMP = ' . Horde_Serialize::serialize($code, Horde_Serialize::JSON, Horde_Nls::getCharset()) . ';')); diff --git a/imp/templates/javascript_defs_dimp.php b/imp/templates/javascript_defs_dimp.php index b7893b3a5..6dbc75fe6 100644 --- a/imp/templates/javascript_defs_dimp.php +++ b/imp/templates/javascript_defs_dimp.php @@ -157,4 +157,4 @@ if ($compose_mode) { ); } -echo IMP::wrapInlineScript(array('var DIMP = ' . Horde_Serialize::serialize($code, Horde_Serialize::JSON, Horde_Nls::getCharset()))); +echo Horde::wrapInlineScript(array('var DIMP = ' . Horde_Serialize::serialize($code, Horde_Serialize::JSON, Horde_Nls::getCharset()))); diff --git a/kronolith/index.php b/kronolith/index.php index 89976e1c3..2b88e9e36 100644 --- a/kronolith/index.php +++ b/kronolith/index.php @@ -63,7 +63,7 @@ Kronolith::header('', $scripts); echo "\n"; require KRONOLITH_TEMPLATES . '/index/index.inc'; Kronolith::includeScriptFiles(); -Kronolith::outputInlineScript(); +Horde::outputInlineScript(); $notification->notify(array('listeners' => array('javascript'))); Horde_Ajax_Imple::getInstance(array('kronolith', 'TagAutoCompleter'), array('triggerId' => 'kronolithEventTags', 'pretty' => true)); echo "\n"; diff --git a/kronolith/lib/Ajax/Imple/ContactAutoCompleter.php b/kronolith/lib/Ajax/Imple/ContactAutoCompleter.php index 2f58934c6..d97946498 100644 --- a/kronolith/lib/Ajax/Imple/ContactAutoCompleter.php +++ b/kronolith/lib/Ajax/Imple/ContactAutoCompleter.php @@ -56,7 +56,7 @@ class Kronolith_Ajax_Imple_ContactAutoCompleter extends Horde_Ajax_Imple_Base $params[] = '{' . implode(',', $js_params) . '}'; - Kronolith::addInlineScript('new Ajax.Autocompleter(' . implode(',', $params) . ')', 'dom'); + Horde::addInlineScript('new Ajax.Autocompleter(' . implode(',', $params) . ')', 'dom'); } /** diff --git a/kronolith/lib/Ajax/Imple/TagActions.php b/kronolith/lib/Ajax/Imple/TagActions.php index b4bb3e838..4edeb3987 100644 --- a/kronolith/lib/Ajax/Imple/TagActions.php +++ b/kronolith/lib/Ajax/Imple/TagActions.php @@ -27,7 +27,7 @@ class Kronolith_Ajax_Imple_TagActions extends Horde_Ajax_Imple_Base } elseif ($action == 'delete') { $js = "Event.observe('" . $dom_id . "', 'click', function(event) {removeTag('" . $content_id . "', '" . $content_type . "', " . $tag_id . ", '" . $endpoint . "'); Event.stop(event)});"; } - Kronolith::addInlineScript($js, 'window'); + Horde::addInlineScript($js, 'window'); } /** diff --git a/kronolith/lib/Ajax/Imple/TagAutoCompleter.php b/kronolith/lib/Ajax/Imple/TagAutoCompleter.php index d17fd9b0b..e51f7b251 100644 --- a/kronolith/lib/Ajax/Imple/TagAutoCompleter.php +++ b/kronolith/lib/Ajax/Imple/TagAutoCompleter.php @@ -88,7 +88,7 @@ class Kronolith_Ajax_Imple_TagAutoCompleter extends Horde_Ajax_Imple_Base $script = array('new Ajax.Autocompleter(' . implode(',', $params) . ')'); } - Kronolith::addInlineScript($script, 'dom'); + Horde::addInlineScript($script, 'dom'); } /** diff --git a/kronolith/lib/Kronolith.php b/kronolith/lib/Kronolith.php index 2bdb3a7fe..1a5846b01 100644 --- a/kronolith/lib/Kronolith.php +++ b/kronolith/lib/Kronolith.php @@ -111,7 +111,7 @@ class Kronolith "\n" . '' . htmlspecialchars($page_title) . "\n" . '\n". - self::wrapInlineScript(self::includeJSVars()); + Horde::wrapInlineScript(self::includeJSVars()); self::includeStylesheetFiles(true); @@ -229,81 +229,6 @@ class Kronolith } /** - * Add inline javascript to the output buffer. - * - * @param mixed $script The script text to add (can be stored in an - * array also). - * @param string $onload Load the script after the page has loaded? - * Either 'dom' (on dom:loaded), 'load'. - * - * @return string The javascript text to output, or empty if the page - * headers have not yet been sent. - */ - public static function addInlineScript($script, $onload = false) - { - if (is_array($script)) { - $script = implode(';', $script); - } - - $script = trim($script); - if (empty($script)) { - return; - } - switch ($onload) { - case 'dom': - $script = 'document.observe("dom:loaded", function() {' . $script . '});'; - break; - - case 'load': - $script = 'Event.observe(window, "load", function() {' . $script . '});'; - break; - } - - if (!isset($GLOBALS['__kronolith_inline_script'])) { - $GLOBALS['__kronolith_inline_script'] = array(); - } - $GLOBALS['__kronolith_inline_script'][] = $script; - - // If headers have already been sent, we need to output a \n"; - } - - $GLOBALS['__kronolith_inline_script'] = array(); - } - - /** - * Print inline javascript to output buffer after wrapping with necessary - * javascript tags. - * - * @param array $script The script to output. - * - * @return string The script with the necessary HTML javascript tags - * appended. - */ - public static function wrapInlineScript($script) - { - return '\n"; - } - - /** * Outputs the necessary script tags, honoring local configuration choices * as to script caching. */ diff --git a/kronolith/templates/common-header.inc b/kronolith/templates/common-header.inc index b03b78ba6..93dee4ca3 100644 --- a/kronolith/templates/common-header.inc +++ b/kronolith/templates/common-header.inc @@ -49,7 +49,7 @@ var kronolithPrintLink = ''; - + > -- 2.11.0