X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=include%2Foptions%2Fdisplay.php;h=fb8daa90a5b3f92da4e1d9b6f0bae267448d72e9;hb=50e7ae2d2aaeca861f91dfaa559efb5080983799;hp=92d4c995c8bab36bd3ab949c3e912da63ae40e1a;hpb=5ed9d4fdf688c87cedb9837504ce247fc92f4eba;p=squirrelmail.git diff --git a/include/options/display.php b/include/options/display.php index 92d4c995..fb8daa90 100644 --- a/include/options/display.php +++ b/include/options/display.php @@ -3,11 +3,10 @@ /** * options_display.php * - * Copyright (c) 1999-2005 The SquirrelMail Project Team - * Licensed under the GNU GPL. For full terms see the file COPYING. - * * Displays all optinos about display preferences * + * @copyright © 1999-2006 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail */ @@ -33,6 +32,9 @@ if ($use_icons) { } } +global $use_iframe; +if (! isset($use_iframe)) $use_iframe=false; + /** * This function builds an array with all the information about * the options available to the user, and returns it. The options @@ -47,9 +49,9 @@ if ($use_icons) { * @return array all option information */ function load_optpage_data_display() { - global $theme, $language, $languages, + global $theme, $fontsets, $language, $languages,$aTemplateSet, $default_use_mdn, $squirrelmail_language, $allow_thread_sort, - $show_alternative_names, $available_languages, $use_icons; + $show_alternative_names, $use_icons, $use_iframe, $sTplDir; /* Build a simple array into which we will build options. */ $optgrps = array(); @@ -63,6 +65,26 @@ function load_optpage_data_display() { $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) { @@ -91,6 +113,7 @@ function load_optpage_data_display() { closedir($handle); } + /* if ( count( $css_values ) > 1 ) { $optvals[SMOPT_GRP_GENERAL][] = array( @@ -102,43 +125,62 @@ function load_optpage_data_display() { ); } + */ - // config.php can be unupdated. - if (! isset($available_languages) || $available_languages=="" ) { - $available_languages="ALL"; } + $fontset_values = array(); + $fontset_list = array(); - $language_values = array(); - if ( strtoupper($available_languages)=='ALL') { - foreach ($languages as $lang_key => $lang_attributes) { - if (isset($lang_attributes['NAME'])) { - $language_values[$lang_key] = $lang_attributes['NAME']; - if ( isset($show_alternative_names) && - $show_alternative_names && - isset($lang_attributes['ALTNAME']) ) { - $language_values[$lang_key] .= " / " . $lang_attributes['ALTNAME']; - } - } + if (!empty($fontsets) && is_array($fontsets)) { + + foreach (array_keys($fontsets) as $fontset_key) { + $fontset_list[$fontset_key]=$fontset_key; } - } else if (strtoupper($available_languages)!='NONE') { - // admin can set list of available languages in config - $available_languages_array=explode (" ",$available_languages); - foreach ($available_languages_array as $lang_key ) { - if (isset($languages[$lang_key]['NAME'])) { - $language_values[$lang_key] = $languages[$lang_key]['NAME']; - if ( isset($show_alternative_names) && - $show_alternative_names && - isset($languages[$lang_key]['ALTNAME']) ) { - $language_values[$lang_key] .= " / " . $languages[$lang_key]['ALTNAME']; - } + ksort($fontset_list); + } + + if (count($fontset_list) > 1) { + $fontset_list = array_merge(array('' => _("Default font style")), $fontset_list); + $optvals[SMOPT_GRP_GENERAL][] = array( + 'name' => 'chosen_fontset', + 'caption' => _("Font style"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_ALL, + 'posvals' => $fontset_list + ); + } + + $optvals[SMOPT_GRP_GENERAL][] = array( + 'name' => 'chosen_fontsize', + 'caption' => _("Font size"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_ALL, + 'posvals' => array('' => _("Default font size"), + '8' => '8 px', + '10' => '10 px', + '12' => '12 px', + '14' => '14 px') + ); + + $language_values = array(); + foreach ($languages as $lang_key => $lang_attributes) { + if (isset($lang_attributes['NAME'])) { + $language_values[$lang_key] = $lang_attributes['NAME']; + if ( isset($show_alternative_names) && + $show_alternative_names && + isset($lang_attributes['ALTNAME']) ) { + $language_values[$lang_key] .= " / " . $lang_attributes['ALTNAME']; } } } + asort($language_values); $language_values = array_merge(array('' => _("Default")), $language_values); $language = $squirrelmail_language; - if (strtoupper($available_languages)!='NONE') { - // if set to 'none', interface will use only default language + + // 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( 'name' => 'language', 'caption' => _("Language"), @@ -146,7 +188,7 @@ function load_optpage_data_display() { 'refresh' => SMOPT_REFRESH_ALL, 'posvals' => $language_values, 'htmlencoded' => true - ); + ); } /* Set values for the "use javascript" option. */ @@ -170,37 +212,33 @@ function load_optpage_data_display() { //'post_script' => $js_autodetect_script, ); - /*** Load the General Options into the array ***/ - $optgrps[SMOPT_GRP_MAILBOX] = _("Mailbox Display Options"); - $optvals[SMOPT_GRP_MAILBOX] = array(); - - $optvals[SMOPT_GRP_MAILBOX][] = array( - 'name' => 'show_num', - 'caption' => _("Number of Messages on one Page"), - 'type' => SMOPT_TYPE_INTEGER, - 'refresh' => SMOPT_REFRESH_NONE, - 'size' => SMOPT_SIZE_TINY - ); - - $optvals[SMOPT_GRP_MAILBOX][] = array( - 'name' => 'alt_index_colors', - 'caption' => _("Enable Alternating Row Colors"), - 'type' => SMOPT_TYPE_BOOLEAN, - 'refresh' => SMOPT_REFRESH_NONE + $optvals[SMOPT_GRP_GENERAL][] = array( + 'name' => 'hour_format', + 'caption' => _("Hour Format"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_FOLDERLIST, + 'posvals' => array(SMPREF_TIME_12HR => _("12-hour clock"), + SMPREF_TIME_24HR => _("24-hour clock")) ); + /* Icon theme selection */ if ($use_icons) { global $icon_themes, $icon_theme; + $temp = array(); + $value = 0; for ($count = 0; $count < sizeof($icon_themes); $count++) { $temp[$count] = $icon_themes[$count]['NAME']; - if ($icon_theme == $icon_themes[$count]['PATH']) + 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_MAILBOX][] = array( + $optvals[SMOPT_GRP_GENERAL][] = array( 'name' => 'icon_theme', - 'caption' => _("Message Flags Icon Theme"), + 'caption' => _("Icon Theme"), 'type' => SMOPT_TYPE_STRLIST, 'refresh' => SMOPT_REFRESH_NONE, 'posvals' => $temp, @@ -210,6 +248,33 @@ function load_optpage_data_display() { } } + + /*** Load the General Options into the array ***/ + $optgrps[SMOPT_GRP_MAILBOX] = _("Mailbox Display Options"); + $optvals[SMOPT_GRP_MAILBOX] = array(); + + $optvals[SMOPT_GRP_MAILBOX][] = array( + 'name' => 'show_num', + 'caption' => _("Number of Messages per Page"), + 'type' => SMOPT_TYPE_INTEGER, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY + ); + + $optvals[SMOPT_GRP_MAILBOX][] = array( + 'name' => 'alt_index_colors', + 'caption' => _("Enable Alternating Row Colors"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + + $optvals[SMOPT_GRP_MAILBOX][] = array( + 'name' => 'fancy_index_highlite', + 'caption' => _("Enable Fancy Row Mouseover Highlighting"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + $optvals[SMOPT_GRP_MAILBOX][] = array( 'name' => 'show_flag_buttons', 'caption' => _("Show Flag / Unflag Buttons"), @@ -261,7 +326,8 @@ function load_optpage_data_display() { 'refresh' => SMOPT_REFRESH_NONE, 'size' => SMOPT_SIZE_TINY ); - +/* + disabled because the template doesn't support it (yet?) $optvals[SMOPT_GRP_MAILBOX][] = array( 'name' => 'show_recipient_instead', 'caption' => _("Show recipient name if the message is from your default identity"), @@ -269,13 +335,8 @@ function load_optpage_data_display() { 'refresh' => SMOPT_REFRESH_NONE, 'size' => SMOPT_SIZE_TINY ); - - $optvals[SMOPT_GRP_MAILBOX][] = array( - 'name' => 'internal_date_sort', - 'caption' => _("Sort by Received Date"), - 'type' => SMOPT_TYPE_BOOLEAN, - 'refresh' => SMOPT_REFRESH_ALL - ); +*/ + if ($allow_thread_sort == TRUE) { $optvals[SMOPT_GRP_MAILBOX][] = array( 'name' => 'sort_by_ref', @@ -306,6 +367,16 @@ function load_optpage_data_display() { 'refresh' => SMOPT_REFRESH_NONE ); + if ($use_iframe) { + // Type is set to string in order to be able to use 100%. + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'iframe_height', + 'caption' => _("Height of inline frame"), + 'type' => SMOPT_TYPE_STRING, + 'size' => SMOPT_SIZE_TINY, + 'refresh' => SMOPT_REFRESH_NONE + ); + } $optvals[SMOPT_GRP_MESSAGE][] = array( 'name' => 'enable_forward_as_attachment', 'caption' => _("Enable Forward as Attachment"), @@ -338,7 +409,7 @@ function load_optpage_data_display() { $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 ); @@ -355,7 +426,27 @@ function load_optpage_data_display() { /** Define any specialized save functions for this option page. ***/ /******************************************************************/ -function save_option_header($option) { +/** + * 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); } /** @@ -408,20 +499,4 @@ function icon_theme_save($option) { } -/** - * This function saves the reply prefix (body_quote) character(s) - */ -function save_option_reply_prefix($option) { - - // save as "NONE" if it was blanked out - // - if (empty($option->new_value)) $option->new_value = 'NONE'; - - - // Save the option like normal. - // - save_option($option); - -} - ?>