X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=plugins%2Fsent_subfolders%2Fsetup.php;h=34dcb0dfde8c25668d5c798cd49aca20f4075562;hp=c60abbdfc5541c49b4a2010085fe138e4163aa33;hb=82d304a0501324b276cabab1870755d5352bd21c;hpb=ea5f4b8eaf805c4cc4e9533e87d057300a7fe666 diff --git a/plugins/sent_subfolders/setup.php b/plugins/sent_subfolders/setup.php index c60abbdf..34dcb0df 100644 --- a/plugins/sent_subfolders/setup.php +++ b/plugins/sent_subfolders/setup.php @@ -3,7 +3,7 @@ /** * setup.php -- Sent Subfolders Setup File * - * Copyright (c) 1999-2003 The SquirrelMail Project Team + * Copyright (c) 1999-2004 The SquirrelMail Project Team * Licensed under the GNU GPL. For full terms see the file COPYING. * * This is a standard Squirrelmail-1.2 API for plugins. @@ -22,6 +22,9 @@ define('SMPREF_SENT_SUBFOLDERS_QUARTERLY', 2); define('SMPREF_SENT_SUBFOLDERS_MONTHLY', 3); define('SMOPT_GRP_SENT_SUBFOLDERS','SENT_SUBFOLDERS'); +/** + * Adds plugin to squirrelmail hooks + */ function squirrelmail_plugin_init_sent_subfolders() { /* Standard initialization API. */ global $squirrelmail_plugin_hooks; @@ -49,6 +52,11 @@ function squirrelmail_plugin_init_sent_subfolders() { $squirrelmail_plugin_hooks ['optpage_loadhook_folder']['sent_subfolders'] = 'sent_subfolders_optpage_loadhook_folders'; + + /* mark base sent folder as special mailbox */ + $squirrelmail_plugin_hooks + ['special_mailbox']['sent_subfolders'] = + 'sent_subfolders_special_mailbox'; } function sent_subfolders_check_handleAsSent() { @@ -74,6 +82,9 @@ function sent_subfolders_check_handleAsSent() { } } +/** + * Loads sent_subfolders settings + */ function sent_subfolders_load_prefs() { global $use_sent_subfolders, $data_dir, $username, $sent_subfolders_setting, $sent_subfolders_base; @@ -88,6 +99,9 @@ function sent_subfolders_load_prefs() { ($data_dir, $username, 'sent_subfolders_base', SMPREF_NONE); } +/** + * Adds sent_subfolders options in folder preferences + */ function sent_subfolders_optpage_loadhook_folders() { global $optpage_data, $imapServerAddress, $imapPort; @@ -138,6 +152,9 @@ function sent_subfolders_optpage_loadhook_folders() { $optpage_data['vals'][SMOPT_GRP_SENT_SUBFOLDERS] = $optvals; } +/** + * Saves sent_subfolder_options + */ function save_option_sent_subfolders_setting($option) { global $data_dir, $username, $use_sent_subfolders; @@ -153,6 +170,12 @@ function save_option_sent_subfolders_setting($option) { save_option($option); } +/** + * Update sent_subfolders settings + * + * function updates default sent folder value and + * creates required imap folders + */ function sent_subfolders_update_sentfolder() { global $sent_folder, $auto_create_special, $auto_create_done; global $sent_subfolders_base, $sent_subfolders_setting; @@ -247,6 +270,12 @@ function sent_subfolders_update_sentfolder() { } } +/** + * Sets quarter subfolder names + * + * @param string $month numeric month + * @return string quarter name (Q + number) + */ function sent_subfolder_getQuarter($month) { switch ($month) { case '01': @@ -277,4 +306,23 @@ function sent_subfolder_getQuarter($month) { return ('Q' . $result); } +/** + * detects if mailbox is part of sent_subfolders + * + * @param string $mb imap folder name + * @return boolean 1 - is part of sent_subfolders, 0 - is not part of sent_subfolders + */ +function sent_subfolders_special_mailbox($mb) { + global $data_dir, $username; + + $use_sent_subfolders = getPref + ($data_dir, $username, 'use_sent_subfolders', SMPREF_OFF); + $sent_subfolders_base = getPref($data_dir, $username, 'sent_subfolders_base', 'na'); + + if ($use_sent_subfolders == SMPREF_ON && + ($mb == $sent_subfolders_base || stristr($mb,$sent_subfolders_base) ) ) { + return 1; + } + return 0; +} ?>