Git rid of no_newmail_popup parameter.
authorMichael M Slusarz <slusarz@curecanti.org>
Tue, 17 Aug 2010 06:35:27 +0000 (00:35 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Tue, 17 Aug 2010 06:36:02 +0000 (00:36 -0600)
Instead, track whether newmail popup is needed exclusively on the
mailbox.php page.

imp/folders.php
imp/lib/Block/tree_folders.php
imp/lib/IMP.php
imp/lib/Ui/Block.php
imp/mailbox.php
imp/templates/imp/menu/menu.html

index 9a72f65..1166704 100644 (file)
@@ -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) {
index b2fba57..cdc8ebe 100644 (file)
@@ -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');
index 206b20c..343d9f2 100644 (file)
@@ -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, "'/") . '\');';
     }
 
index a6ee121..d437ea1 100644 (file)
@@ -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))
                           : '<a>')
                     . IMP::displayFolder($folder) . '</a>';
 
index e1a373b..594d9a5 100644 (file)
@@ -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']) . '</a>';
             if (is_null($search_template)) {
                 $search_template = $injector->createInstance('Horde_Template');
index 79aeb91..8002d91 100644 (file)
@@ -3,7 +3,6 @@
 <div id="menu">
 <if:use_folders>
  <div class="rightFloat">
-  <input type="hidden" name="no_newmail_popup" value="1" />
   <label for="mailbox">
    <select name="mailbox"<if:ak> accesskey="<tag:ak />"</if:ak>><tag:flist /></select>
   </label>