Happy New Year
[squirrelmail.git] / include / options / display.php
index 6f1309e3f025b28c982af2c314a4c5e6071a4931..1effe44a4a2de21c03f2d8481cc2f81c24e96c69 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Displays all optinos about display preferences
  *
- * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @copyright 1999-2020 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -15,6 +15,7 @@
 define('SMOPT_GRP_GENERAL', 0);
 define('SMOPT_GRP_MAILBOX', 1);
 define('SMOPT_GRP_MESSAGE', 2);
+define('SMOPT_GRP_ABOOK', 3);
 
 global $use_iframe;
 if (! isset($use_iframe)) $use_iframe=false;
@@ -81,14 +82,14 @@ function load_optpage_data_display() {
     $template_themes = $oTemplate->get_alternative_stylesheets(true);
     asort($template_themes);
     foreach ($template_themes as $sheet=>$name) {
-        $theme_values[$sheet] = 'Template Theme - '.htmlspecialchars($name);
+        $theme_values[$sheet] = 'Template Theme - '.sm_encode_html_special_chars($name);
     }
     // Next, list user-provided styles
     asort($user_themes);
     foreach ($user_themes as $style) {
         if ($style['PATH'] == 'none')
             continue;
-        $theme_values[$style['PATH']] = 'User Theme - '.htmlspecialchars($style['NAME']);
+        $theme_values[$style['PATH']] = 'User Theme - '.sm_encode_html_special_chars($style['NAME']);
     }
 
     if (count($user_themes) + count($template_themes) > 1) {
@@ -197,7 +198,7 @@ function load_optpage_data_display() {
                            SMPREF_JS_ON         => _("Always"),
                            SMPREF_JS_OFF        => _("Never")),
         'save'    => 'save_option_javascript_autodetect',
-        'script'  => 'onclick="document.forms[0].new_js_autodetect_results.value = \'' . SMPREF_JS_ON . '\';"'
+        'extra_attributes' => array('onclick' => 'document.option_form.new_js_autodetect_results.value = \'' . SMPREF_JS_ON . '\';'),
     );
 
     $optvals[SMOPT_GRP_GENERAL][] = array(
@@ -279,6 +280,13 @@ function load_optpage_data_display() {
         'size'    => SMOPT_SIZE_TINY
     );
 
+    $optvals[SMOPT_GRP_MAILBOX][] = array(
+        'name'    => 'show_personal_names',
+        'caption' => _("Show Names Instead of Email Addresses"),
+        'type'    => SMOPT_TYPE_BOOLEAN,
+        'refresh' => SMOPT_REFRESH_NONE,
+    );
+
     $optvals[SMOPT_GRP_MAILBOX][] = array(
         'name'    => 'show_full_date',
         'caption' => _("Always Show Full Date"),
@@ -286,6 +294,16 @@ function load_optpage_data_display() {
         'refresh' => SMOPT_REFRESH_NONE
     );
 
+    $optvals[SMOPT_GRP_MAILBOX][] = array(
+        'name'          => 'custom_date_format',
+        'caption'       => _("Custom Date Format"),
+//FIXME: need better wording here.  users should be made aware that this is for advanced use.  It might be nice to provide a list of the more common date format characters.  It may be helpful to know that it overrides settings such as the one above show_full_date, and only if kept empty will the other date formats apply.  For non-English users, it also may be helpful to know that the format is still passed through our own date_intl() function which translates things like the day of the week, month names and abbreviations, etc.
+        'trailing_text' => ' ' . _("(Uses format of PHP date() function)"),
+        'type'          => SMOPT_TYPE_STRING,
+        'refresh'       => SMOPT_REFRESH_NONE,
+        'size'          => SMOPT_SIZE_TINY,
+    );
+
     $optvals[SMOPT_GRP_MAILBOX][] = array(
         'name'    => 'truncate_sender',
         'caption' => _("Length of From/To Field (0 for full)"),
@@ -390,6 +408,44 @@ FIXME!
         'refresh' => SMOPT_REFRESH_ALL
     );
 
+
+
+    /*** Load the Address Book Options into the array ***/
+    $optgrps[SMOPT_GRP_ABOOK] = _("Address Book Display Options");
+    $optvals[SMOPT_GRP_ABOOK] = array();
+
+    $optvals[SMOPT_GRP_ABOOK][] = array(
+        'name'    => 'abook_show_num',
+        'caption' => _("Number of Addresses per Page"),
+        'type'    => SMOPT_TYPE_INTEGER,
+        'refresh' => SMOPT_REFRESH_NONE,
+        'size'    => SMOPT_SIZE_TINY
+    );
+
+    $optvals[SMOPT_GRP_ABOOK][] = array(
+        'name'    => 'abook_page_selector',
+        'caption' => _("Enable Page Selector"),
+        'type'    => SMOPT_TYPE_BOOLEAN,
+        'refresh' => SMOPT_REFRESH_NONE
+    );
+
+    $optvals[SMOPT_GRP_ABOOK][] = array(
+        'name'    => 'abook_compact_paginator',
+        'caption' => _("Use Compact Page Selector"),
+        'type'    => SMOPT_TYPE_BOOLEAN,
+        'refresh' => SMOPT_REFRESH_NONE
+    );
+
+    $optvals[SMOPT_GRP_ABOOK][] = array(
+        'name'    => 'abook_page_selector_max',
+        'caption' => _("Maximum Number of Pages to Show"),
+        'type'    => SMOPT_TYPE_INTEGER,
+        'refresh' => SMOPT_REFRESH_NONE,
+        'size'    => SMOPT_SIZE_TINY
+    );
+
+
+
     /* Assemble all this together and return it as our result. */
     $result = array(
         'grps' => $optgrps,
@@ -430,7 +486,7 @@ function save_option_template($option) {
         //
         global $sTemplateID;
         $sTemplateID = $option->new_value;
-        Template::cache_template_file_hierarchy(TRUE);
+        Template::cache_template_file_hierarchy($sTemplateID, TRUE);
 
     }