*
* Displays all optinos about display preferences
*
- * @copyright © 1999-2005 The SquirrelMail Project Team
+ * @copyright © 1999-2006 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
* @return array all option information
*/
function load_optpage_data_display() {
- global $theme, $fontsets, $language, $languages,
+ global $theme, $fontsets, $language, $languages,$aTemplateSet,
$default_use_mdn, $squirrelmail_language, $allow_thread_sort,
- $show_alternative_names, $use_icons, $use_iframe;
+ $show_alternative_names, $use_icons, $use_iframe, $sTplDir;
/* Build a simple array into which we will build options. */
$optgrps = array();
$optgrps[SMOPT_GRP_GENERAL] = _("General Display Options");
$optvals[SMOPT_GRP_GENERAL] = array();
+ /* load the template set option */
+ $templateset_values = array();
+
+ foreach ($aTemplateSet as $sKey => $aTemplateSetAttributes) {
+ $templateset_values[$aTemplateSetAttributes['NAME']] = $aTemplateSetAttributes['PATH'];
+ }
+ ksort($templateset_values);
+ $templateset_values = array_flip($templateset_values);
+ // display template options only when there is more than one template
+ if (count($templateset_values)>1) {
+ $optvals[SMOPT_GRP_GENERAL][] = array(
+ 'name' => 'sTplDir',
+ 'caption' => _("Template"),
+ 'type' => SMOPT_TYPE_STRLIST,
+ 'refresh' => SMOPT_REFRESH_ALL,
+ 'posvals' => $templateset_values,
+ 'save' => 'save_option_template'
+ );
+ }
+
/* Load the theme option. */
$theme_values = array();
foreach ($theme as $theme_key => $theme_attributes) {
*/
$fontset_values = array();
- foreach (array_keys($fontsets) as $fontset_key) {
- $fontset_list[$fontset_key]=$fontset_key;
+ $fontset_list = array();
+
+ if (!empty($fontsets) && is_array($fontsets)) {
+
+ foreach (array_keys($fontsets) as $fontset_key) {
+ $fontset_list[$fontset_key]=$fontset_key;
+ }
+ ksort($fontset_list);
}
- ksort($fontset_list);
if (count($fontset_list) > 1) {
$fontset_list = array_merge(array('' => _("Default font style")), $fontset_list);
array_merge(array('' => _("Default")), $language_values);
$language = $squirrelmail_language;
- // add language selection only when more than 2 languages are available
+ // add language selection only when more than 2 languages are available
// (default, English and some other)
if (count($language_values)>2) {
$optvals[SMOPT_GRP_GENERAL][] = array(
SMPREF_TIME_24HR => _("24-hour clock"))
);
+ /* Icon theme selection */
+ if ($use_icons) {
+ global $icon_themes, $icon_theme;
+
+ $temp = array();
+ for ($count = 0; $count < sizeof($icon_themes); $count++) {
+ $temp[$count] = $icon_themes[$count]['NAME'];
+ if ($icon_theme == $icon_themes[$count]['PATH'] ||
+ (($icon_theme == $sTplDir.'images/') && ($icon_themes[$count]['PATH']=='template'))
+ ) {
+ $value = $count;
+ }
+ }
+ if (sizeof($icon_themes) > 0) {
+ $optvals[SMOPT_GRP_GENERAL][] = array(
+ 'name' => 'icon_theme',
+ 'caption' => _("Icon Theme"),
+ 'type' => SMOPT_TYPE_STRLIST,
+ 'refresh' => SMOPT_REFRESH_NONE,
+ 'posvals' => $temp,
+ 'initial_value' => $value,
+ 'save' => 'icon_theme_save'
+ );
+ }
+ }
+
/*** Load the General Options into the array ***/
$optgrps[SMOPT_GRP_MAILBOX] = _("Mailbox Display Options");
$optvals[SMOPT_GRP_MAILBOX] = array();
'refresh' => SMOPT_REFRESH_NONE
);
- if ($use_icons) {
- global $icon_themes, $icon_theme;
- $temp = array();
- for ($count = 0; $count < sizeof($icon_themes); $count++) {
- $temp[$count] = $icon_themes[$count]['NAME'];
- if ($icon_theme == $icon_themes[$count]['PATH'])
- $value = $count;
- }
- if (sizeof($icon_themes) > 0) {
- $optvals[SMOPT_GRP_MAILBOX][] = array(
- 'name' => 'icon_theme',
- 'caption' => _("Message Flags Icon Theme"),
- 'type' => SMOPT_TYPE_STRLIST,
- 'refresh' => SMOPT_REFRESH_NONE,
- 'posvals' => $temp,
- 'initial_value' => $value,
- 'save' => 'icon_theme_save'
- );
- }
- }
-
$optvals[SMOPT_GRP_MAILBOX][] = array(
'name' => 'show_flag_buttons',
'caption' => _("Show Flag / Unflag Buttons"),
$optvals[SMOPT_GRP_MESSAGE][] = array(
'name' => 'delete_prev_next_display',
- 'caption' => _("Show 'Delete & Prev/Next' Links"),
+ 'caption' => _("Show 'Delete & Prev/Next' Links"),
'type' => SMOPT_TYPE_BOOLEAN,
'refresh' => SMOPT_REFRESH_ALL
);
/** Define any specialized save functions for this option page. ***/
/******************************************************************/
+/**
+ * This function saves a new template setting.
+ * It updates the template array.
+ */
+function save_option_template($option) {
+ global $aTemplateSet;
+
+ /* Do checking to make sure $new_theme is in the array. */
+ $templateset_in_array = false;
+ for ($i = 0; $i < count($aTemplateSet); ++$i) {
+ if ($aTemplateSet[$i]['PATH'] == $option->new_value) {
+ $templateset_in_array = true;
+ break;
+ }
+ }
+
+ if (!$templateset_in_array) {
+ $option->new_value = '';
+ }
+ /* Save the option like normal. */
+ save_option($option);
+}
+
/**
* This function saves a new theme setting.
* It updates the theme array.
}
-?>
\ No newline at end of file
+?>