<?php /** * $Horde: horde/config/prefs.php.dist,v 1.85.2.11 2008-05-31 07:45:43 jan Exp $ * * Preferences Information * ======================= * Changes you make to the prefs.php file(s) will not be reflected until the * user logs out and logs in again. * * If you change these preferences in a production system, you will * need to delete any horde_prefs in your preferences database. * * prefGroups array * ---------------- * $prefGroups are for display purposes when you press the options button. * The options choice will appear when you set your preferences driver * in the horde/config/conf.php file. * * $prefGroups array definition: * column: What column head this group will go under * label: Label for the group of settings * desc: Description that will show under label * members: List of preferences supported by this group * * _prefs array * ------------ * The $_prefs array's are listed in the same order as listed in the * members element of $prefGroups. * * value: This entry will hold the default preference value depending on the * preference type: * checkbox: 0 or false for unchecked, 1 or true for checked * enum: Preselected item from associated enumeration * implicit: See Preference type * link: Not used * number: Number value * password: Should be '' * select: Preselected item from associated selection list * special: Not used * text: Text value * textarea: Text value, lines separated with "\n" * * locked: Allow preference to be changed from UI * true: Do not show this preference in the UI. * This has no effect on 'link' type preferences. * false: Show this preference in the UI and allow changing. * * shared: Share with other horde apps * true: Share this pref with other Horde apps * false: Keep this pref local to the current app * * type: Preference type * checkbox: Provides a checkbox. * enum: Provides a selection list in the UI, list is * specified in the associated 'enum' setting. * implicit: Provides storage for 'special' types. * link: Provides a link to another data entry form. * number: Provides a 3-character textbox to enter a natural * number; syntaxcheck is performed after data entry. * password: Provides a textbox for password entry. * select: Provides a selection list in the UI that is built in * lib/prefs.php. * special: Provides an UI widget. * text: Provides a single-line textbox. * textarea: Provides a multi-line textbox. * * enum: Static list of elements for 'type' => 'enum'. * * escaped: For an enum or a select, are the keys and values already * html-escaped? Defaults to false if not present. * * hook: Call a hook function for the value of this preference * true: Will call the function _prefs_hook_<prefname> * to fill in the value of this preference. * See hooks.php for more details. * false: Normal behaviour - no hook is called. */ $prefGroups['identities'] = array( 'column' => _("Your Information"), 'label' => _("Personal Information"), 'desc' => _("Change the name and address that people see when they read and reply to your emails."), 'members' => array('default_identity', 'identityselect', 'deleteidentity', 'id', 'fullname', 'from_addr') ); $prefGroups['authentication'] = array( 'column' => _("Your Information"), 'label' => _("Authentication Credentials"), 'desc' => _("Set authentication credentials like user names and passwords for external servers."), 'members' => array('credentialsui'), ); $auth = &Auth::singleton($GLOBALS['conf']['auth']['driver']); if (is_a($auth, 'Auth') && $auth->hasCapability('update')) { $prefGroups['forgotpass'] = array( 'column' => _("Your Information"), 'label' => _("Account Password"), 'desc' => _("Set options to allow you to reset your password if you ever forget it."), 'members' => array('security_question', 'security_answer', 'alternate_email') ); } $prefGroups['language'] = array( 'column' => _("Your Information"), 'label' => _("Locale and Time"), 'desc' => _("Set your preferred language, timezone and date options."), 'members' => array('language', 'timezone', 'twentyFour', 'date_format', 'first_week_day') ); $prefGroups['categories'] = array( 'column' => _("Your Information"), 'label' => _("Categories and Labels"), 'desc' => _("Manage the list of categories you have to label items with, and colors associated with those categories."), 'members' => array('categorymanagement') ); $prefGroups['display'] = array( 'column' => _("Other Information"), 'label' => _("Display Options"), 'desc' => _("Set your startup application, color scheme, page refreshing, and other display options."), 'members' => array('initial_application', 'show_last_login', 'theme', 'summary_refresh_time', 'show_sidebar', 'sidebar_width', 'moz_sidebar', 'menu_view', 'menu_refresh_time', 'widget_accesskey') ); $prefGroups['logintasks'] = array( 'column' => _("Other Information"), 'label' => _("Login Tasks"), 'desc' => sprintf(_("Customize tasks to run upon logon to %s."), $GLOBALS['registry']->get('name')), 'members' => array('do_maintenance', 'confirm_maintenance') ); $prefGroups['remote'] = array( 'column' => _("Other Information"), 'label' => _("Remote Servers"), 'desc' => _("Set up remote servers that you want to access from your portal."), 'url' => 'services/portal/rpcsum.php' ); // For alternate IMSP authentication. if (!empty($GLOBALS['conf']['imsp']['enabled'])) { $prefGroups['imspauth'] = array( 'column' => _("Other Information"), 'label' => _("Alternate IMSP Login"), 'desc' => _("Use if name/password is different for IMSP server."), 'members' => array('imsp_auth_user', 'imsp_auth_pass') ); } // Determine functionality of richtext editor $prefGroups['richtext'] = array( 'column' => _("Other Information"), 'label' => _("Rich Text Editor Options"), 'desc' => _("Which plugins to enable for the Rich Text editor."), 'members' => array('editor_plugins'), ); $prefGroups['syncml'] = array( 'column' => _("Other Information"), 'label' => _("SyncML"), 'desc' => _("Configuration for syncing with PDAs, Smartphones and Outlook."), 'url' => 'services/portal/syncml.php', 'members' => array() ); // Personal Information preferences // default identity // Set locked to true if you don't want the users to have multiple identities. $_prefs['default_identity'] = array( 'value' => 0, 'locked' => false, 'shared' => true, 'type' => 'enum', 'enum' => (isset($GLOBALS['identity']) && is_object($GLOBALS['identity'])) ? $GLOBALS['identity']->getAll('id') : array(), 'desc' => _("Your default identity:"), ); // identities array // Don't change anything here. $_prefs['identities'] = array( 'value' => 'a:0:{}', 'locked' => false, 'shared' => true, 'type' => 'implicit', ); // identify email confirmation $_prefs['confirm_email'] = array( 'value' => 'a:0:{}', 'locked' => false, 'shared' => true, 'type' => 'implicit', ); // identity selection widget $_prefs['identityselect'] = array( 'shared' => true, 'type' => 'special', ); // delete button $_prefs['deleteidentity'] = array( 'type' => 'special', 'shared' => true, ); // identity name // If you lock this preference, you must specify a value or a hook for it in // horde/config/hooks.php. $_prefs['id'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'text', 'desc' => _("Identity's name:") ); // user full name for From: line // If you lock this preference, you must specify a value or a hook for it in // horde/config/hooks.php. $_prefs['fullname'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'text', 'desc' => _("Your full name:") ); // user preferred email address for From: line // If you lock this preference, you must specify a value or a hook for it in // horde/config/hooks.php. $_prefs['from_addr'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'text', 'desc' => _("Your From: address:") ); // Authentication Options // credentials $_prefs['credentials'] = array( 'value' => 'a:0:{}', 'locked' => false, 'shared' => true, 'type' => 'implicit' ); // credentials interface $_prefs['credentialsui'] = array( 'shared' => true, 'type' => 'special', ); // user security question $_prefs['security_question'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'text', 'desc' => _("Enter a security question which you will be asked if you need to reset your password, e.g. 'what is the name of your pet?':") ); // user security answer $_prefs['security_answer'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'text', 'desc' => _("Insert the required answer to the security question:") ); // user alternate email $_prefs['alternate_email'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'text', 'desc' => _("Insert an email address to which you can receive the new password:") ); // user language $_prefs['language'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'select', 'escaped' => true, 'desc' => _("Select your preferred language:") ); // user time zone $_prefs['timezone'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'select', 'desc' => _("Your current time zone:") ); // time format $_prefs['twentyFour'] = array( 'value' => false, 'locked' => false, 'shared' => true, 'type' => 'checkbox', 'desc' => _("Display 24-hour times?") ); // date format $_prefs['date_format'] = array( 'value' => '%x', 'locked' => false, 'shared' => true, 'type' => 'enum', 'enum' => array( '%x' => strftime('%x'), '%Y-%m-%d' => strftime('%Y-%m-%d'), '%d/%m/%Y' => strftime('%d/%m/%Y'), '%A %B %d, %Y' => strftime('%A %B %d, %Y'), '%A, %d. %B %Y' => strftime('%A, %d. %B %Y'), '%A, %d %B %Y' => strftime('%A, %d %B %Y'), '%a, %b %e, %Y' => strftime('%a, %b %e, %Y'), '%a, %b %e, %y' => strftime('%a, %b %e, %y'), '%a, %b %e' => strftime('%a, %b %e'), '%a, %e %b %Y' => strftime('%a, %e %b %Y'), '%a, %e %b %y' => strftime('%a, %e %b %y'), '%a %d %b %Y' => strftime ('%a %d %b %Y'), '%a %x' => strftime ('%a %x'), '%a %Y-%m-%d' => strftime ('%a %Y-%m-%d'), '%e %b %Y' => strftime('%e %b %Y'), '%e. %b %Y' => strftime('%e. %b %Y'), '%e. %m %Y' => strftime('%e %m %Y'), '%e. %m.' => strftime('%e. %m.'), '%e. %B' => strftime('%e. %B'), '%e. %B %Y' => strftime('%e. %B %Y'), '%e. %B %y' => strftime('%e. %B %y'), '%B %e, %Y' => strftime('%B %e, %Y'), ), 'desc' => _("Choose how to display dates:"), ); // what day should be displayed as the first day of the week? $_prefs['first_week_day'] = array( 'value' => '0', 'locked' => false, 'shared' => true, 'type' => 'enum', 'desc' => _("Which day would you like to be displayed as the first day of the week?"), 'enum' => array('0' => _("Sunday"), '1' => _("Monday")) ); // UI theme $_prefs['theme'] = array( 'value' => 'bluewhite', 'locked' => false, 'shared' => true, 'type' => 'select', 'desc' => _("Select your color scheme.") ); // categories $_prefs['categories'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'implicit' ); // category colors $_prefs['category_colors'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'implicit' ); // UI for category management. $_prefs['categorymanagement'] = array( 'type' => 'special' ); $_prefs['summary_refresh_time'] = array( 'value' => 300, 'locked' => false, 'shared' => false, 'type' => 'enum', 'enum' => array(0 => _("Never"), 30 => _("Every 30 seconds"), 60 => _("Every minute"), 300 => _("Every 5 minutes"), 900 => _("Every 15 minutes"), 1800 => _("Every half hour")), 'desc' => _("Refresh Portal View:") ); $_prefs['show_sidebar'] = array( 'value' => true, 'locked' => false, 'shared' => true, 'type' => 'checkbox', 'desc' => sprintf(_("Show the %s Menu on the left?"), $GLOBALS['registry']->get('name', 'horde')) ); $_prefs['sidebar_width'] = array( 'value' => 150, 'locked' => false, 'shared' => false, 'type' => 'number', 'desc' => sprintf(_("Width of the %s menu on the left:"), $GLOBALS['registry']->get('name', 'horde')) ); $_prefs['moz_sidebar'] = array( 'type' => 'link', 'xurl' => sprintf('javascript:if (window.sidebar && window.sidebar.addPanel) window.sidebar.addPanel(\'%s\', \'%s\', \'%s\'); else alert(\'%s\');', $GLOBALS['registry']->get('name', 'horde'), Util::addParameter(Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/services/portal/sidebar.php', true, -1), 'mozbar', '1'), Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/prefs.php', true, -1), addslashes(_("Couldn't find the Mozilla Sidebar. Make sure the sidebar is open."))), 'desc' => sprintf(_("Add the %s Menu as a Mozilla Sidebar"), $GLOBALS['registry']->get('name', 'horde')) ); $_prefs['menu_view'] = array( 'value' => 'both', 'locked' => false, 'shared' => true, 'type' => 'enum', 'enum' => array('text' => _("Text Only"), 'icon' => _("Icons Only"), 'both' => _("Icons with text")), 'desc' => _("Menu mode:") ); $_prefs['menu_refresh_time'] = array( 'value' => 300, 'locked' => false, 'shared' => true, 'type' => 'enum', 'enum' => array(0 => _("Never"), 30 => _("Every 30 seconds"), 60 => _("Every minute"), 120 => _("Every 2 minutes"), 300 => _("Every 5 minutes")), 'desc' => _("Refresh Dynamic Menu Elements:") ); // Login/Maintenance Tasks preferences // To disable maintenance entirely, set 'value' = false and // 'locked' = true for all of these. To just turn it off by default, // set 'value' false for do_maintenance. // perform maintenance operations? $_prefs['do_maintenance'] = array( 'value' => true, 'locked' => false, 'shared' => true, 'type' => 'checkbox', 'desc' => _("Perform maintenance operations on login?"), 'help' => 'prefs-do_maintenance'); // last time maintenance was run. // value is a UNIX timestamp of the last time maintenance ran for the user. $_prefs['last_maintenance'] = array( 'value' => 0, 'locked' => false, 'shared' => true, 'type' => 'implicit' ); // confirm when doing maintenance operations? If false, they will // be performed with no input from/check with the user. $_prefs['confirm_maintenance'] = array( 'value' => true, 'locked' => false, 'shared' => true, 'type' => 'checkbox', 'desc' => _("Ask for confirmation before doing maintenance operations?"), 'help' => 'prefs-confirm_maintenance'); // End Login/Maintenance preferences // what application should we go to after login? $_prefs['initial_application'] = array( 'value' => 'horde', 'locked' => false, 'shared' => true, 'type' => 'select', 'desc' => sprintf(_("What application should %s display after login?"), $GLOBALS['registry']->get('name')) ); // should we create access keys? $_prefs['widget_accesskey'] = array( 'value' => true, 'locked' => false, 'shared' => true, 'type' => 'checkbox', 'desc' => _("Should access keys be defined for most links?") ); // the layout of the portal page. $_prefs['portal_layout'] = array( 'value' => 'a:0:{}', 'locked' => false, 'shared' => false, 'type' => 'implicit' ); // the remote servers. $_prefs['remote_summaries'] = array( 'value' => 'a:0:{}', 'locked' => false, 'shared' => false, 'type' => 'implicit' ); // last login time of user // value is a serialized array of the UNIX timestamp of the last // login, and the host that the last login was from. $_prefs['last_login'] = array( 'value' => 'a:0:{}', 'locked' => false, 'shared' => true, 'type' => 'implicit' ); // show the last login time of user $_prefs['show_last_login'] = array( 'value' => true, 'locked' => false, 'shared' => true, 'type' => 'checkbox', 'desc' => _("Show last login time when logging in?") ); if (!empty($GLOBALS['conf']['imsp']['enabled'])) { $_prefs['imsp_auth_user'] = array( 'value' => '', 'locked' => false, 'shared' => false, 'type' => 'text', 'desc' => _("Alternate IMSP Username") ); $_prefs['imsp_auth_pass'] = array( 'value' => '', 'locked' => false, 'shared' => false, 'type' => 'password', 'desc' => _("Alternate IMSP Password") ); } // Rich Text Editor preferences. $_prefs['editor_plugins'] = array( 'value' => 'a:2:{i:0;s:8:"ListType";i:1;s:12:"CharacterMap";}', 'locked' => false, 'shared' => true, 'type' => 'multienum', 'enum' => array( 'ContextMenu' => _("Right click context menu"), 'TableOperations' => _("Table operations menu bar"), 'ListType' => _("Allow setting of ordered list type"), 'CharacterMap' => _("Special characters"), 'AnselImage' => _("Insertion of images from Photo Galleries in text")), 'desc' => _("Select editor plugins") ); // End Rich Text Editor preferences.