Mercurial > hg > rc1
comparison etc/defaults.inc.php @ 38:ac106d4c8961
flip /etc/roundcube to point here
| author | Charlie Root |
|---|---|
| date | Sat, 29 Dec 2018 05:39:53 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 37:96515de44ecf | 38:ac106d4c8961 |
|---|---|
| 1 <?php | |
| 2 | |
| 3 /* | |
| 4 +-----------------------------------------------------------------------+ | |
| 5 | Main configuration file with default settings | | |
| 6 | | | |
| 7 | This file is part of the Roundcube Webmail client | | |
| 8 | Copyright (C) 2005-2013, The Roundcube Dev Team | | |
| 9 | | | |
| 10 | Licensed under the GNU General Public License version 3 or | | |
| 11 | any later version with exceptions for skins & plugins. | | |
| 12 | See the README file for a full license statement. | | |
| 13 +-----------------------------------------------------------------------+ | |
| 14 */ | |
| 15 | |
| 16 $config = array(); | |
| 17 | |
| 18 // ---------------------------------- | |
| 19 // SQL DATABASE | |
| 20 // ---------------------------------- | |
| 21 | |
| 22 // Database connection string (DSN) for read+write operations | |
| 23 // Format (compatible with PEAR MDB2): db_provider://user:password@host/database | |
| 24 // Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv, oracle | |
| 25 // For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php | |
| 26 // NOTE: for SQLite use absolute path (Linux): 'sqlite:////full/path/to/sqlite.db?mode=0646' | |
| 27 // or (Windows): 'sqlite:///C:/full/path/to/sqlite.db' | |
| 28 $config['db_dsnw'] = 'pgsql://roundcube:nescio7 round cube@localhost/roundcube'; | |
| 29 | |
| 30 // Database DSN for read-only operations (if empty write database will be used) | |
| 31 // useful for database replication | |
| 32 $config['db_dsnr'] = ''; | |
| 33 | |
| 34 // Disable the use of already established dsnw connections for subsequent reads | |
| 35 $config['db_dsnw_noread'] = false; | |
| 36 | |
| 37 // use persistent db-connections | |
| 38 // beware this will not "always" work as expected | |
| 39 // see: http://www.php.net/manual/en/features.persistent-connections.php | |
| 40 $config['db_persistent'] = false; | |
| 41 | |
| 42 // you can define specific table (and sequence) names prefix | |
| 43 $config['db_prefix'] = ''; | |
| 44 | |
| 45 // Mapping of table names and connections to use for ALL operations. | |
| 46 // This can be used in a setup with replicated databases and a DB master | |
| 47 // where read/write access to cache tables should not go to master. | |
| 48 $config['db_table_dsn'] = array( | |
| 49 // 'cache' => 'r', | |
| 50 // 'cache_index' => 'r', | |
| 51 // 'cache_thread' => 'r', | |
| 52 // 'cache_messages' => 'r', | |
| 53 ); | |
| 54 | |
| 55 // It is possible to specify database variable values e.g. some limits here. | |
| 56 // Use them if your server is not MySQL or for better performance. | |
| 57 // For example Roundcube uses max_allowed_packet value (in bytes) | |
| 58 // which limits query size for database cache operations. | |
| 59 $config['db_max_allowed_packet'] = null; | |
| 60 | |
| 61 | |
| 62 // ---------------------------------- | |
| 63 // LOGGING/DEBUGGING | |
| 64 // ---------------------------------- | |
| 65 | |
| 66 // system error reporting, sum of: 1 = log; 4 = show | |
| 67 $config['debug_level'] = 1; | |
| 68 | |
| 69 // log driver: 'syslog', 'stdout' or 'file'. | |
| 70 $config['log_driver'] = 'file'; | |
| 71 | |
| 72 // date format for log entries | |
| 73 // (read http://php.net/manual/en/function.date.php for all format characters) | |
| 74 $config['log_date_format'] = 'd-M-Y H:i:s O'; | |
| 75 | |
| 76 // length of the session ID to prepend each log line with | |
| 77 // set to 0 to avoid session IDs being logged. | |
| 78 $config['log_session_id'] = 8; | |
| 79 | |
| 80 // Syslog ident string to use, if using the 'syslog' log driver. | |
| 81 $config['syslog_id'] = 'roundcube'; | |
| 82 | |
| 83 // Syslog facility to use, if using the 'syslog' log driver. | |
| 84 // For possible values see installer or http://php.net/manual/en/function.openlog.php | |
| 85 $config['syslog_facility'] = LOG_USER; | |
| 86 | |
| 87 // Activate this option if logs should be written to per-user directories. | |
| 88 // Data will only be logged if a directory <log_dir>/<username>/ exists and is writable. | |
| 89 $config['per_user_logging'] = false; | |
| 90 | |
| 91 // Log sent messages to <log_dir>/sendmail or to syslog | |
| 92 $config['smtp_log'] = true; | |
| 93 | |
| 94 // Log successful/failed logins to <log_dir>/userlogins or to syslog | |
| 95 $config['log_logins'] = false; | |
| 96 | |
| 97 // Log session authentication errors to <log_dir>/session or to syslog | |
| 98 $config['log_session'] = false; | |
| 99 | |
| 100 // Log SQL queries to <log_dir>/sql or to syslog | |
| 101 $config['sql_debug'] = false; | |
| 102 | |
| 103 // Log IMAP conversation to <log_dir>/imap or to syslog | |
| 104 $config['imap_debug'] = false; | |
| 105 | |
| 106 // Log LDAP conversation to <log_dir>/ldap or to syslog | |
| 107 $config['ldap_debug'] = false; | |
| 108 | |
| 109 // Log SMTP conversation to <log_dir>/smtp or to syslog | |
| 110 $config['smtp_debug'] = false; | |
| 111 | |
| 112 // Log Memcache conversation to <log_dir>/memcache or to syslog | |
| 113 $config['memcache_debug'] = false; | |
| 114 | |
| 115 // Log APC conversation to <log_dir>/apc or to syslog | |
| 116 $config['apc_debug'] = false; | |
| 117 | |
| 118 | |
| 119 // ---------------------------------- | |
| 120 // IMAP | |
| 121 // ---------------------------------- | |
| 122 | |
| 123 // The IMAP host chosen to perform the log-in. | |
| 124 // Leave blank to show a textbox at login, give a list of hosts | |
| 125 // to display a pulldown menu or set one host as string. | |
| 126 // To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// | |
| 127 // Supported replacement variables: | |
| 128 // %n - hostname ($_SERVER['SERVER_NAME']) | |
| 129 // %t - hostname without the first part | |
| 130 // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) | |
| 131 // %s - domain name after the '@' from e-mail address provided at login screen | |
| 132 // For example %n = mail.domain.tld, %t = domain.tld | |
| 133 // WARNING: After hostname change update of mail_host column in users table is | |
| 134 // required to match old user data records with the new host. | |
| 135 $config['default_host'] = 'localhost'; | |
| 136 | |
| 137 // TCP port used for IMAP connections | |
| 138 $config['default_port'] = 143; | |
| 139 | |
| 140 // IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or null to use | |
| 141 // best server supported one) | |
| 142 $config['imap_auth_type'] = null; | |
| 143 | |
| 144 // IMAP socket context options | |
| 145 // See http://php.net/manual/en/context.ssl.php | |
| 146 // The example below enables server certificate validation | |
| 147 //$config['imap_conn_options'] = array( | |
| 148 // 'ssl' => array( | |
| 149 // 'verify_peer' => true, | |
| 150 // 'verify_depth' => 3, | |
| 151 // 'cafile' => '/etc/openssl/certs/ca.crt', | |
| 152 // ), | |
| 153 // ); | |
| 154 // Note: These can be also specified as an array of options indexed by hostname | |
| 155 $config['imap_conn_options'] = null; | |
| 156 | |
| 157 // IMAP connection timeout, in seconds. Default: 0 (use default_socket_timeout) | |
| 158 $config['imap_timeout'] = 0; | |
| 159 | |
| 160 // Optional IMAP authentication identifier to be used as authorization proxy | |
| 161 $config['imap_auth_cid'] = null; | |
| 162 | |
| 163 // Optional IMAP authentication password to be used for imap_auth_cid | |
| 164 $config['imap_auth_pw'] = null; | |
| 165 | |
| 166 // If you know your imap's folder delimiter, you can specify it here. | |
| 167 // Otherwise it will be determined automatically | |
| 168 $config['imap_delimiter'] = null; | |
| 169 | |
| 170 // If you know your imap's folder vendor, you can specify it here. | |
| 171 // Otherwise it will be determined automatically. Use lower-case | |
| 172 // identifiers, e.g. 'dovecot', 'cyrus', 'gmail', 'hmail', 'uw-imap'. | |
| 173 $config['imap_vendor'] = null; | |
| 174 | |
| 175 // If IMAP server doesn't support NAMESPACE extension, but you're | |
| 176 // using shared folders or personal root folder is non-empty, you'll need to | |
| 177 // set these options. All can be strings or arrays of strings. | |
| 178 // Folders need to be ended with directory separator, e.g. "INBOX." | |
| 179 // (special directory "~" is an exception to this rule) | |
| 180 // These can be used also to overwrite server's namespaces | |
| 181 $config['imap_ns_personal'] = null; | |
| 182 $config['imap_ns_other'] = null; | |
| 183 $config['imap_ns_shared'] = null; | |
| 184 | |
| 185 // By default IMAP capabilities are readed after connection to IMAP server | |
| 186 // In some cases, e.g. when using IMAP proxy, there's a need to refresh the list | |
| 187 // after login. Set to True if you've got this case. | |
| 188 $config['imap_force_caps'] = false; | |
| 189 | |
| 190 // By default list of subscribed folders is determined using LIST-EXTENDED | |
| 191 // extension if available. Some servers (dovecot 1.x) returns wrong results | |
| 192 // for shared namespaces in this case. https://github.com/roundcube/roundcubemail/issues/2474 | |
| 193 // Enable this option to force LSUB command usage instead. | |
| 194 // Deprecated: Use imap_disabled_caps = array('LIST-EXTENDED') | |
| 195 $config['imap_force_lsub'] = false; | |
| 196 | |
| 197 // Some server configurations (e.g. Courier) doesn't list folders in all namespaces | |
| 198 // Enable this option to force listing of folders in all namespaces | |
| 199 $config['imap_force_ns'] = false; | |
| 200 | |
| 201 // Some servers return hidden folders (name starting witha dot) | |
| 202 // from user home directory. IMAP RFC does not forbid that. | |
| 203 // Enable this option to hide them and disable possibility to create such. | |
| 204 $config['imap_skip_hidden_folders'] = false; | |
| 205 | |
| 206 // List of disabled imap extensions. | |
| 207 // Use if your IMAP server has broken implementation of some feature | |
| 208 // and you can't remove it from CAPABILITY string on server-side. | |
| 209 // For example UW-IMAP server has broken ESEARCH. | |
| 210 // Note: Because the list is cached, re-login is required after change. | |
| 211 $config['imap_disabled_caps'] = array(); | |
| 212 | |
| 213 // Log IMAP session identifiers after each IMAP login. | |
| 214 // This is used to relate IMAP session with Roundcube user sessions | |
| 215 $config['imap_log_session'] = false; | |
| 216 | |
| 217 // Type of IMAP indexes cache. Supported values: 'db', 'apc' and 'memcache'. | |
| 218 $config['imap_cache'] = null; | |
| 219 | |
| 220 // Enables messages cache. Only 'db' cache is supported. | |
| 221 // This requires an IMAP server that supports QRESYNC and CONDSTORE | |
| 222 // extensions (RFC7162). See synchronize() in program/lib/Roundcube/rcube_imap_cache.php | |
| 223 // for further info, or if you experience syncing problems. | |
| 224 $config['messages_cache'] = false; | |
| 225 | |
| 226 // Lifetime of IMAP indexes cache. Possible units: s, m, h, d, w | |
| 227 $config['imap_cache_ttl'] = '10d'; | |
| 228 | |
| 229 // Lifetime of messages cache. Possible units: s, m, h, d, w | |
| 230 $config['messages_cache_ttl'] = '10d'; | |
| 231 | |
| 232 // Maximum cached message size in kilobytes. | |
| 233 // Note: On MySQL this should be less than (max_allowed_packet - 30%) | |
| 234 $config['messages_cache_threshold'] = 50; | |
| 235 | |
| 236 | |
| 237 // ---------------------------------- | |
| 238 // SMTP | |
| 239 // ---------------------------------- | |
| 240 | |
| 241 // SMTP server host (for sending mails). | |
| 242 // Enter hostname with prefix tls:// to use STARTTLS, or use | |
| 243 // prefix ssl:// to use the deprecated SSL over SMTP (aka SMTPS) | |
| 244 // Supported replacement variables: | |
| 245 // %h - user's IMAP hostname | |
| 246 // %n - hostname ($_SERVER['SERVER_NAME']) | |
| 247 // %t - hostname without the first part | |
| 248 // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) | |
| 249 // %z - IMAP domain (IMAP hostname without the first part) | |
| 250 // For example %n = mail.domain.tld, %t = domain.tld | |
| 251 $config['smtp_server'] = 'localhost'; | |
| 252 | |
| 253 // SMTP port (default is 25; use 587 for STARTTLS or 465 for the | |
| 254 // deprecated SSL over SMTP (aka SMTPS)) | |
| 255 $config['smtp_port'] = 25; | |
| 256 | |
| 257 // SMTP username (if required) if you use %u as the username Roundcube | |
| 258 // will use the current username for login | |
| 259 $config['smtp_user'] = ''; | |
| 260 | |
| 261 // SMTP password (if required) if you use %p as the password Roundcube | |
| 262 // will use the current user's password for login | |
| 263 $config['smtp_pass'] = ''; | |
| 264 | |
| 265 // SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use | |
| 266 // best server supported one) | |
| 267 $config['smtp_auth_type'] = ''; | |
| 268 | |
| 269 // Optional SMTP authentication identifier to be used as authorization proxy | |
| 270 $config['smtp_auth_cid'] = null; | |
| 271 | |
| 272 // Optional SMTP authentication password to be used for smtp_auth_cid | |
| 273 $config['smtp_auth_pw'] = null; | |
| 274 | |
| 275 // SMTP HELO host | |
| 276 // Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages | |
| 277 // Leave this blank and you will get the server variable 'server_name' or | |
| 278 // localhost if that isn't defined. | |
| 279 $config['smtp_helo_host'] = ''; | |
| 280 | |
| 281 // SMTP connection timeout, in seconds. Default: 0 (use default_socket_timeout) | |
| 282 // Note: There's a known issue where using ssl connection with | |
| 283 // timeout > 0 causes connection errors (https://bugs.php.net/bug.php?id=54511) | |
| 284 $config['smtp_timeout'] = 0; | |
| 285 | |
| 286 // SMTP socket context options | |
| 287 // See http://php.net/manual/en/context.ssl.php | |
| 288 // The example below enables server certificate validation, and | |
| 289 // requires 'smtp_timeout' to be non zero. | |
| 290 // $config['smtp_conn_options'] = array( | |
| 291 // 'ssl' => array( | |
| 292 // 'verify_peer' => true, | |
| 293 // 'verify_depth' => 3, | |
| 294 // 'cafile' => '/etc/openssl/certs/ca.crt', | |
| 295 // ), | |
| 296 // ); | |
| 297 // Note: These can be also specified as an array of options indexed by hostname | |
| 298 $config['smtp_conn_options'] = null; | |
| 299 | |
| 300 | |
| 301 // ---------------------------------- | |
| 302 // LDAP | |
| 303 // ---------------------------------- | |
| 304 | |
| 305 // Type of LDAP cache. Supported values: 'db', 'apc' and 'memcache'. | |
| 306 $config['ldap_cache'] = 'db'; | |
| 307 | |
| 308 // Lifetime of LDAP cache. Possible units: s, m, h, d, w | |
| 309 $config['ldap_cache_ttl'] = '10m'; | |
| 310 | |
| 311 | |
| 312 // ---------------------------------- | |
| 313 // CACHE(S) | |
| 314 // ---------------------------------- | |
| 315 | |
| 316 // Use these hosts for accessing memcached | |
| 317 // Define any number of hosts in the form of hostname:port or unix:///path/to/socket.file | |
| 318 $config['memcache_hosts'] = null; // e.g. array( 'localhost:11211', '192.168.1.12:11211', 'unix:///var/tmp/memcached.sock' ); | |
| 319 | |
| 320 // Controls the use of a persistent connections to memcache servers | |
| 321 // See http://php.net/manual/en/memcache.addserver.php | |
| 322 $config['memcache_pconnect'] = true; | |
| 323 | |
| 324 // Value in seconds which will be used for connecting to the daemon | |
| 325 // See http://php.net/manual/en/memcache.addserver.php | |
| 326 $config['memcache_timeout'] = 1; | |
| 327 | |
| 328 // Controls how often a failed server will be retried (value in seconds). | |
| 329 // Setting this parameter to -1 disables automatic retry. | |
| 330 // See http://php.net/manual/en/memcache.addserver.php | |
| 331 $config['memcache_retry_interval'] = 15; | |
| 332 | |
| 333 // use these hosts for accessing Redis. | |
| 334 // Currently only one host is supported. cluster support may come in a future release. | |
| 335 // You can pass 4 fields, host, port, database and password. | |
| 336 // Unset fields will be set to the default values host=127.0.0.1, port=6379, database=0, password= (empty) | |
| 337 $config['redis_hosts'] = null; // e.g. array( 'localhost:6379' ); array( '192.168.1.1:6379:1:secret' ); | |
| 338 | |
| 339 // Maximum size of an object in memcache (in bytes). Default: 2MB | |
| 340 $config['memcache_max_allowed_packet'] = '2M'; | |
| 341 | |
| 342 // Maximum size of an object in APC cache (in bytes). Default: 2MB | |
| 343 $config['apc_max_allowed_packet'] = '2M'; | |
| 344 | |
| 345 | |
| 346 // ---------------------------------- | |
| 347 // SYSTEM | |
| 348 // ---------------------------------- | |
| 349 | |
| 350 // THIS OPTION WILL ALLOW THE INSTALLER TO RUN AND CAN EXPOSE SENSITIVE CONFIG DATA. | |
| 351 // ONLY ENABLE IT IF YOU'RE REALLY SURE WHAT YOU'RE DOING! | |
| 352 $config['enable_installer'] = false; | |
| 353 | |
| 354 // don't allow these settings to be overridden by the user | |
| 355 $config['dont_override'] = array(); | |
| 356 | |
| 357 // List of disabled UI elements/actions | |
| 358 $config['disabled_actions'] = array(); | |
| 359 | |
| 360 // define which settings should be listed under the 'advanced' block | |
| 361 // which is hidden by default | |
| 362 $config['advanced_prefs'] = array(); | |
| 363 | |
| 364 // provide an URL where a user can get support for this Roundcube installation | |
| 365 // PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE! | |
| 366 $config['support_url'] = ''; | |
| 367 | |
| 368 // replace Roundcube logo with this image | |
| 369 // specify an URL relative to the document root of this Roundcube installation | |
| 370 // an array can be used to specify different logos for specific template files, '*' for default logo | |
| 371 // for example array("*" => "/images/roundcube_logo.png", "messageprint" => "/images/roundcube_logo_print.png") | |
| 372 $config['skin_logo'] = null; | |
| 373 | |
| 374 // automatically create a new Roundcube user when log-in the first time. | |
| 375 // a new user will be created once the IMAP login succeeds. | |
| 376 // set to false if only registered users can use this service | |
| 377 $config['auto_create_user'] = true; | |
| 378 | |
| 379 // Enables possibility to log in using email address from user identities | |
| 380 $config['user_aliases'] = false; | |
| 381 | |
| 382 // use this folder to store log files | |
| 383 // must be writeable for the user who runs PHP process (Apache user if mod_php is being used) | |
| 384 // This is used by the 'file' log driver. | |
| 385 $config['log_dir'] = RCUBE_INSTALL_PATH . 'logs/'; | |
| 386 | |
| 387 // use this folder to store temp files | |
| 388 // must be writeable for the user who runs PHP process (Apache user if mod_php is being used) | |
| 389 //$config['temp_dir'] = RCUBE_INSTALL_PATH . 'temp/'; | |
| 390 | |
| 391 // expire files in temp_dir after 48 hours | |
| 392 // possible units: s, m, h, d, w | |
| 393 $config['temp_dir_ttl'] = '48h'; | |
| 394 | |
| 395 // Enforce connections over https | |
| 396 // With this option enabled, all non-secure connections will be redirected. | |
| 397 // It can be also a port number, hostname or hostname:port if they are | |
| 398 // different than default HTTP_HOST:443 | |
| 399 $config['force_https'] = false; | |
| 400 | |
| 401 // tell PHP that it should work as under secure connection | |
| 402 // even if it doesn't recognize it as secure ($_SERVER['HTTPS'] is not set) | |
| 403 // e.g. when you're running Roundcube behind a https proxy | |
| 404 // this option is mutually exclusive to 'force_https' and only either one of them should be set to true. | |
| 405 $config['use_https'] = false; | |
| 406 | |
| 407 // Allow browser-autocompletion on login form. | |
| 408 // 0 - disabled, 1 - username and host only, 2 - username, host, password | |
| 409 $config['login_autocomplete'] = 0; | |
| 410 | |
| 411 // Forces conversion of logins to lower case. | |
| 412 // 0 - disabled, 1 - only domain part, 2 - domain and local part. | |
| 413 // If users authentication is case-insensitive this must be enabled. | |
| 414 // Note: After enabling it all user records need to be updated, e.g. with query: | |
| 415 // UPDATE users SET username = LOWER(username); | |
| 416 $config['login_lc'] = 2; | |
| 417 | |
| 418 // Maximum length (in bytes) of logon username and password. | |
| 419 $config['login_username_maxlen'] = 1024; | |
| 420 $config['login_password_maxlen'] = 1024; | |
| 421 | |
| 422 // Logon username filter. Regular expression for use with preg_match(). | |
| 423 // Example: '/^[a-z0-9_@.-]+$/' | |
| 424 $config['login_username_filter'] = null; | |
| 425 | |
| 426 // Brute-force attacks prevention. | |
| 427 // The value specifies maximum number of failed logon attempts per minute. | |
| 428 $config['login_rate_limit'] = 3; | |
| 429 | |
| 430 // Includes should be interpreted as PHP files | |
| 431 $config['skin_include_php'] = false; | |
| 432 | |
| 433 // display software version on login screen | |
| 434 $config['display_version'] = false; | |
| 435 | |
| 436 // Session lifetime in minutes | |
| 437 $config['session_lifetime'] = 10; | |
| 438 | |
| 439 // Session domain: .example.org | |
| 440 $config['session_domain'] = ''; | |
| 441 | |
| 442 // Session name. Default: 'roundcube_sessid' | |
| 443 $config['session_name'] = null; | |
| 444 | |
| 445 // Session authentication cookie name. Default: 'roundcube_sessauth' | |
| 446 $config['session_auth_name'] = null; | |
| 447 | |
| 448 // Session path. Defaults to PHP session.cookie_path setting. | |
| 449 $config['session_path'] = null; | |
| 450 | |
| 451 // Backend to use for session storage. Can either be 'db' (default), 'redis', 'memcache', or 'php' | |
| 452 // | |
| 453 // If set to 'memcache', a list of servers need to be specified in 'memcache_hosts' | |
| 454 // Make sure the Memcache extension (http://pecl.php.net/package/memcache) version >= 2.0.0 is installed | |
| 455 // | |
| 456 // If set to 'redis', a server needs to be specified in 'redis_hosts' | |
| 457 // Make sure the Redis extension (http://pecl.php.net/package/redis) version >= 2.0.0 is installed | |
| 458 // | |
| 459 // Setting this value to 'php' will use the default session save handler configured in PHP | |
| 460 $config['session_storage'] = 'db'; | |
| 461 | |
| 462 // check client IP in session authorization | |
| 463 $config['ip_check'] = false; | |
| 464 | |
| 465 // List of trusted proxies | |
| 466 // X_FORWARDED_* and X_REAL_IP headers are only accepted from these IPs | |
| 467 $config['proxy_whitelist'] = array(); | |
| 468 | |
| 469 // check referer of incoming requests | |
| 470 $config['referer_check'] = false; | |
| 471 | |
| 472 // X-Frame-Options HTTP header value sent to prevent from Clickjacking. | |
| 473 // Possible values: sameorigin|deny|allow-from <uri>. | |
| 474 // Set to false in order to disable sending the header. | |
| 475 $config['x_frame_options'] = 'sameorigin'; | |
| 476 | |
| 477 // This key is used for encrypting purposes, like storing of imap password | |
| 478 // in the session. For historical reasons it's called DES_key, but it's used | |
| 479 // with any configured cipher_method (see below). | |
| 480 $config['des_key'] = 'rcmail-!24ByteDESkey*Str'; | |
| 481 | |
| 482 // Encryption algorithm. You can use any method supported by openssl. | |
| 483 // Default is set for backward compatibility to DES-EDE3-CBC, | |
| 484 // but you can choose e.g. AES-256-CBC which we consider a better choice. | |
| 485 $config['cipher_method'] = 'DES-EDE3-CBC'; | |
| 486 | |
| 487 // Automatically add this domain to user names for login | |
| 488 // Only for IMAP servers that require full e-mail addresses for login | |
| 489 // Specify an array with 'host' => 'domain' values to support multiple hosts | |
| 490 // Supported replacement variables: | |
| 491 // %h - user's IMAP hostname | |
| 492 // %n - hostname ($_SERVER['SERVER_NAME']) | |
| 493 // %t - hostname without the first part | |
| 494 // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) | |
| 495 // %z - IMAP domain (IMAP hostname without the first part) | |
| 496 // For example %n = mail.domain.tld, %t = domain.tld | |
| 497 $config['username_domain'] = ''; | |
| 498 | |
| 499 // Force domain configured in username_domain to be used for login. | |
| 500 // Any domain in username will be replaced by username_domain. | |
| 501 $config['username_domain_forced'] = false; | |
| 502 | |
| 503 // This domain will be used to form e-mail addresses of new users | |
| 504 // Specify an array with 'host' => 'domain' values to support multiple hosts | |
| 505 // Supported replacement variables: | |
| 506 // %h - user's IMAP hostname | |
| 507 // %n - http hostname ($_SERVER['SERVER_NAME']) | |
| 508 // %d - domain (http hostname without the first part) | |
| 509 // %z - IMAP domain (IMAP hostname without the first part) | |
| 510 // For example %n = mail.domain.tld, %t = domain.tld | |
| 511 $config['mail_domain'] = ''; | |
| 512 | |
| 513 // Password character set. | |
| 514 // If your authentication backend supports it, use "UTF-8". | |
| 515 // Otherwise, use the appropriate character set. | |
| 516 // Defaults to ISO-8859-1 for backward compatibility. | |
| 517 $config['password_charset'] = 'ISO-8859-1'; | |
| 518 | |
| 519 // How many seconds must pass between emails sent by a user | |
| 520 $config['sendmail_delay'] = 0; | |
| 521 | |
| 522 // Message size limit. Note that SMTP server(s) may use a different value. | |
| 523 // This limit is verified when user attaches files to a composed message. | |
| 524 // Size in bytes (possible unit suffix: K, M, G) | |
| 525 $config['max_message_size'] = '100M'; | |
| 526 | |
| 527 // Maximum number of recipients per message (including To, Cc, Bcc). | |
| 528 // Default: 0 (no limit) | |
| 529 $config['max_recipients'] = 0; | |
| 530 | |
| 531 // Maximum number of recipients per message exluding Bcc header. | |
| 532 // This is a soft limit, which means we only display a warning to the user. | |
| 533 // Default: 5 | |
| 534 $config['max_disclosed_recipients'] = 5; | |
| 535 | |
| 536 // Maximum allowed number of members of an address group. Default: 0 (no limit) | |
| 537 // If 'max_recipients' is set this value should be less or equal | |
| 538 $config['max_group_members'] = 0; | |
| 539 | |
| 540 // Name your service. This is displayed on the login screen and in the window title | |
| 541 $config['product_name'] = 'Roundcube Webmail'; | |
| 542 | |
| 543 // Add this user-agent to message headers when sending | |
| 544 $config['useragent'] = 'Roundcube Webmail/'.RCMAIL_VERSION; | |
| 545 | |
| 546 // try to load host-specific configuration | |
| 547 // see https://github.com/roundcube/roundcubemail/wiki/Configuration:-Multi-Domain-Setup | |
| 548 // for more details | |
| 549 $config['include_host_config'] = false; | |
| 550 | |
| 551 // path to a text file which will be added to each sent message | |
| 552 // paths are relative to the Roundcube root folder | |
| 553 $config['generic_message_footer'] = ''; | |
| 554 | |
| 555 // path to a text file which will be added to each sent HTML message | |
| 556 // paths are relative to the Roundcube root folder | |
| 557 $config['generic_message_footer_html'] = ''; | |
| 558 | |
| 559 // add a received header to outgoing mails containing the creators IP and hostname | |
| 560 $config['http_received_header'] = false; | |
| 561 | |
| 562 // Whether or not to encrypt the IP address and the host name | |
| 563 // these could, in some circles, be considered as sensitive information; | |
| 564 // however, for the administrator, these could be invaluable help | |
| 565 // when tracking down issues. | |
| 566 $config['http_received_header_encrypt'] = false; | |
| 567 | |
| 568 // number of chars allowed for line when wrapping text. | |
| 569 // text wrapping is done when composing/sending messages | |
| 570 $config['line_length'] = 72; | |
| 571 | |
| 572 // send plaintext messages as format=flowed | |
| 573 $config['send_format_flowed'] = true; | |
| 574 | |
| 575 // According to RFC2298, return receipt envelope sender address must be empty. | |
| 576 // If this option is true, Roundcube will use user's identity as envelope sender for MDN responses. | |
| 577 $config['mdn_use_from'] = false; | |
| 578 | |
| 579 // Set identities access level: | |
| 580 // 0 - many identities with possibility to edit all params | |
| 581 // 1 - many identities with possibility to edit all params but not email address | |
| 582 // 2 - one identity with possibility to edit all params | |
| 583 // 3 - one identity with possibility to edit all params but not email address | |
| 584 // 4 - one identity with possibility to edit only signature | |
| 585 $config['identities_level'] = 0; | |
| 586 | |
| 587 // Maximum size of uploaded image in kilobytes | |
| 588 // Images (in html signatures) are stored in database as data URIs | |
| 589 $config['identity_image_size'] = 64; | |
| 590 | |
| 591 // Mimetypes supported by the browser. | |
| 592 // attachments of these types will open in a preview window | |
| 593 // either a comma-separated list or an array: 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,application/pdf' | |
| 594 $config['client_mimetypes'] = null; # null == default | |
| 595 | |
| 596 // Path to a local mime magic database file for PHPs finfo extension. | |
| 597 // Set to null if the default path should be used. | |
| 598 $config['mime_magic'] = null; | |
| 599 | |
| 600 // Absolute path to a local mime.types mapping table file. | |
| 601 // This is used to derive mime-types from the filename extension or vice versa. | |
| 602 // Such a file is usually part of the apache webserver. If you don't find a file named mime.types on your system, | |
| 603 // download it from http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | |
| 604 $config['mime_types'] = null; | |
| 605 | |
| 606 // path to imagemagick identify binary (if not set we'll use Imagick or GD extensions) | |
| 607 $config['im_identify_path'] = null; | |
| 608 | |
| 609 // path to imagemagick convert binary (if not set we'll use Imagick or GD extensions) | |
| 610 $config['im_convert_path'] = null; | |
| 611 | |
| 612 // Size of thumbnails from image attachments displayed below the message content. | |
| 613 // Note: whether images are displayed at all depends on the 'inline_images' option. | |
| 614 // Set to 0 to display images in full size. | |
| 615 $config['image_thumbnail_size'] = 240; | |
| 616 | |
| 617 // maximum size of uploaded contact photos in pixel | |
| 618 $config['contact_photo_size'] = 160; | |
| 619 | |
| 620 // Enable DNS checking for e-mail address validation | |
| 621 $config['email_dns_check'] = false; | |
| 622 | |
| 623 // Disables saving sent messages in Sent folder (like gmail) (Default: false) | |
| 624 // Note: useful when SMTP server stores sent mail in user mailbox | |
| 625 $config['no_save_sent_messages'] = false; | |
| 626 | |
| 627 // Improve system security by using special URL with security token. | |
| 628 // This can be set to a number defining token length. Default: 16. | |
| 629 // Warning: This requires http server configuration. Sample: | |
| 630 // RewriteRule ^/roundcubemail/[a-zA-Z0-9]{16}/(.*) /roundcubemail/$1 [PT] | |
| 631 // Alias /roundcubemail /var/www/roundcubemail/ | |
| 632 // Note: Use assets_path to not prevent the browser from caching assets | |
| 633 $config['use_secure_urls'] = false; | |
| 634 | |
| 635 // Allows to define separate server/path for image/js/css files | |
| 636 // Warning: If the domain is different cross-domain access to some | |
| 637 // resources need to be allowed | |
| 638 // Sample: | |
| 639 // <FilesMatch ".(eot|ttf|woff)"> | |
| 640 // Header set Access-Control-Allow-Origin "*" | |
| 641 // </FilesMatch> | |
| 642 $config['assets_path'] = ''; | |
| 643 | |
| 644 // While assets_path is for the browser, assets_dir informs | |
| 645 // PHP code about the location of asset files in filesystem | |
| 646 $config['assets_dir'] = ''; | |
| 647 | |
| 648 | |
| 649 // ---------------------------------- | |
| 650 // PLUGINS | |
| 651 // ---------------------------------- | |
| 652 | |
| 653 // List of active plugins (in plugins/ directory) | |
| 654 $config['plugins'] = array(); | |
| 655 | |
| 656 // ---------------------------------- | |
| 657 // USER INTERFACE | |
| 658 // ---------------------------------- | |
| 659 | |
| 660 // default messages sort column. Use empty value for default server's sorting, | |
| 661 // or 'arrival', 'date', 'subject', 'from', 'to', 'fromto', 'size', 'cc' | |
| 662 $config['message_sort_col'] = ''; | |
| 663 | |
| 664 // default messages sort order | |
| 665 $config['message_sort_order'] = 'DESC'; | |
| 666 | |
| 667 // These cols are shown in the message list. Available cols are: | |
| 668 // subject, from, to, fromto, cc, replyto, date, size, status, flag, attachment, priority | |
| 669 $config['list_cols'] = array('subject', 'status', 'fromto', 'date', 'size', 'flag', 'attachment'); | |
| 670 | |
| 671 // the default locale setting (leave empty for auto-detection) | |
| 672 // RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR | |
| 673 $config['language'] = null; | |
| 674 | |
| 675 // use this format for date display (date or strftime format) | |
| 676 $config['date_format'] = 'Y-m-d'; | |
| 677 | |
| 678 // give this choice of date formats to the user to select from | |
| 679 // Note: do not use ambiguous formats like m/d/Y | |
| 680 $config['date_formats'] = array('Y-m-d', 'Y/m/d', 'Y.m.d', 'd-m-Y', 'd/m/Y', 'd.m.Y', 'j.n.Y'); | |
| 681 | |
| 682 // use this format for time display (date or strftime format) | |
| 683 $config['time_format'] = 'H:i'; | |
| 684 | |
| 685 // give this choice of time formats to the user to select from | |
| 686 $config['time_formats'] = array('G:i', 'H:i', 'g:i a', 'h:i A'); | |
| 687 | |
| 688 // use this format for short date display (derived from date_format and time_format) | |
| 689 $config['date_short'] = 'D H:i'; | |
| 690 | |
| 691 // use this format for detailed date/time formatting (derived from date_format and time_format) | |
| 692 $config['date_long'] = 'Y-m-d H:i'; | |
| 693 | |
| 694 // store draft message is this mailbox | |
| 695 // leave blank if draft messages should not be stored | |
| 696 // NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) | |
| 697 $config['drafts_mbox'] = 'Drafts'; | |
| 698 | |
| 699 // store spam messages in this mailbox | |
| 700 // NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) | |
| 701 $config['junk_mbox'] = 'Junk'; | |
| 702 | |
| 703 // store sent message is this mailbox | |
| 704 // leave blank if sent messages should not be stored | |
| 705 // NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) | |
| 706 $config['sent_mbox'] = 'Sent'; | |
| 707 | |
| 708 // move messages to this folder when deleting them | |
| 709 // leave blank if they should be deleted directly | |
| 710 // NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) | |
| 711 $config['trash_mbox'] = 'Trash'; | |
| 712 | |
| 713 // automatically create the above listed default folders on user login | |
| 714 $config['create_default_folders'] = false; | |
| 715 | |
| 716 // protect the default folders from renames, deletes, and subscription changes | |
| 717 $config['protect_default_folders'] = true; | |
| 718 | |
| 719 // Disable localization of the default folder names listed above | |
| 720 $config['show_real_foldernames'] = false; | |
| 721 | |
| 722 // if in your system 0 quota means no limit set this option to true | |
| 723 $config['quota_zero_as_unlimited'] = false; | |
| 724 | |
| 725 // Make use of the built-in spell checker. It is based on GoogieSpell. | |
| 726 $config['enable_spellcheck'] = true; | |
| 727 | |
| 728 // Enables spellchecker exceptions dictionary. | |
| 729 // Setting it to 'shared' will make the dictionary shared by all users. | |
| 730 $config['spellcheck_dictionary'] = false; | |
| 731 | |
| 732 // Set the spell checking engine. Possible values: | |
| 733 // - 'googie' - the default (also used for connecting to Nox Spell Server, see 'spellcheck_uri' setting) | |
| 734 // - 'pspell' - requires the PHP Pspell module and aspell installed | |
| 735 // - 'enchant' - requires the PHP Enchant module | |
| 736 // - 'atd' - install your own After the Deadline server or check with the people at http://www.afterthedeadline.com before using their API | |
| 737 // Since Google shut down their public spell checking service, the default settings | |
| 738 // connect to http://spell.roundcube.net which is a hosted service provided by Roundcube. | |
| 739 // You can connect to any other googie-compliant service by setting 'spellcheck_uri' accordingly. | |
| 740 $config['spellcheck_engine'] = 'googie'; | |
| 741 | |
| 742 // For locally installed Nox Spell Server or After the Deadline services, | |
| 743 // please specify the URI to call it. | |
| 744 // Get Nox Spell Server from http://orangoo.com/labs/?page_id=72 or | |
| 745 // the After the Deadline package from http://www.afterthedeadline.com. | |
| 746 // Leave empty to use the public API of service.afterthedeadline.com | |
| 747 $config['spellcheck_uri'] = ''; | |
| 748 | |
| 749 // These languages can be selected for spell checking. | |
| 750 // Configure as a PHP style hash array: array('en'=>'English', 'de'=>'Deutsch'); | |
| 751 // Leave empty for default set of available language. | |
| 752 $config['spellcheck_languages'] = NULL; | |
| 753 | |
| 754 // Makes that words with all letters capitalized will be ignored (e.g. GOOGLE) | |
| 755 $config['spellcheck_ignore_caps'] = false; | |
| 756 | |
| 757 // Makes that words with numbers will be ignored (e.g. g00gle) | |
| 758 $config['spellcheck_ignore_nums'] = false; | |
| 759 | |
| 760 // Makes that words with symbols will be ignored (e.g. g@@gle) | |
| 761 $config['spellcheck_ignore_syms'] = false; | |
| 762 | |
| 763 // Use this char/string to separate recipients when composing a new message | |
| 764 $config['recipients_separator'] = ','; | |
| 765 | |
| 766 // Number of lines at the end of a message considered to contain the signature. | |
| 767 // Increase this value if signatures are not properly detected and colored | |
| 768 $config['sig_max_lines'] = 15; | |
| 769 | |
| 770 // don't let users set pagesize to more than this value if set | |
| 771 $config['max_pagesize'] = 200; | |
| 772 | |
| 773 // Minimal value of user's 'refresh_interval' setting (in seconds) | |
| 774 $config['min_refresh_interval'] = 60; | |
| 775 | |
| 776 // Enables files upload indicator. Requires APC installed and enabled apc.rfc1867 option. | |
| 777 // By default refresh time is set to 1 second. You can set this value to true | |
| 778 // or any integer value indicating number of seconds. | |
| 779 $config['upload_progress'] = false; | |
| 780 | |
| 781 // Specifies for how many seconds the Undo button will be available | |
| 782 // after object delete action. Currently used with supporting address book sources. | |
| 783 // Setting it to 0, disables the feature. | |
| 784 $config['undo_timeout'] = 0; | |
| 785 | |
| 786 // A static list of canned responses which are immutable for the user | |
| 787 $config['compose_responses_static'] = array( | |
| 788 // array('name' => 'Canned Response 1', 'text' => 'Static Response One'), | |
| 789 // array('name' => 'Canned Response 2', 'text' => 'Static Response Two'), | |
| 790 ); | |
| 791 | |
| 792 // ---------------------------------- | |
| 793 // ADDRESSBOOK SETTINGS | |
| 794 // ---------------------------------- | |
| 795 | |
| 796 // This indicates which type of address book to use. Possible choises: | |
| 797 // 'sql' (default), 'ldap' and ''. | |
| 798 // If set to 'ldap' then it will look at using the first writable LDAP | |
| 799 // address book as the primary address book and it will not display the | |
| 800 // SQL address book in the 'Address Book' view. | |
| 801 // If set to '' then no address book will be displayed or only the | |
| 802 // addressbook which is created by a plugin (like CardDAV). | |
| 803 $config['address_book_type'] = 'sql'; | |
| 804 | |
| 805 // In order to enable public ldap search, configure an array like the Verisign | |
| 806 // example further below. if you would like to test, simply uncomment the example. | |
| 807 // Array key must contain only safe characters, ie. a-zA-Z0-9_ | |
| 808 $config['ldap_public'] = array(); | |
| 809 | |
| 810 // If you are going to use LDAP for individual address books, you will need to | |
| 811 // set 'user_specific' to true and use the variables to generate the appropriate DNs to access it. | |
| 812 // | |
| 813 // The recommended directory structure for LDAP is to store all the address book entries | |
| 814 // under the users main entry, e.g.: | |
| 815 // | |
| 816 // o=root | |
| 817 // ou=people | |
| 818 // uid=user@domain | |
| 819 // mail=contact@contactdomain | |
| 820 // | |
| 821 // So the base_dn would be uid=%fu,ou=people,o=root | |
| 822 // The bind_dn would be the same as based_dn or some super user login. | |
| 823 /* | |
| 824 * example config for Verisign directory | |
| 825 * | |
| 826 $config['ldap_public']['Verisign'] = array( | |
| 827 'name' => 'Verisign.com', | |
| 828 // Replacement variables supported in host names: | |
| 829 // %h - user's IMAP hostname | |
| 830 // %n - hostname ($_SERVER['SERVER_NAME']) | |
| 831 // %t - hostname without the first part | |
| 832 // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) | |
| 833 // %z - IMAP domain (IMAP hostname without the first part) | |
| 834 // For example %n = mail.domain.tld, %t = domain.tld | |
| 835 'hosts' => array('directory.verisign.com'), | |
| 836 'port' => 389, | |
| 837 'use_tls' => false, | |
| 838 'ldap_version' => 3, // using LDAPv3 | |
| 839 'network_timeout' => 10, // The timeout (in seconds) for connect + bind arrempts. This is only supported in PHP >= 5.3.0 with OpenLDAP 2.x | |
| 840 'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login. | |
| 841 // When 'user_specific' is enabled following variables can be used in base_dn/bind_dn config: | |
| 842 // %fu - The full username provided, assumes the username is an email | |
| 843 // address, uses the username_domain value if not an email address. | |
| 844 // %u - The username prior to the '@'. | |
| 845 // %d - The domain name after the '@'. | |
| 846 // %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com" | |
| 847 // %dn - DN found by ldap search when search_filter/search_base_dn are used | |
| 848 'base_dn' => '', | |
| 849 'bind_dn' => '', | |
| 850 'bind_pass' => '', | |
| 851 // It's possible to bind for an individual address book | |
| 852 // The login name is used to search for the DN to bind with | |
| 853 'search_base_dn' => '', | |
| 854 'search_filter' => '', // e.g. '(&(objectClass=posixAccount)(uid=%u))' | |
| 855 // DN and password to bind as before searching for bind DN, if anonymous search is not allowed | |
| 856 'search_bind_dn' => '', | |
| 857 'search_bind_pw' => '', | |
| 858 // Base DN and filter used for resolving the user's domain root DN which feeds the %dc variables | |
| 859 // Leave empty to skip this lookup and derive the root DN from the username domain | |
| 860 'domain_base_dn' => '', | |
| 861 'domain_filter' => '', | |
| 862 // Optional map of replacement strings => attributes used when binding for an individual address book | |
| 863 'search_bind_attrib' => array(), // e.g. array('%udc' => 'ou') | |
| 864 // Default for %dn variable if search doesn't return DN value | |
| 865 'search_dn_default' => '', | |
| 866 // Optional authentication identifier to be used as SASL authorization proxy | |
| 867 // bind_dn need to be empty | |
| 868 'auth_cid' => '', | |
| 869 // SASL authentication method (for proxy auth), e.g. DIGEST-MD5 | |
| 870 'auth_method' => '', | |
| 871 // Indicates if the addressbook shall be hidden from the list. | |
| 872 // With this option enabled you can still search/view contacts. | |
| 873 'hidden' => false, | |
| 874 // Indicates if the addressbook shall not list contacts but only allows searching. | |
| 875 'searchonly' => false, | |
| 876 // Indicates if we can write to the LDAP directory or not. | |
| 877 // If writable is true then these fields need to be populated: | |
| 878 // LDAP_Object_Classes, required_fields, LDAP_rdn | |
| 879 'writable' => false, | |
| 880 // To create a new contact these are the object classes to specify | |
| 881 // (or any other classes you wish to use). | |
| 882 'LDAP_Object_Classes' => array('top', 'inetOrgPerson'), | |
| 883 // The RDN field that is used for new entries, this field needs | |
| 884 // to be one of the search_fields, the base of base_dn is appended | |
| 885 // to the RDN to insert into the LDAP directory. | |
| 886 'LDAP_rdn' => 'cn', | |
| 887 // The required fields needed to build a new contact as required by | |
| 888 // the object classes (can include additional fields not required by the object classes). | |
| 889 'required_fields' => array('cn', 'sn', 'mail'), | |
| 890 'search_fields' => array('mail', 'cn'), // fields to search in | |
| 891 // mapping of contact fields to directory attributes | |
| 892 // 1. for every attribute one can specify the number of values (limit) allowed. | |
| 893 // default is 1, a wildcard * means unlimited | |
| 894 // 2. another possible parameter is separator character for composite fields | |
| 895 // 3. it's possible to define field format for write operations, e.g. for date fields | |
| 896 // example: 'birthday:date[YmdHis\\Z]' | |
| 897 'fieldmap' => array( | |
| 898 // Roundcube => LDAP:limit | |
| 899 'name' => 'cn', | |
| 900 'surname' => 'sn', | |
| 901 'firstname' => 'givenName', | |
| 902 'jobtitle' => 'title', | |
| 903 'email' => 'mail:*', | |
| 904 'phone:home' => 'homePhone', | |
| 905 'phone:work' => 'telephoneNumber', | |
| 906 'phone:mobile' => 'mobile', | |
| 907 'phone:pager' => 'pager', | |
| 908 'phone:workfax' => 'facsimileTelephoneNumber', | |
| 909 'street' => 'street', | |
| 910 'zipcode' => 'postalCode', | |
| 911 'region' => 'st', | |
| 912 'locality' => 'l', | |
| 913 // if you country is a complex object, you need to configure 'sub_fields' below | |
| 914 'country' => 'c', | |
| 915 'organization' => 'o', | |
| 916 'department' => 'ou', | |
| 917 'jobtitle' => 'title', | |
| 918 'notes' => 'description', | |
| 919 'photo' => 'jpegPhoto', | |
| 920 // these currently don't work: | |
| 921 // 'manager' => 'manager', | |
| 922 // 'assistant' => 'secretary', | |
| 923 ), | |
| 924 // Map of contact sub-objects (attribute name => objectClass(es)), e.g. 'c' => 'country' | |
| 925 'sub_fields' => array(), | |
| 926 // Generate values for the following LDAP attributes automatically when creating a new record | |
| 927 'autovalues' => array( | |
| 928 // 'uid' => 'md5(microtime())', // You may specify PHP code snippets which are then eval'ed | |
| 929 // 'mail' => '{givenname}.{sn}@mydomain.com', // or composite strings with placeholders for existing attributes | |
| 930 ), | |
| 931 'sort' => 'cn', // The field to sort the listing by. | |
| 932 'scope' => 'sub', // search mode: sub|base|list | |
| 933 'filter' => '(objectClass=inetOrgPerson)', // used for basic listing (if not empty) and will be &'d with search queries. example: status=act | |
| 934 'fuzzy_search' => true, // server allows wildcard search | |
| 935 'vlv' => false, // Enable Virtual List View to more efficiently fetch paginated data (if server supports it) | |
| 936 'vlv_search' => false, // Use Virtual List View functions for autocompletion searches (if server supports it) | |
| 937 'numsub_filter' => '(objectClass=organizationalUnit)', // with VLV, we also use numSubOrdinates to query the total number of records. Set this filter to get all numSubOrdinates attributes for counting | |
| 938 'config_root_dn' => 'cn=config', // Root DN to search config entries (e.g. vlv indexes) | |
| 939 'sizelimit' => '0', // Enables you to limit the count of entries fetched. Setting this to 0 means no limit. | |
| 940 'timelimit' => '0', // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit. | |
| 941 'referrals' => false, // Sets the LDAP_OPT_REFERRALS option. Mostly used in multi-domain Active Directory setups | |
| 942 'dereference' => 0, // Sets the LDAP_OPT_DEREF option. One of: LDAP_DEREF_NEVER, LDAP_DEREF_SEARCHING, LDAP_DEREF_FINDING, LDAP_DEREF_ALWAYS | |
| 943 // Used where addressbook contains aliases to objects elsewhere in the LDAP tree. | |
| 944 | |
| 945 // definition for contact groups (uncomment if no groups are supported) | |
| 946 // for the groups base_dn, the user replacements %fu, %u, $d and %dc work as for base_dn (see above) | |
| 947 // if the groups base_dn is empty, the contact base_dn is used for the groups as well | |
| 948 // -> in this case, assure that groups and contacts are separated due to the concernig filters! | |
| 949 'groups' => array( | |
| 950 'base_dn' => '', | |
| 951 'scope' => 'sub', // Search mode: sub|base|list | |
| 952 'filter' => '(objectClass=groupOfNames)', | |
| 953 'object_classes' => array('top', 'groupOfNames'), // Object classes to be assigned to new groups | |
| 954 'member_attr' => 'member', // Name of the default member attribute, e.g. uniqueMember | |
| 955 'name_attr' => 'cn', // Attribute to be used as group name | |
| 956 'email_attr' => 'mail', // Group email address attribute (e.g. for mailing lists) | |
| 957 'member_filter' => '(objectclass=*)', // Optional filter to use when querying for group members | |
| 958 'vlv' => false, // Use VLV controls to list groups | |
| 959 'class_member_attr' => array( // Mapping of group object class to member attribute used in these objects | |
| 960 'groupofnames' => 'member', | |
| 961 'groupofuniquenames' => 'uniquemember' | |
| 962 ), | |
| 963 ), | |
| 964 // this configuration replaces the regular groups listing in the directory tree with | |
| 965 // a hard-coded list of groups, each listing entries with the configured base DN and filter. | |
| 966 // if the 'groups' option from above is set, it'll be shown as the first entry with the name 'Groups' | |
| 967 'group_filters' => array( | |
| 968 'departments' => array( | |
| 969 'name' => 'Company Departments', | |
| 970 'scope' => 'list', | |
| 971 'base_dn' => 'ou=Groups,dc=mydomain,dc=com', | |
| 972 'filter' => '(|(objectclass=groupofuniquenames)(objectclass=groupofurls))', | |
| 973 'name_attr' => 'cn', | |
| 974 ), | |
| 975 'customers' => array( | |
| 976 'name' => 'Customers', | |
| 977 'scope' => 'sub', | |
| 978 'base_dn' => 'ou=Customers,dc=mydomain,dc=com', | |
| 979 'filter' => '(objectClass=inetOrgPerson)', | |
| 980 'name_attr' => 'sn', | |
| 981 ), | |
| 982 ), | |
| 983 ); | |
| 984 */ | |
| 985 | |
| 986 // An ordered array of the ids of the addressbooks that should be searched | |
| 987 // when populating address autocomplete fields server-side. ex: array('sql','Verisign'); | |
| 988 $config['autocomplete_addressbooks'] = array('sql'); | |
| 989 | |
| 990 // The minimum number of characters required to be typed in an autocomplete field | |
| 991 // before address books will be searched. Most useful for LDAP directories that | |
| 992 // may need to do lengthy results building given overly-broad searches | |
| 993 $config['autocomplete_min_length'] = 1; | |
| 994 | |
| 995 // Number of parallel autocomplete requests. | |
| 996 // If there's more than one address book, n parallel (async) requests will be created, | |
| 997 // where each request will search in one address book. By default (0), all address | |
| 998 // books are searched in one request. | |
| 999 $config['autocomplete_threads'] = 0; | |
| 1000 | |
| 1001 // Max. numer of entries in autocomplete popup. Default: 15. | |
| 1002 $config['autocomplete_max'] = 15; | |
| 1003 | |
| 1004 // show address fields in this order | |
| 1005 // available placeholders: {street}, {locality}, {zipcode}, {country}, {region} | |
| 1006 $config['address_template'] = '{street}<br/>{locality} {zipcode}<br/>{country} {region}'; | |
| 1007 | |
| 1008 // Matching mode for addressbook search (including autocompletion) | |
| 1009 // 0 - partial (*abc*), default | |
| 1010 // 1 - strict (abc) | |
| 1011 // 2 - prefix (abc*) | |
| 1012 // Note: For LDAP sources fuzzy_search must be enabled to use 'partial' or 'prefix' mode | |
| 1013 $config['addressbook_search_mode'] = 0; | |
| 1014 | |
| 1015 // List of fields used on contacts list and for autocompletion searches | |
| 1016 // Warning: These are field names not LDAP attributes (see 'fieldmap' setting)! | |
| 1017 $config['contactlist_fields'] = array('name', 'firstname', 'surname', 'email'); | |
| 1018 | |
| 1019 // Template of contact entry on the autocompletion list. | |
| 1020 // You can use contact fields as: name, email, organization, department, etc. | |
| 1021 // See program/steps/addressbook/func.inc for a list | |
| 1022 $config['contact_search_name'] = '{name} <{email}>'; | |
| 1023 | |
| 1024 // ---------------------------------- | |
| 1025 // USER PREFERENCES | |
| 1026 // ---------------------------------- | |
| 1027 | |
| 1028 // Use this charset as fallback for message decoding | |
| 1029 $config['default_charset'] = 'ISO-8859-1'; | |
| 1030 | |
| 1031 // skin name: folder from skins/ | |
| 1032 $config['skin'] = 'larry'; | |
| 1033 | |
| 1034 // Enables using standard browser windows (that can be handled as tabs) | |
| 1035 // instead of popup windows | |
| 1036 $config['standard_windows'] = false; | |
| 1037 | |
| 1038 // show up to X items in messages list view | |
| 1039 $config['mail_pagesize'] = 50; | |
| 1040 | |
| 1041 // show up to X items in contacts list view | |
| 1042 $config['addressbook_pagesize'] = 50; | |
| 1043 | |
| 1044 // sort contacts by this col (preferably either one of name, firstname, surname) | |
| 1045 $config['addressbook_sort_col'] = 'surname'; | |
| 1046 | |
| 1047 // The way how contact names are displayed in the list. | |
| 1048 // 0: prefix firstname middlename surname suffix (only if display name is not set) | |
| 1049 // 1: firstname middlename surname | |
| 1050 // 2: surname firstname middlename | |
| 1051 // 3: surname, firstname middlename | |
| 1052 $config['addressbook_name_listing'] = 0; | |
| 1053 | |
| 1054 // use this timezone to display date/time | |
| 1055 // valid timezone identifiers are listed here: php.net/manual/en/timezones.php | |
| 1056 // 'auto' will use the browser's timezone settings | |
| 1057 $config['timezone'] = 'auto'; | |
| 1058 | |
| 1059 // prefer displaying HTML messages | |
| 1060 $config['prefer_html'] = true; | |
| 1061 | |
| 1062 // display remote inline images | |
| 1063 // 0 - Never, always ask | |
| 1064 // 1 - Ask if sender is not in address book | |
| 1065 // 2 - Always show inline images | |
| 1066 $config['show_images'] = 0; | |
| 1067 | |
| 1068 // open messages in new window | |
| 1069 $config['message_extwin'] = false; | |
| 1070 | |
| 1071 // open message compose form in new window | |
| 1072 $config['compose_extwin'] = false; | |
| 1073 | |
| 1074 // compose html formatted messages by default | |
| 1075 // 0 - never, | |
| 1076 // 1 - always, | |
| 1077 // 2 - on reply to HTML message, | |
| 1078 // 3 - on forward or reply to HTML message | |
| 1079 // 4 - always, except when replying to plain text message | |
| 1080 $config['htmleditor'] = 0; | |
| 1081 | |
| 1082 // save copies of compose messages in the browser's local storage | |
| 1083 // for recovery in case of browser crashes and session timeout. | |
| 1084 $config['compose_save_localstorage'] = true; | |
| 1085 | |
| 1086 // show pretty dates as standard | |
| 1087 $config['prettydate'] = true; | |
| 1088 | |
| 1089 // save compose message every 300 seconds (5min) | |
| 1090 $config['draft_autosave'] = 300; | |
| 1091 | |
| 1092 // Interface layout. Default: 'widescreen'. | |
| 1093 // 'widescreen' - three columns | |
| 1094 // 'desktop' - two columns, preview on bottom | |
| 1095 // 'list' - two columns, no preview | |
| 1096 $config['layout'] = 'widescreen'; | |
| 1097 | |
| 1098 // Mark as read when viewing a message (delay in seconds) | |
| 1099 // Set to -1 if messages should not be marked as read | |
| 1100 $config['mail_read_time'] = 0; | |
| 1101 | |
| 1102 // Clear Trash on logout | |
| 1103 $config['logout_purge'] = false; | |
| 1104 | |
| 1105 // Compact INBOX on logout | |
| 1106 $config['logout_expunge'] = false; | |
| 1107 | |
| 1108 // Display attached images below the message body | |
| 1109 $config['inline_images'] = true; | |
| 1110 | |
| 1111 // Encoding of long/non-ascii attachment names: | |
| 1112 // 0 - Full RFC 2231 compatible | |
| 1113 // 1 - RFC 2047 for 'name' and RFC 2231 for 'filename' parameter (Thunderbird's default) | |
| 1114 // 2 - Full 2047 compatible | |
| 1115 $config['mime_param_folding'] = 1; | |
| 1116 | |
| 1117 // Set true if deleted messages should not be displayed | |
| 1118 // This will make the application run slower | |
| 1119 $config['skip_deleted'] = false; | |
| 1120 | |
| 1121 // Set true to Mark deleted messages as read as well as deleted | |
| 1122 // False means that a message's read status is not affected by marking it as deleted | |
| 1123 $config['read_when_deleted'] = true; | |
| 1124 | |
| 1125 // Set to true to never delete messages immediately | |
| 1126 // Use 'Purge' to remove messages marked as deleted | |
| 1127 $config['flag_for_deletion'] = false; | |
| 1128 | |
| 1129 // Default interval for auto-refresh requests (in seconds) | |
| 1130 // These are requests for system state updates e.g. checking for new messages, etc. | |
| 1131 // Setting it to 0 disables the feature. | |
| 1132 $config['refresh_interval'] = 60; | |
| 1133 | |
| 1134 // If true all folders will be checked for recent messages | |
| 1135 $config['check_all_folders'] = false; | |
| 1136 | |
| 1137 // If true, after message delete/move, the next message will be displayed | |
| 1138 $config['display_next'] = true; | |
| 1139 | |
| 1140 // Default messages listing mode. One of 'threads' or 'list'. | |
| 1141 $config['default_list_mode'] = 'list'; | |
| 1142 | |
| 1143 // 0 - Do not expand threads | |
| 1144 // 1 - Expand all threads automatically | |
| 1145 // 2 - Expand only threads with unread messages | |
| 1146 $config['autoexpand_threads'] = 0; | |
| 1147 | |
| 1148 // When replying: | |
| 1149 // -1 - don't cite the original message | |
| 1150 // 0 - place cursor below the original message | |
| 1151 // 1 - place cursor above original message (top posting) | |
| 1152 $config['reply_mode'] = 0; | |
| 1153 | |
| 1154 // When replying strip original signature from message | |
| 1155 $config['strip_existing_sig'] = true; | |
| 1156 | |
| 1157 // Show signature: | |
| 1158 // 0 - Never | |
| 1159 // 1 - Always | |
| 1160 // 2 - New messages only | |
| 1161 // 3 - Forwards and Replies only | |
| 1162 $config['show_sig'] = 1; | |
| 1163 | |
| 1164 // By default the signature is placed depending on cursor position (reply_mode). | |
| 1165 // Sometimes it might be convenient to start the reply on top but keep | |
| 1166 // the signature below the quoted text (sig_below = true). | |
| 1167 $config['sig_below'] = false; | |
| 1168 | |
| 1169 // Enables adding of standard separator to the signature | |
| 1170 $config['sig_separator'] = true; | |
| 1171 | |
| 1172 // Use MIME encoding (quoted-printable) for 8bit characters in message body | |
| 1173 $config['force_7bit'] = false; | |
| 1174 | |
| 1175 // Defaults of the search field configuration. | |
| 1176 // The array can contain a per-folder list of header fields which should be considered when searching | |
| 1177 // The entry with key '*' stands for all folders which do not have a specific list set. | |
| 1178 // Please note that folder names should to be in sync with $config['*_mbox'] options | |
| 1179 $config['search_mods'] = null; // Example: array('*' => array('subject'=>1, 'from'=>1), 'Sent' => array('subject'=>1, 'to'=>1)); | |
| 1180 | |
| 1181 // Defaults of the addressbook search field configuration. | |
| 1182 $config['addressbook_search_mods'] = null; // Example: array('name'=>1, 'firstname'=>1, 'surname'=>1, 'email'=>1, '*'=>1); | |
| 1183 | |
| 1184 // 'Delete always' | |
| 1185 // This setting reflects if mail should be always deleted | |
| 1186 // when moving to Trash fails. This is necessary in some setups | |
| 1187 // when user is over quota and Trash is included in the quota. | |
| 1188 $config['delete_always'] = false; | |
| 1189 | |
| 1190 // Directly delete messages in Junk instead of moving to Trash | |
| 1191 $config['delete_junk'] = false; | |
| 1192 | |
| 1193 // Behavior if a received message requests a message delivery notification (read receipt) | |
| 1194 // 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask) | |
| 1195 // 3 = send automatically if sender is in addressbook, otherwise ask the user | |
| 1196 // 4 = send automatically if sender is in addressbook, otherwise ignore | |
| 1197 $config['mdn_requests'] = 0; | |
| 1198 | |
| 1199 // Return receipt checkbox default state | |
| 1200 $config['mdn_default'] = 0; | |
| 1201 | |
| 1202 // Delivery Status Notification checkbox default state | |
| 1203 // Note: This can be used only if smtp_server is non-empty | |
| 1204 $config['dsn_default'] = 0; | |
| 1205 | |
| 1206 // Place replies in the folder of the message being replied to | |
| 1207 $config['reply_same_folder'] = false; | |
| 1208 | |
| 1209 // Sets default mode of Forward feature to "forward as attachment" | |
| 1210 $config['forward_attachment'] = false; | |
| 1211 | |
| 1212 // Defines address book (internal index) to which new contacts will be added | |
| 1213 // By default it is the first writeable addressbook. | |
| 1214 // Note: Use '0' for built-in address book. | |
| 1215 $config['default_addressbook'] = null; | |
| 1216 | |
| 1217 // Enables spell checking before sending a message. | |
| 1218 $config['spellcheck_before_send'] = false; | |
| 1219 | |
| 1220 // Skip alternative email addresses in autocompletion (show one address per contact) | |
| 1221 $config['autocomplete_single'] = false; | |
| 1222 | |
| 1223 // Default font for composed HTML message. | |
| 1224 // Supported values: Andale Mono, Arial, Arial Black, Book Antiqua, Courier New, | |
| 1225 // Georgia, Helvetica, Impact, Tahoma, Terminal, Times New Roman, Trebuchet MS, Verdana | |
| 1226 $config['default_font'] = 'Verdana'; | |
| 1227 | |
| 1228 // Default font size for composed HTML message. | |
| 1229 // Supported sizes: 8pt, 10pt, 12pt, 14pt, 18pt, 24pt, 36pt | |
| 1230 $config['default_font_size'] = '10pt'; | |
| 1231 | |
| 1232 // Enables display of email address with name instead of a name (and address in title) | |
| 1233 $config['message_show_email'] = false; | |
| 1234 | |
| 1235 // Default behavior of Reply-All button: | |
| 1236 // 0 - Reply-All always | |
| 1237 // 1 - Reply-List if mailing list is detected | |
| 1238 $config['reply_all_mode'] = 0; |
