<?php
/**
* options_folder.php
*
* Displays all options relating to folders
*
* @copyright 1999-2020 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: folder.php 14840 2020年01月07日 07:42:38Z pdontthink $
* @package squirrelmail
*/
/** 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 ('SMOPT_GRP_SPCFOLDER', 0);
define ('SMOPT_GRP_FOLDERLIST', 1);
define ('SMOPT_GRP_FOLDERSELECT', 2);
/**
* 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
*/
/* Get some imap data we need later. */
$imapConnection =
sqimap_login ($username, $key, $imapServerAddress, $imapPort, 0, $imap_stream_options);
/* Build a simple array into which we will build options. */
$optgrps = array();
$optvals = array();
/******************************************************/
/* LOAD EACH GROUP OF OPTIONS INTO THE OPTIONS ARRAY. */
/******************************************************/
/*** Load the General Options into the array ***/
if (!isset($folder_prefix)) { $folder_prefix = $default_folder_prefix; }
if ($show_prefix_option) {
'name' => 'folder_prefix',
'caption' =>
_ ("Folder Path"),
);
}
$trash_folder_values =
array(SMPREF_NONE =>
'[ '.
_ ("Do not use Trash").
' ]',
'whatever' => $boxes);
'name' => 'trash_folder',
'caption' =>
_ ("Trash Folder"),
'posvals' => $trash_folder_values,
'save' => 'save_option_trash_folder'
);
$draft_folder_values =
array(SMPREF_NONE =>
'[ '.
_ ("Do not use Drafts").
' ]',
'whatever' => $boxes);
'name' => 'draft_folder',
'caption' =>
_ ("Draft Folder"),
'posvals' => $draft_folder_values,
'save' => 'save_option_draft_folder'
);
$sent_folder_values =
array(SMPREF_NONE =>
'[ '.
_ ("Do not use Sent").
' ]',
'whatever' => $boxes);
'name' => 'sent_folder',
'caption' =>
_ ("Sent Folder"),
'posvals' => $sent_folder_values,
'save' => 'save_option_sent_folder'
);
/*** Load the General Options into the array ***/
'name' => 'location_of_bar',
'caption' =>
_ ("Location of Folder List"),
);
$left_size_values = array();
for ($lsv = 100; $lsv <= 300; $lsv += 10) {
$left_size_values[$lsv] =
"$lsv " .
_ ("pixels");
}
'name' => 'left_size',
'caption' =>
_ ("Width of Folder List"),
'posvals' => $left_size_values
);
$minute_str =
_ ("Minutes");
foreach (array(30,60,120,180,300,600,1200) as $lr_val) {
if ($lr_val < 60) {
$left_refresh_values[$lr_val] =
"$lr_val " .
_ ("Seconds");
} else if ($lr_val == 60) {
$left_refresh_values[$lr_val] =
"1 " .
_ ("Minute");
} else {
$left_refresh_values[$lr_val] = ($lr_val/60) . " $minute_str";
}
}
'name' => 'left_refresh',
'caption' =>
_ ("Auto Refresh Folder List"),
'posvals' => $left_refresh_values
);
'name' => 'unseen_notify',
'caption' =>
_ ("Enable Unread Message Notification"),
);
'name' => 'unseen_type',
'caption' =>
_ ("Unread Message Notification Type"),
);
'name' => 'collapse_folders',
'caption' =>
_ ("Enable Collapsable Folders"),
);
'name' => 'unseen_cum',
'caption' =>
_ ("Enable Cumulative Unread Message Notification"),
);
'name' => 'date_format',
'caption' =>
_ ("Show Clock on Folders Panel"),
'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"),
);
'name' => 'hour_format',
'caption' =>
_ ("Hour Format"),
);
'name' => 'search_memory',
'caption' =>
_ ("Memory Search"),
'posvals' =>
array( 0 =>
_ ("Disabled"),
1 => '1',
2 => '2',
3 => '3',
4 => '4',
5 => '5',
6 => '6',
7 => '7',
8 => '8',
9 => '9')
);
/*** Load the General Options into the array ***/
'name' => 'mailbox_select_style',
'caption' =>
_ ("Selection List Style"),
'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
);
return ($result);
}
/******************************************************************/
/** Define any specialized save functions for this option page. ***/
/******************************************************************/
/**
* Saves the trash folder option.
* @param object $option SquirrelOption object
* @since 1.3.2
*/
// make sure that it is not INBOX
} else {
/* Set move to trash on or off. */
setPref ($data_dir, $username, 'move_to_trash', $trash_on);
/* Now just save the option as normal. */
}
}
/**
* Saves the sent folder option.
* @param object $option SquirrelOption object
* @since 1.3.2
*/
// make sure that it is not INBOX
} else {
/* Set move to sent on or off. */
setPref ($data_dir, $username, 'move_to_sent', $sent_on);
/* Now just save the option as normal. */
}
}
/**
* Saves the draft folder option.
* @param object $option SquirrelOption object
* @since 1.3.2
*/
// make sure that it is not INBOX
} else {
/* Set move to draft on or off. */
setPref ($data_dir, $username, 'save_as_draft', $draft_on);
/* Now just save the option as normal. */
}
}