- Fix "Cannot use scalar value..." warning (#1487066)
| | |
| | | $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text()); |
| | | $OUTPUT->command('set_unread_count', $mbox, 0); |
| | | $OUTPUT->command('set_quota', rcmail_quota_content()); |
| | | $_SESSION['unseen_count'][$mbox] = 0; |
| | | rcmail_set_unseen_count($mbox, 0); |
| | | } |
| | | else |
| | | $commands = "// purged: $success"; |
| | |
| | | { |
| | | global $RCMAIL; |
| | | |
| | | $old_unseen = $_SESSION['unseen_count'][$mbox_name]; |
| | | $old_unseen = rcmail_get_unseen_count($mbox_name); |
| | | |
| | | if ($count === null) |
| | | $unseen = $RCMAIL->imap->messagecount($mbox_name, 'UNSEEN', $force); |
| | |
| | | if ($unseen != $old_unseen || ($mbox_name == 'INBOX')) |
| | | $RCMAIL->output->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX')); |
| | | |
| | | // @TODO: this data is doubled (session and cache tables) if caching is enabled |
| | | $_SESSION['unseen_count'][$mbox_name] = $unseen; |
| | | rcmail_set_unseen_count($mbox_name, $unseen); |
| | | |
| | | return $unseen; |
| | | } |
| | | |
| | | |
| | | function rcmail_set_unseen_count($mbox_name, $count) |
| | | { |
| | | // @TODO: this data is doubled (session and cache tables) if caching is enabled |
| | | |
| | | // Make sure we have an array here (#1487066) |
| | | if (!is_array($_SESSION['unseen_count'])) |
| | | $_SESSION['unseen_count'] = array(); |
| | | |
| | | $_SESSION['unseen_count'][$mbox_name] = $count; |
| | | } |
| | | |
| | | |
| | | function rcmail_get_unseen_count($mbox_name) |
| | | { |
| | | if (is_array($_SESSION['unseen_count']) && array_key_exists($mbox_name, $_SESSION['unseen_count'])) |
| | | return $_SESSION['unseen_count'][$mbox_name]; |
| | | else |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Sets message is_safe flag according to 'show_images' option value |
| | | * |
| | |
| | | $check_all = (bool)$RCMAIL->config->get('check_all_folders'); |
| | | |
| | | foreach ($a_folders as $mbox_row) { |
| | | if (!$check_all && isset($_SESSION['unseen_count'][$mbox_row]) && $mbox_row != $current) |
| | | $unseen = $_SESSION['unseen_count'][$mbox_row]; |
| | | else |
| | | $unseen = $IMAP->messagecount($mbox_row, 'UNSEEN', !isset($_SESSION['unseen_count'][$mbox_row])); |
| | | $unseen_old = rcmail_get_unseen_count($mbox_row); |
| | | |
| | | if ($unseen || !isset($_SESSION['unseen_count'][$mbox_row])) { |
| | | if (!$check_all && $unseen_old !== null && $mbox_row != $current) |
| | | $unseen = $unseen_old; |
| | | else |
| | | $unseen = $IMAP->messagecount($mbox_row, 'UNSEEN', $unseen_old === null); |
| | | |
| | | if ($unseen || $unseen_old === null) { |
| | | $OUTPUT->command('set_unread_count', $mbox_row, $unseen, $inbox && $mbox_row == 'INBOX'); |
| | | } |
| | | $_SESSION['unseen_count'][$mbox_row] = $unseen; |
| | | |
| | | rcmail_set_unseen_count($mbox_row, $unseen); |
| | | } |
| | | } |
| | | |
| | |
| | | // update mailboxlist |
| | | $mbox = $IMAP->get_mailbox_name(); |
| | | $unseen_count = $msg_count ? $IMAP->messagecount($mbox, 'UNSEEN') : 0; |
| | | $old_unseen = $_SESSION['unseen_count'][$mbox]; |
| | | $old_unseen = rcmail_get_unseen_count($mbox); |
| | | |
| | | if ($old_unseen != $unseen_count) { |
| | | $OUTPUT->command('set_unread_count', $mbox, $unseen_count, ($mbox == 'INBOX')); |
| | | $_SESSION['unseen_count'][$mbox] = $unseen_count; |
| | | rcmail_set_unseen_count($mbox, $unseen_count); |
| | | } |
| | | $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($msg_count)); |
| | | |
| | |
| | | // update mailboxlist |
| | | $mbox = $IMAP->get_mailbox_name(); |
| | | $unseen_count = $msg_count ? $IMAP->messagecount($mbox, 'UNSEEN') : 0; |
| | | $old_unseen = $_SESSION['unseen_count'][$mbox]; |
| | | $old_unseen = rcmail_get_unseen_count($mbox); |
| | | |
| | | if ($old_unseen != $unseen_count) { |
| | | $OUTPUT->command('set_unread_count', $mbox, $unseen_count, ($mbox == 'INBOX')); |
| | | $_SESSION['unseen_count'][$mbox] = $unseen_count; |
| | | rcmail_set_unseen_count($mbox, $unseen_count); |
| | | } |
| | | |
| | | if ($RCMAIL->action=='moveto' && strlen($target)) { |
| | |
| | | if ($MESSAGE && $MESSAGE->headers && !$MESSAGE->headers->seen && |
| | | ($RCMAIL->action == 'show' || ($RCMAIL->action == 'preview' && intval($CONFIG['preview_pane_mark_read']) == 0))) |
| | | { |
| | | if ($IMAP->set_flag($MESSAGE->uid, 'SEEN') && $_SESSION['unseen_count'][$mbox_name]) |
| | | $_SESSION['unseen_count'][$mbox_name] -= 1; |
| | | if ($IMAP->set_flag($MESSAGE->uid, 'SEEN')) { |
| | | if ($count = rcmail_get_unseen_count($mbox_name)) { |
| | | rcmail_set_unseen_count($mbox_name, $count - 1); |
| | | } |
| | | } |
| | | } |
| | | |
| | | exit; |