alecpl
2012-02-07 735bf7c3e1c02086aa2fa6a07e124090d7c90926
- Backported r5859 fix


1 files modified
25 ■■■■■ changed files
plugins/newmail_notifier/newmail_notifier.php 25 ●●●●● patch | view | raw | blame | history
plugins/newmail_notifier/newmail_notifier.php
@@ -3,13 +3,13 @@
/**
 * New Mail Notifier plugin
 *
 * Supports two methods of notification:
 * Supports three methods of notification:
 * 1. Basic - focus browser window and change favicon
 * 2. Sound - play wav file
 * 3. Desktop - display desktop notification (using webkitNotifications feature,
 *              supported by Chrome and Firefox with 'HTML5 Notifications' plugin)
 *
 * @version 0.3
 * @version 0.4
 * @author Aleksander Machniak <alec@alec.pl>
 *
 *
@@ -132,10 +132,31 @@
     */
    function notify($args)
    {
        // Already notified or non-automatic check
        if ($this->notified || !empty($_GET['_refresh'])) {
            return $args;
        }
        // Get folders to skip checking for
        if (empty($this->exceptions)) {
            $this->delimiter = $this->rc->imap->get_hierarchy_delimiter();
            foreach (array('drafts_mbox', 'sent_mbox') as $folder) {
                $folder = $this->rc->config->get($folder);
                if (strlen($folder) && $folder != 'INBOX') {
                    $this->exceptions[] = $folder;
                }
            }
        }
        $mbox = $args['mailbox'];
        // Skip exception (sent/drafts) folders (and their subfolders)
        foreach ($this->exceptions as $folder) {
            if (strpos($mbox.$this->delimiter, $folder.$this->delimiter) === 0) {
                return $args;
            }
        }
        $this->notified = true;
        // Load configuration