X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Foptions_display.php;h=f009b0c1de24594eee016d21f3f814065a2b7d31;hp=a8ea08526f5bd61d3788c73ffded497d9819011a;hb=0768773669776e69bc394f265dbb300584c33a29;hpb=6ee631f7b92f6a205e0841ac40e6b0e763a5a734 diff --git a/src/options_display.php b/src/options_display.php index a8ea0852..f009b0c1 100644 --- a/src/options_display.php +++ b/src/options_display.php @@ -1,286 +1,339 @@ -
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
: - -'; -?> -
: - -'; - if (! $use_gettext) - echo '
This system doesn\'t support multiple languages'; - -?> -
  - '; - if ($use_javascript_addr_book == true) { - echo ' ' . _("JavaScript") . '    '; - echo ' ' . _("HTML"); - } else { - echo ' ' . _("JavaScript") . '    '; - echo ' ' . _("HTML"); - } - ?> -
: - -
'; - else - echo '
'; -?> -
: - -
'; - else - echo '
'; -?> -
: - -= 10 && $editor_size <= 255) - echo '
'; - else - echo '
'; -?> -
: -
: -
: - -' . "\n"; - for ($i = 100; $i <= 300; $i += 10) - { - if ($left_size >= $i && $left_size < $i + 10) - echo "
: - -'; - if (($left_refresh == 'None') || ($left_refresh == '')) - echo '
- - - _("Default" ) ); + $handle=opendir('../themes/css/'); + while ($file = readdir($handle) ) { + if ( substr( $file, -4 ) == '.css' ) { + $css_values[$file] = substr( $file, 0, strlen( $file ) - 4 ); + } + } + closedir($handle); + + if ( count( $css_values > 1 ) ) { + + $optvals[SMOPT_GRP_GENERAL][] = array( + 'name' => 'custom_css', + 'caption' => _("Custom Stylesheet"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_ALL, + 'posvals' => $css_values + ); + + } + + $language_values = array(); + foreach ($languages as $lang_key => $lang_attributes) { + if (isset($lang_attributes['NAME'])) { + $language_values[$lang_key] = $lang_attributes['NAME']; + } + } + asort($language_values); + $language_values = + array_merge(array('' => _("Default")), $language_values); + $language = $squirrelmail_language; + $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 = + "\n"; + $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' => 'forward_cc', + 'caption' => _("Include CCs when forwarding messages"), + '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 + ); + + if ($default_use_mdn) { + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'mdn_user_support', + 'caption' => _("Enable request/confirm reading"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + } + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'compose_new_win', + 'caption' => _("Always compose in a new window"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_ALL + ); + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'compose_width', + 'caption' => _("Width of compose window"), + 'type' => SMOPT_TYPE_INTEGER, + 'refresh' => SMOPT_REFRESH_ALL, + 'size' => SMOPT_SIZE_TINY + ); + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'compose_height', + 'caption' => _("Height of compose window"), + 'type' => SMOPT_TYPE_INTEGER, + 'refresh' => SMOPT_REFRESH_ALL, + 'size' => SMOPT_SIZE_TINY + ); + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'sig_first', + 'caption' => _("Append signature before reply/forward text"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_NONE + ); + + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'internal_date_sort', + 'caption' => _("Use receive date for sort"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_ALL + ); + if ($allow_thread_sort == 'true') { + $optvals[SMOPT_GRP_MESSAGE][] = array( + 'name' => 'sort_by_ref', + 'caption' => _("Use References header for thread sort"), + 'type' => SMOPT_TYPE_BOOLEAN, + 'refresh' => SMOPT_REFRESH_ALL + ); + } + /* 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 { - $a = ""; - $b = " checked"; + setPref($data_dir, $username, 'javascript_on', $new_javascript_setting); } +} + ?> - >    - >
-
- : - - > - -
  - - "name="submit_display"> -
-
- -