X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Foptions_display.php;h=ccb337dedbdf15e216fea93d75c5298bd0f601e9;hb=cbe5423b30fd1c50b7dd9546778cbebf48804953;hp=69cba54bea73de561481ddf1d78e3ac8ea3fb278;hpb=23d6bd09c631285eae8c45af3a37aa7c86be3cfa;p=squirrelmail.git diff --git a/src/options_display.php b/src/options_display.php index 69cba54b..ccb337de 100644 --- a/src/options_display.php +++ b/src/options_display.php @@ -1,120 +1,251 @@ -
- - -
-
+/** + * options_display.php + * + * Copyright (c) 1999-2001 The SquirrelMail Development Team + * Licensed under the GNU GPL. For full terms see the file COPYING. + * + * Displays all optinos about display preferences + * + * $Id$ + */ - - -
+/* Define the group constants for the display options page. */ +define('SMOPT_GRP_GENERAL', 0); +define('SMOPT_GRP_MAILBOX', 1); +define('SMOPT_GRP_MESSAGE', 2); -

- - _("JavaScript"), - '0' => _("HTML") ), - $use_javascript_addr_book ); - OptionSelect( _("Use Javascript"), 'new_javascript_setting', - array(SMPREF_JS_AUTODETECT => _("Autodetect"), - SMPREF_JS_ON => _("Always"), - SMPREF_JS_OFF => _("Never") ), - $javascript_setting ); - OptionHidden('js_autodetect_results', SMPREF_JS_OFF); - OptionText( _("Number of Messages to Index"), 'shownum', $show_num, 5 ); - OptionText( _("Wrap incoming text at"), 'wrapat', $wrap_at, 5 ); - OptionText( _("Size of editor window"), 'editorsize', $editor_size, 5 ); - OptionSelect( _("Location of buttons when composing"), - 'button_new_location', - array( 'top' => _("Before headers"), - 'between' => _("Between headers and message body"), - 'bottom' => _("After message body") ), - $location_of_buttons ); - OptionSelect( _("Location of folder list"), - 'folder_new_location', - array( '' => _("Left"), - 'right' => _("Right") ), - $location_of_bar ); - for ($i = 100; $i <= 300; $i += 10) { - $res[$i] = $i . _("pixels"); - } - OptionSelect( _("Width of folder list"), - 'leftsize', - $res, - $left_size ); - $minutes_str = _("Minutes"); - OptionSelect( _("Auto refresh folder list"), - 'leftrefresh', - array( 'None' => _("Never"), - 30 => '30 '. _("Seconds"), - 60 => '1 ' . _("Minute"), - 120 => "2 $minutes_str", - 180 => "3 $minutes_str", - 300 => "5 $minutes_str", - 600 => "10 $minutes_str" ), - $left_refresh ); - OptionRadio( _("Use alternating row colors?"), - 'altIndexColors', - array( 1 => _("Yes"), - 0 => _("No") ), - $alt_index_colors ); - OptionCheck( _("Show HTML version by default"), - 'showhtmldefault', - $show_html_default, - _("Yes, show me the HTML version of a mail message, if it is available.") ); - OptionCheck( _("Include Self"), - 'includeselfreplyall', - getPref($data_dir, $username, 'include_self_reply_all', FALSE ), - _("Don't remove me from the CC addresses when I use \"Reply All\"") ); - $psw = getPref($data_dir, $username, 'page_selector_max', 10 ); - OptionCheck( _("Page Selector"), - 'pageselector', - !getPref($data_dir, $username, 'page_selector', FALSE ), - _("Show page selector") . - "  " . - _("pages max") ); - - echo ''; - do_hook('options_display_inside'); - OptionSubmit( 'submit_display' ); -?> +/* Define the optpage load function for the display options page. */ +function load_optpage_data_display() { + global $theme, $languages, $js_autodetect_results; + + /* 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 ***/ + $optgrps[SMOPT_GRP_GENERAL] = _("General Display Options"); + $optvals[SMOPT_GRP_GENERAL] = array(); + + /* Load the theme option. */ + $theme_values = array(); + foreach ($theme as $theme_key => $theme_attributes) { + $theme_values[$theme_attributes['PATH']] = $theme_attributes['NAME']; + } + $optvals[SMOPT_GRP_GENERAL][] = array( + 'name' => 'chosen_theme', + 'caption' => _("Theme"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_ALL, + 'posvals' => $theme_values, + 'save' => 'save_option_theme' + ); + + $language_values = array(); + foreach ($languages as $lang_key => $lang_attributes) { + if (isset($lang_attributes['NAME'])) { + $language_values[$lang_key] = $lang_attributes['NAME']; + } + } + $optvals[SMOPT_GRP_GENERAL][] = array( + 'name' => 'language', + 'caption' => _("Language"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_ALL, + 'posvals' => $language_values + ); + + /* Set values for the "use javascript" option. */ + $optvals[SMOPT_GRP_GENERAL][] = array( + 'name' => 'javascript_setting', + 'caption' => _("Use Javascript"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_ALL, + 'posvals' => array(SMPREF_JS_AUTODETECT => _("Autodetect"), + SMPREF_JS_ON => _("Always"), + SMPREF_JS_OFF => _("Never")) + ); + + $js_autodetect_script = " + + "; + $js_autodetect_results = SMPREF_JS_OFF; + $optvals[SMOPT_GRP_GENERAL][] = array( + 'name' => 'js_autodetect_results', + 'caption' => '', + 'type' => SMOPT_TYPE_HIDDEN, + 'refresh' => SMOPT_REFRESH_NONE, + 'script' => $js_autodetect_script, + 'save' => 'save_option_javascript_autodetect' + ); + + /*** 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 to Index"), + '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' => 'page_selector', + 'caption' => _("Enable Page Selector"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + + $optvals[SMOPT_GRP_MAILBOX][] = array( + 'name' => 'page_selector_max', + 'caption' => _("Maximum Number of Pages to Show"), + 'type' => SMOPT_TYPE_INTEGER, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY + ); + + /*** Load the General Options into the array ***/ + $optgrps[SMOPT_GRP_MESSAGE] = _("Message Display and Composition"); + $optvals[SMOPT_GRP_MESSAGE] = array(); -

-
+ $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'wrap_at', + 'caption' => _("Wrap Incoming Text At"), + 'type' => SMOPT_TYPE_INTEGER, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY + ); - + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'editor_size', + 'caption' => _("Size of Editor Window"), + 'type' => SMOPT_TYPE_INTEGER, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY + ); -
+ $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'location_of_buttons', + 'caption' => _("Location of Buttons when Composing"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'posvals' => array(SMPREF_LOC_TOP => _("Before headers"), + SMPREF_LOC_BETWEEN => _("Between headers and message body"), + SMPREF_LOC_BOTTOM => _("After message body")) + ); - + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'use_javascript_addr_book', + 'caption' => _("Addressbook Display Format"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'posvals' => array('1' => _("Javascript"), + '0' => _("HTML")) + ); -
- + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'show_html_default', + 'caption' => _("Show HTML Version by Default"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'include_self_reply_all', + 'caption' => _("Include Me in CC when I Reply All"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'show_xmailer_default', + 'caption' => _("Enable Mailer Display"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'attachment_common_show_images', + 'caption' => _("Display Attached Images with Message"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'pf_subtle_link', + 'caption' => _("Enable Subtle Printer Friendly Link"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'pf_cleandisplay', + 'caption' => _("Enable Printer Friendly Clean Display"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + + /* 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. ***/ +/******************************************************************/ + +function save_option_theme($option) { + global $theme; + + /* Do checking to make sure $new_theme is in the array. */ + $theme_in_array = false; + for ($i = 0; $i < count($theme); ++$i) { + if ($theme[$i]['PATH'] == $option->new_value) { + $theme_in_array = true; + break; + } + } + + if (!$theme_in_array) { + $option->new_value = ''; + } + + /* Save the option like normal. */ + save_option($option); +} + +function save_option_javascript_autodetect($option) { + global $data_dir, $username, $new_javascript_setting; + + /* Set javascript either on or off. */ + if ($new_javascript_setting == SMPREF_JS_AUTODETECT) { + if ($option->new_value == SMPREF_JS_ON) { + setPref($data_dir, $username, 'javascript_on', SMPREF_JS_ON); + } else { + setPref($data_dir, $username, 'javascript_on', SMPREF_JS_OFF); + } + } else { + setPref($data_dir, $username, 'javascript_on', $new_javascript_setting); + } +} + +?>