From 43ab26e9d56ca42d8e4de08278bc27c88dec9258 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Tue, 17 Aug 2010 00:35:27 -0600 Subject: [PATCH] Git rid of no_newmail_popup parameter. Instead, track whether newmail popup is needed exclusively on the mailbox.php page. --- imp/folders.php | 2 +- imp/lib/Block/tree_folders.php | 2 +- imp/lib/IMP.php | 7 ++++--- imp/lib/Ui/Block.php | 2 +- imp/mailbox.php | 29 ++++++++++++++++++++++------- imp/templates/imp/menu/menu.html | 1 - 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/imp/folders.php b/imp/folders.php index 9a72f65fa..11667046b 100644 --- a/imp/folders.php +++ b/imp/folders.php @@ -427,7 +427,7 @@ $tree_imgs = $imp_ui_folder->getTreeImages($raw_rows, array('expand_url' => $fol /* Add some further information to the $raw_rows array. */ $newmsgs = $rows = array(); -$name_url = Horde::applicationUrl('mailbox.php')->add('no_newmail_popup', 1); +$name_url = Horde::applicationUrl('mailbox.php'); $rowct = 0; foreach ($raw_rows as $key => $val) { diff --git a/imp/lib/Block/tree_folders.php b/imp/lib/Block/tree_folders.php index b2fba57ee..cdc8ebe29 100644 --- a/imp/lib/Block/tree_folders.php +++ b/imp/lib/Block/tree_folders.php @@ -63,7 +63,7 @@ class Horde_Block_imp_tree_folders extends Horde_Block return; } - $name_url = Horde::applicationUrl('mailbox.php')->add('no_newmail_popup', 1); + $name_url = Horde::applicationUrl('mailbox.php'); /* Initialize the IMP_Tree object. */ $imaptree = $injector->getInstance('IMP_Imap_Tree'); diff --git a/imp/lib/IMP.php b/imp/lib/IMP.php index 206b20cb1..343d9f2df 100644 --- a/imp/lib/IMP.php +++ b/imp/lib/IMP.php @@ -1141,9 +1141,9 @@ class IMP $folders = array(); foreach ($var as $mb => $nm) { $folders[] = array( - 'url' => self::generateIMPUrl('mailbox.php', $mb)->add('no_newmail_popup', 1), 'name' => htmlspecialchars(self::displayFolder($mb)), - 'new' => (int)$nm, + 'new' => intval($nm), + 'url' => self::generateIMPUrl('mailbox.php', $mb), ); } $t->set('folders', $folders); @@ -1151,7 +1151,7 @@ class IMP if (($_SESSION['imp']['protocol'] != 'pop') && $GLOBALS['prefs']->getValue('use_vinbox') && ($vinbox_id = $GLOBALS['prefs']->getValue('vinbox_id'))) { - $t->set('vinbox', Horde::link(self::generateIMPUrl('mailbox.php', $GLOBALS['injector']->getInstance('IMP_Search')->createSearchID($vinbox_id))->add('no_newmail_popup', 1))); + $t->set('vinbox', Horde::link(self::generateIMPUrl('mailbox.php', $GLOBALS['injector']->getInstance('IMP_Search')->createSearchID($vinbox_id)))); } } else { $t->set('msg', ($var == 1) ? _("You have 1 new message.") : sprintf(_("You have %s new messages."), $var)); @@ -1160,6 +1160,7 @@ class IMP Horde::addScriptFile('effects.js', 'horde'); Horde::addScriptFile('redbox.js', 'horde'); + return 'RedBox.overlay = false; RedBox.showHtml(\'' . addcslashes($t_html, "'/") . '\');'; } diff --git a/imp/lib/Ui/Block.php b/imp/lib/Ui/Block.php index a6ee12197..d437ea1d2 100644 --- a/imp/lib/Ui/Block.php +++ b/imp/lib/Ui/Block.php @@ -70,7 +70,7 @@ class IMP_Ui_Block } $html .= ($mode == 'imp' - ? Horde::link($mbox_url->add(array('no_newmail_popup' => 1, 'mailbox' => $folder))) + ? Horde::link($mbox_url->add('mailbox', $folder)) : '') . IMP::displayFolder($folder) . ''; diff --git a/imp/mailbox.php b/imp/mailbox.php index e1a373bb9..594d9a5d6 100644 --- a/imp/mailbox.php +++ b/imp/mailbox.php @@ -56,7 +56,7 @@ $vfolder = $imp_search->isVFolder(); * don't re-include config files, and the following variables will already be * set: $actionID, $start. */ $mailbox_url = Horde::applicationUrl('mailbox.php'); -$mailbox_imp_url = IMP::generateIMPUrl('mailbox.php', IMP::$mailbox); +$mailbox_imp_url = IMP::generateIMPUrl('mailbox.php', IMP::$mailbox)->add('newmail', 1); if (!Horde_Util::nonInputVar('from_message_page')) { $actionID = $vars->actionID; $start = $vars->start; @@ -199,7 +199,10 @@ if (!$readonly && !empty($_SESSION['imp']['filteravail'])) { $do_filter = true; } elseif ((IMP::$mailbox == 'INBOX') || ($prefs->getValue('filter_any_mailbox') && !$search_mbox)) { - $filter_url = $mailbox_imp_url->copy()->add(array('actionID' => 'filter', 'mailbox_token' => $mailbox_token)); + $filter_url = $mailbox_imp_url->copy()->add(array( + 'actionID' => 'filter', + 'mailbox_token' => $mailbox_token + )); } } @@ -356,7 +359,7 @@ if (!empty($newmsgs)) { * the current mailbox. */ $imp_imap->openMailbox(IMP::$mailbox, Horde_Imap_Client::OPEN_READWRITE); - if (!$vars->no_newmail_popup) { + if ($vars->newmail) { /* Newmail alerts. */ IMP::newmailAlerts($newmsgs); } @@ -390,7 +393,11 @@ if ($_SESSION['imp']['protocol'] != 'pop') { if (!$search_mbox) { $hdr_template->set('search_url', Horde::applicationUrl('search-basic.php')->add('search_mailbox', IMP::$mailbox)); if (!$readonly) { - $hdr_template->set('empty', $mailbox_imp_url->copy()->add(array('actionID' => 'empty_mailbox', 'mailbox' => IMP::$mailbox, 'mailbox_token' => $mailbox_token))); + $hdr_template->set('empty', $mailbox_imp_url->copy()->add(array( + 'actionID' => 'empty_mailbox', + 'mailbox' => IMP::$mailbox, + 'mailbox_token' => $mailbox_token + ))); $hdr_template->set('empty_img', Horde::img('empty_spam.png', _("Empty folder"))); } } else { @@ -618,7 +625,11 @@ if (!IMP::threadSortAvailable(IMP::$mailbox)) { $extra = Horde_Imap_Client::SORT_THREAD; $standard = Horde_Imap_Client::SORT_SUBJECT; } - $headers[$standard]['altsort'] = Horde::widget($mailbox_imp_url->copy()->add(array('sortby' => $extra, 'actionID' => 'change_sort', 'mailbox_token' => $mailbox_token)), $headers[$extra]['stext'], 'widget', null, null, $headers[$extra]['text']); + $headers[$standard]['altsort'] = Horde::widget($mailbox_imp_url->copy()->add(array( + 'actionID' => 'change_sort', + 'mailbox_token' => $mailbox_token, + 'sortby' => $extra + )), $headers[$extra]['stext'], 'widget', null, null, $headers[$extra]['text']); unset($headers[$extra]); } @@ -631,7 +642,11 @@ foreach ($headers as $key => $val) { : null; $tmp = ($sortpref['by'] == $key) ? $sort_url : $mailbox_imp_url; - $ptr['change_sort_widget'] = Horde::widget($tmp->copy()->add(array('sortby' => $key, 'actionID' => 'change_sort', 'mailbox_token' => $mailbox_token)), $val['stext'], 'widget', null, null, $val['text']); + $ptr['change_sort_widget'] = Horde::widget($tmp->copy()->add(array( + 'actionID' => 'change_sort', + 'mailbox_token' => $mailbox_token, + 'sortby' => $key + )), $val['stext'], 'widget', null, null, $val['text']); } /* Output the form start. */ @@ -668,7 +683,7 @@ while (list(,$ob) = each($mbox_info['overview'])) { _outputSummaries($msgs); $msgs = array(); } - $folder_link = Horde::applicationUrl('mailbox.php')->add('mailbox', $ob['mailbox']); + $folder_link = $mailbox_url->copy()->add('mailbox', $ob['mailbox']); $folder_link = Horde::link($folder_link, sprintf(_("View messages in %s"), IMP::displayFolder($ob['mailbox'])), 'smallheader') . IMP::displayFolder($ob['mailbox']) . ''; if (is_null($search_template)) { $search_template = $injector->createInstance('Horde_Template'); diff --git a/imp/templates/imp/menu/menu.html b/imp/templates/imp/menu/menu.html index 79aeb9147..8002d914b 100644 --- a/imp/templates/imp/menu/menu.html +++ b/imp/templates/imp/menu/menu.html @@ -3,7 +3,6 @@