<?php
-
/**
* folders.php
*
* scripts which do most of the work. Also handles the Special
* Folders.
*
- * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @copyright © 1999-2009 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
*/
+/** This is the folders page */
+define('PAGE_NAME', 'folders');
+
/**
* Include the SquirrelMail initialization file.
*/
require_once(SM_PATH . 'functions/folder_manip.php');
require_once(SM_PATH . 'functions/forms.php');
-displayPageHeader($color, 'None');
+displayPageHeader($color);
/* get globals we may need */
-
-sqgetGlobalVar('username', $username, SQ_SESSION);
-sqgetGlobalVar('key', $key, SQ_COOKIE);
sqgetGlobalVar('delimiter', $delimiter, SQ_SESSION);
-sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION);
-
sqgetGlobalVar('smaction', $action, SQ_POST);
/* end of get globals */
-$imapConnection = sqimap_login ($username, $key, $imapServerAddress, $imapPort, 0);
+$imapConnection = sqimap_login ($username, false, $imapServerAddress, $imapPort, 0);
/* switch to the right function based on what the user selected */
if ( sqgetGlobalVar('smaction', $action, SQ_POST) ) {
-
switch ($action)
{
case 'create':
$td_str = _("Unsubscribed successfully.");
break;
default:
- // TODO: add hook for plugin action processing.
- $td_str = '';
+// TODO: this is a new hook for plugin action processing that has not been TESTED.
+ $td_str = do_hook('folder_action', $action);
break;
}
}
+if (isset($td_str)) {
+ $oTemplate->assign('note', htmlspecialchars($td_str));
+ $oTemplate->display('note.tpl');
+}
+
$boxes = sqimap_mailbox_list($imapConnection,true);
/** CREATING FOLDERS **/
// Special handling for courier
if ( $server_type == 'courier' ) {
- /**
- * If we use courier, we should hide system trash folder
- * FIXME: (tokul) Who says that courier does not allow storing folders in
- * INBOX.Trash or inbox.trash? Can't reproduce it 3.0.8. This entry is
- * useless, because in_array() check is case sensitive and INBOX is in
- * upper case.
- */
- array_push($skip_folders, 'inbox.trash');
-
if ( $default_folder_prefix == 'INBOX.' ) {
// We don't need INBOX, since it is top folder
array_push($skip_folders, 'INBOX');
/** count special folders **/
foreach ($boxes as $index => $aBoxData) {
- if (isSpecialMailbox($aBoxData['unformatted']) &&
+ if (isSpecialMailbox($aBoxData['unformatted'],false) &&
! in_array($aBoxData['unformatted'],$skip_folders)) {
$skip_folders[] = $aBoxData['unformatted'];
}
$rendel_folder_list = sqimap_mailbox_option_list($imapConnection, 0, $skip_folders, $boxes, NULL, true);
-$subbox_option_list = '';
+$subbox_option_list = array();
if ($show_only_subscribed_folders && !$no_list_for_subscribe) {
// FIXME: fix subscription options when top folder is not subscribed and sub folder is subscribed
+
// TODO: use checkboxes instead of select options.
+ // DONE Steve Brown 2006-08-08
/** SUBSCRIBE TO FOLDERS **/
$boxes_all = sqimap_mailbox_list_all ($imapConnection);
// so we keep only the unsubscribed ones.
foreach ($boxes_all as $box_a) {
- $use_folder = true;
- foreach ( $boxes as $box ) {
- if ($box_a['unformatted'] == $box['unformatted'] ||
- $box_a['unformatted-dm'] == $folder_prefix ) {
- $use_folder = false;
- }
- }
-
- if ($use_folder) {
- $box_enc = htmlspecialchars($box_a['unformatted-dm']);
- $box_disp = htmlspecialchars(imap_utf7_decode_local($box_a['unformatted-disp']));
- $subbox_option_list .= '<option value="' . $box_enc . '">'.$box_disp."</option>\n";
- }
+ $use_folder = true;
+ foreach ( $boxes as $box ) {
+ if ($box_a['unformatted'] == $box['unformatted'] ||
+ $box_a['unformatted-dm'] == $folder_prefix ) {
+ $use_folder = false;
+ }
+ }
+
+ if ($use_folder) {
+ $box_enc = htmlspecialchars($box_a['unformatted-dm']);
+ $box_disp = htmlspecialchars(imap_utf7_decode_local($box_a['unformatted-disp']));
+ $subbox_option_list[] = array( 'Value' => $box_enc, 'Display' => $box_disp);
+ }
}
}
sqimap_logout($imapConnection);
-$oTemplate->assign('td_str', @$td_str);
-$oTemplate->assign('color', $color);
+$oTemplate->assign('show_subfolders_option', $show_contain_subfolders_option);
+$oTemplate->assign('show_only_subscribed_folders', $show_only_subscribed_folders==1);
+$oTemplate->assign('no_list_for_subscribe', $no_list_for_subscribe);
+
$oTemplate->assign('mbx_option_list', $mbx_option_list);
-$oTemplate->assign('show_contain_subfolders_option', $show_contain_subfolders_option);
-$oTemplate->assign('show_only_subscribed_folders', $show_only_subscribed_folders);
$oTemplate->assign('rendel_folder_list', $rendel_folder_list);
$oTemplate->assign('subbox_option_list', $subbox_option_list);
-$oTemplate->assign('no_list_for_subscribe', $no_list_for_subscribe);
$oTemplate->display('folder_manip.tpl');
$oTemplate->display('footer.tpl');
-