X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=include%2Foptions%2Fdisplay.php;h=c2814c85b92d8dbac685949667652d26443aa5fb;hp=a519de42f35a1a06b6b17e021a0a8ef05efe4944;hb=bbb2bab55dbfb58735b8aa3eab53c052410753fa;hpb=f9376f0b37df5d02614e286640e4d0b296c27a08 diff --git a/include/options/display.php b/include/options/display.php index a519de42..c2814c85 100644 --- a/include/options/display.php +++ b/include/options/display.php @@ -5,7 +5,7 @@ * * Displays all optinos about display preferences * - * @copyright © 1999-2006 The SquirrelMail Project Team + * @copyright © 1999-2009 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; @@ -72,36 +73,23 @@ function load_optpage_data_display() { } /* Load the theme option. */ - - /** - * User themes start with a 'u_', template themes start with a 't_' to - * differentiate which is which. This seems kind of hackish, but we can - * come up with a better solution later. -PL: No need for the prefixes. Just use full paths, no? - -SB: Don't think so. If the user chooses a template theme than changes the - path to the template, it would error out, right? Or should we worry about - that? - * - * TODO: Clean me. - **/ $theme_values = array(); // Always provide the template default first. $theme_values['none'] = 'Template Default Theme'; // List alternate themes provided by templates first - $template_themes = $oTemplate->get_alternative_stylesheets(); + $template_themes = $oTemplate->get_alternative_stylesheets(true); asort($template_themes); foreach ($template_themes as $sheet=>$name) { - $theme_values['t_'.$sheet] = 'Template Theme - '.htmlspecialchars($name); + $theme_values[$sheet] = 'Template Theme - '.htmlspecialchars($name); } // Next, list user-provided styles asort($user_themes); foreach ($user_themes as $style) { if ($style['PATH'] == 'none') continue; - $theme_values['u_'.$style['PATH']] = 'User Theme - '.htmlspecialchars($style['NAME']); + $theme_values[$style['PATH']] = 'User Theme - '.htmlspecialchars($style['NAME']); } if (count($user_themes) + count($template_themes) > 1) { @@ -210,7 +198,7 @@ SB: Don't think so. If the user chooses a template theme than changes the 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( @@ -292,6 +280,13 @@ SB: Don't think so. If the user chooses a template theme than changes the '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"), @@ -299,6 +294,16 @@ SB: Don't think so. If the user chooses a template theme than changes the '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)"), @@ -403,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, @@ -443,10 +486,14 @@ function save_option_template($option) { // global $sTemplateID; $sTemplateID = $option->new_value; - Template::cache_template_file_hierarchy(TRUE); + Template::cache_template_file_hierarchy($sTemplateID, TRUE); } + /** + * TODO: If the template changes and we are using a template provided theme + * ($user_theme), do we want to reset $user_theme? + */ /* Save the option like normal. */ save_option($option); } @@ -488,14 +535,16 @@ function css_theme_save ($option) { $found = false; reset($user_themes); while (!$found && (list($index, $data) = each($user_themes))) { - if ('u_'.$data['PATH'] == $option->new_value) + if ($data['PATH'] == $option->new_value) $found = true; } - $template_themes = $oTemplate->get_alternative_stylesheets(); - foreach ($template_themes as $path=>$name) { - if ('t_'.$path == $option->new_value) - $found = true; + if (!$found) { + $template_themes = $oTemplate->get_alternative_stylesheets(true); + while (!$found && (list($path, $name) = each($template_themes))) { + if ($path == $option->new_value) + $found = true; + } } if (!$found)