X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=plugins%2Fnewmail%2Ffunctions.php;h=f92de319fc095da2800db6dcfb0245586ab3ddd8;hb=8ab3c1bd38409d09e1c336107ebee474b5a7dd39;hp=a9536a0a9e54c1cdb7498b79cf79cc49c221a537;hpb=48879ef0fc84e2adc42e90fd7b1667c9804f9b30;p=squirrelmail.git diff --git a/plugins/newmail/functions.php b/plugins/newmail/functions.php index a9536a0a..f92de319 100644 --- a/plugins/newmail/functions.php +++ b/plugins/newmail/functions.php @@ -5,7 +5,7 @@ * * Functions * - * @copyright © 2001-2006 The SquirrelMail Project Team + * @copyright © 2001-2007 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package plugins @@ -13,13 +13,6 @@ * @todo add midi support */ -/** @ignore */ -if (! defined('SM_PATH')) define('SM_PATH','../../'); - -/** - * sqm_baseuri() function for setups that don't load it by default - */ -include_once(SM_PATH . 'functions/display_messages.php'); /** file type defines */ define('SM_NEWMAIL_FILETYPE_WAV',2); @@ -93,6 +86,11 @@ function newmail_sav_function() { setPref($data_dir,$username,'newmail_popup_width',$popup_width); setPref($data_dir,$username,'newmail_popup_height',$popup_height); + if (sqgetGlobalVar('newmail_unseen_notify', $newmail_unseen_notify, SQ_POST)) { + $newmail_unseen_notify = (int) $newmail_unseen_notify; + setPref($data_dir,$username,'newmail_unseen_notify',$newmail_unseen_notify); + } + if( sqgetGlobalVar('media_sel', $media_sel, SQ_POST) && $media_sel == '(none)' ) { removePref($data_dir,$username,'newmail_media'); @@ -140,6 +138,7 @@ function newmail_pref_function() { global $newmail_recent, $newmail_changetitle; global $newmail_userfile_type, $newmail_userfile_name; global $newmail_popup_width, $newmail_popup_height; + global $newmail_unseen_notify; $newmail_recent = getPref($data_dir,$username,'newmail_recent'); $newmail_media_enable = getPref($data_dir,$username,'newmail_enable'); @@ -155,6 +154,8 @@ function newmail_pref_function() { $newmail_userfile_type = getPref($data_dir, $username, 'newmail_userfile_type'); $newmail_userfile_name = getPref($data_dir,$username,'newmail_userfile_name',''); + + $newmail_unseen_notify = getPref($data_dir,$username,'newmail_unseen_notify',0); } /** @@ -173,23 +174,34 @@ function newmail_set_loadinfo_function() { /* Receive the status of the folder and do something with it */ function newmail_folder_status($statusarr) { global $newmail_media_enable,$newmail_popup,$newmail_changetitle,$trash_folder, - $send_folder,$totalNewArr,$unseen_notify, $newmail_recent; + $sent_folder,$totalNewArr, $newmail_unseen_notify, $unseen_notify, $newmail_recent; - //echo "GOT HOOK
";
-    //var_dump($statusarr);
-    //echo "

\n"; + /* if $newmail_unseen_notify is set to zero, plugin follows $unseen_notify */ + if ($newmail_unseen_notify == 0) + $newmail_unseen_notify = $unseen_notify; $mailbox=$statusarr['MAILBOX']; - if ($newmail_media_enable == 'on' || + + if (($newmail_media_enable == 'on' || $newmail_popup == 'on' || - $newmail_changetitle == 'on') { + $newmail_changetitle == 'on') && + /** + * make sure that $newmail_unseen_notify is set to supported value, + * currently (1.5.2cvs) SMPREF_UNSEEN_NORMAL has highest integer value + * in SMPREF_UNSEEN constants + */ + ($newmail_unseen_notify > SMPREF_UNSEEN_NONE && $newmail_unseen_notify <= SMPREF_UNSEEN_NORMAL)) { // Skip folders for Sent and Trash - if ($statusarr['MAILBOX'] == $send_folder || $statusarr['MAILBOX'] == $trash_folder) { + // TODO: make this optional + if ($statusarr['MAILBOX'] == $sent_folder || $statusarr['MAILBOX'] == $trash_folder) { return 0; } - if ((($mailbox == 'INBOX') && ($unseen_notify == 2)) || ($unseen_notify == 3)) { + if ((($mailbox == 'INBOX') && ($newmail_unseen_notify == SMPREF_UNSEEN_INBOX)) || + ($newmail_unseen_notify == SMPREF_UNSEEN_SPECIAL && isSpecialMailbox($mailbox)) || + ($newmail_unseen_notify == SMPREF_UNSEEN_NORMAL && ! isSpecialMailbox($mailbox)) || + ($newmail_unseen_notify == SMPREF_UNSEEN_ALL)) { if (($newmail_recent == 'on') && (!empty($statusarr['RECENT']))) { $totalNewArr[$mailbox] = $statusarr['RECENT']; } elseif ($newmail_recent != 'on' && !empty($statusarr['UNSEEN'])) { @@ -710,4 +722,3 @@ function newmail_create_media_tags($newmail_media) { } return $ret_media; } -?> \ No newline at end of file