/**
* options_folder.php
*
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Copyright (c) 1999-2005 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* Displays all options relating to folders
*
- * $Id$
+ * @version $Id$
+ * @package squirrelmail
*/
-/* SquirrelMail required files. */
+/** SquirrelMail required files. */
require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/imap_general.php');
-/* Define the group constants for the folder options page. */
+/* Define the group constants for the folder options page. */
define('SMOPT_GRP_SPCFOLDER', 0);
define('SMOPT_GRP_FOLDERLIST', 1);
+define('SMOPT_GRP_FOLDERSELECT', 2);
-/* Define the optpage load function for the folder options page. */
+/**
+ * This function builds an array with all the information about
+ * the options available to the user, and returns it. The options
+ * are grouped by the groups in which they are displayed.
+ * For each option, the following information is stored:
+ * - name: the internal (variable) name
+ * - caption: the description of the option in the UI
+ * - type: one of SMOPT_TYPE_*
+ * - refresh: one of SMOPT_REFRESH_*
+ * - size: one of SMOPT_SIZE_*
+ * - save: the name of a function to call when saving this option
+ * @return array all option information
+ */
function load_optpage_data_folder() {
global $username, $key, $imapServerAddress, $imapPort;
global $folder_prefix, $default_folder_prefix, $show_prefix_option;
$imapConnection =
sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
$boxes = sqimap_mailbox_list($imapConnection);
- sqimap_logout($imapConnection);
/* Build a simple array into which we will build options. */
$optgrps = array();
);
}
- $special_folder_values = array();
- foreach ($boxes as $folder) {
- if (strtolower($folder['unformatted']) != 'inbox') {
- $real_value = $folder['unformatted-dm'];
- $disp_value = str_replace(' ', ' ', $folder['formatted']);
- $special_folder_values[$real_value] = $disp_value;
- }
- }
-
- $trash_none = array(SMPREF_NONE => _("Do not use Trash"));
- $trash_folder_values = array_merge($trash_none, $special_folder_values);
+ $trash_folder_values = array(SMPREF_NONE => '[ '._("Do not use Trash").' ]',
+ 'whatever' => $boxes);
$optvals[SMOPT_GRP_SPCFOLDER][] = array(
'name' => 'trash_folder',
'caption' => _("Trash Folder"),
- 'type' => SMOPT_TYPE_STRLIST,
+ 'type' => SMOPT_TYPE_FLDRLIST,
'refresh' => SMOPT_REFRESH_FOLDERLIST,
'posvals' => $trash_folder_values,
'save' => 'save_option_trash_folder'
);
-
- $sent_none = array(SMPREF_NONE => _("Do not use Sent"));
- $sent_folder_values = array_merge($sent_none, $special_folder_values);
+
+ $draft_folder_values = array(SMPREF_NONE => '[ '._("Do not use Drafts").' ]',
+ 'whatever' => $boxes);
+ $optvals[SMOPT_GRP_SPCFOLDER][] = array(
+ 'name' => 'draft_folder',
+ 'caption' => _("Draft Folder"),
+ 'type' => SMOPT_TYPE_FLDRLIST,
+ 'refresh' => SMOPT_REFRESH_FOLDERLIST,
+ 'posvals' => $draft_folder_values,
+ 'save' => 'save_option_draft_folder'
+ );
+
+ $sent_folder_values = array(SMPREF_NONE => '[ '._("Do not use Sent").' ]',
+ 'whatever' => $boxes);
$optvals[SMOPT_GRP_SPCFOLDER][] = array(
'name' => 'sent_folder',
'caption' => _("Sent Folder"),
- 'type' => SMOPT_TYPE_STRLIST,
+ 'type' => SMOPT_TYPE_FLDRLIST,
'refresh' => SMOPT_REFRESH_FOLDERLIST,
'posvals' => $sent_folder_values,
'save' => 'save_option_sent_folder'
);
-
- $draft_none = array(SMPREF_NONE => _("Do not use Drafts"));
- $draft_folder_values = array_merge($draft_none, $special_folder_values);
+
$optvals[SMOPT_GRP_SPCFOLDER][] = array(
- 'name' => 'draft_folder',
- 'caption' => _("Draft Folder"),
- 'type' => SMOPT_TYPE_STRLIST,
- 'refresh' => SMOPT_REFRESH_FOLDERLIST,
- 'posvals' => $draft_folder_values,
- 'save' => 'save_option_draft_folder'
+ 'name' => 'save_reply_with_orig',
+ 'caption' => _("Save Replies with Original Message"),
+ 'type' => SMOPT_TYPE_BOOLEAN,
+ 'refresh' => SMOPT_REFRESH_FOLDERLIST
);
/*** Load the General Options into the array ***/
'type' => SMOPT_TYPE_STRLIST,
'refresh' => SMOPT_REFRESH_FOLDERLIST,
'posvals' => array(SMPREF_UNSEEN_ONLY => _("Only Unseen"),
- SMPREF_UNSEEN_TOTAL => _("Unseen and Total"))
+ SMPREF_UNSEEN_TOTAL => _("Unseen and Total"))
);
$optvals[SMOPT_GRP_FOLDERLIST][] = array(
);
$optvals[SMOPT_GRP_FOLDERLIST][] = array(
- 'name' => 'date_format',
- 'caption' => _("Show Clock on Folders Panel"),
- 'type' => SMOPT_TYPE_STRLIST,
- 'refresh' => SMOPT_REFRESH_FOLDERLIST,
- 'posvals' => array( '1' => 'MM/DD/YY HH:MM',
- '2' => 'DD/MM/YY HH:MM',
- '3' => 'DDD, HH:MM',
- '4' => 'HH:MM:SS',
- '5' => 'HH:MM',
- '6' => _("No Clock")),
+ 'name' => 'unseen_cum',
+ 'caption' => _("Enable Cumulative Unread Message Notification"),
+ 'type' => SMOPT_TYPE_BOOLEAN,
+ 'refresh' => SMOPT_REFRESH_FOLDERLIST
);
+
$optvals[SMOPT_GRP_FOLDERLIST][] = array(
- 'name' => 'hour_format',
- 'caption' => _("Hour Format"),
+ 'name' => 'date_format',
+ 'caption' => _("Show Clock on Folders Panel"),
'type' => SMOPT_TYPE_STRLIST,
'refresh' => SMOPT_REFRESH_FOLDERLIST,
- 'posvals' => array(SMPREF_TIME_12HR => _("12-hour clock"),
- SMPREF_TIME_24HR => _("24-hour clock"))
+ 'posvals' => array( '0' => _("International date and time"),
+ '1' => _("American date and time"),
+ '2' => _("European date and time"),
+ '3' => _("Show weekday and time"),
+ '4' => _("Show time with seconds"),
+ '5' => _("Show time"),
+ '6' => _("No Clock")),
);
$optvals[SMOPT_GRP_FOLDERLIST][] = array(
9 => '9')
);
+
+ /*** Load the General Options into the array ***/
+ $optgrps[SMOPT_GRP_FOLDERSELECT] = _("Folder Selection Options");
+ $optvals[SMOPT_GRP_FOLDERSELECT] = array();
+
+ $delim = sqimap_get_delimiter($imapConnection);
+ $optvals[SMOPT_GRP_FOLDERSELECT][] = array(
+ 'name' => 'mailbox_select_style',
+ 'caption' => _("Selection List Style"),
+ 'type' => SMOPT_TYPE_STRLIST,
+ 'refresh' => SMOPT_REFRESH_NONE,
+ 'posvals' => array( 0 => _("Long: ") . '"' . _("Folder") . $delim . _("Subfolder") . '"',
+ 1 => _("Indented: ") . '" ' . _("Subfolder") . '"',
+ 2 => _("Delimited: ") . '". ' . _("Subfolder") . '"'),
+ 'htmlencoded' => true
+ );
+
/* Assemble all this together and return it as our result. */
$result = array(
'grps' => $optgrps,
'vals' => $optvals
);
+ sqimap_logout($imapConnection);
return ($result);
}
/******************************************************************/
/** Define any specialized save functions for this option page. ***/
/******************************************************************/
+
+/**
+ * Saves the trash folder option.
+ */
function save_option_trash_folder($option) {
global $data_dir, $username;
save_option($option);
}
+/**
+ * Saves the sent folder option.
+ */
function save_option_sent_folder($option) {
global $data_dir, $username;
save_option($option);
}
+/**
+ * Saves the draft folder option.
+ */
function save_option_draft_folder($option) {
global $data_dir, $username;