Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F224476
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
10 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/program/include/rcube_config.php b/program/include/rcube_config.php
index c3b0c1832..0723834bf 100644
--- a/program/include/rcube_config.php
+++ b/program/include/rcube_config.php
@@ -1,249 +1,245 @@
<?php
/*
+-----------------------------------------------------------------------+
| program/include/rcube_config.php |
| |
| This file is part of the RoundCube Webmail client |
| Copyright (C) 2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
| Class to read configuration settings |
| |
+-----------------------------------------------------------------------+
| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
$Id: $
*/
/**
* Configuration class for RoundCube
*
* @package Core
*/
class rcube_config
{
private $prop = array();
private $errors = array();
/**
* Object constructor
*/
public function __construct()
{
$this->load();
}
/**
* Load config from local config file
*
* @todo Remove global $CONFIG
*/
private function load()
{
// start output buffering, we don't need any output yet,
// it'll be cleared after reading of config files, etc.
ob_start();
// load main config file
if (include(RCMAIL_CONFIG_DIR . '/main.inc.php'))
$this->prop = (array)$rcmail_config;
else
$this->errors[] = 'main.inc.php was not found.';
// load database config
if (include(RCMAIL_CONFIG_DIR . '/db.inc.php'))
$this->prop += (array)$rcmail_config;
else
$this->errors[] = 'db.inc.php was not found.';
// load host-specific configuration
$this->load_host_config();
// set skin (with fallback to old 'skin_path' property)
if (empty($this->prop['skin']) && !empty($this->prop['skin_path']))
$this->prop['skin'] = str_replace('skins/', '', unslashify($this->prop['skin_path']));
else if (empty($this->prop['skin']))
$this->prop['skin'] = 'default';
// fix paths
$this->prop['log_dir'] = $this->prop['log_dir'] ? unslashify($this->prop['log_dir']) : INSTALL_PATH . 'logs';
$this->prop['temp_dir'] = $this->prop['temp_dir'] ? unslashify($this->prop['temp_dir']) : INSTALL_PATH . 'temp';
- // handle aliases
- if (isset($this->prop['locale_string']) && empty($this->prop['language']))
- $this->prop['language'] = $this->prop['locale_string'];
-
// set PHP error logging according to config
if ($this->prop['debug_level'] & 1) {
ini_set('log_errors', 1);
if ($this->prop['log_driver'] == 'syslog') {
ini_set('error_log', 'syslog');
} else {
ini_set('error_log', $this->prop['log_dir'].'/errors');
}
}
if ($this->prop['debug_level'] & 4) {
ini_set('display_errors', 1);
}
else {
ini_set('display_errors', 0);
}
// clear output buffer
ob_end_clean();
// export config data
$GLOBALS['CONFIG'] = &$this->prop;
}
/**
* Load a host-specific config file if configured
* This will merge the host specific configuration with the given one
*/
private function load_host_config()
{
$fname = null;
if (is_array($this->prop['include_host_config'])) {
$fname = $this->prop['include_host_config'][$_SERVER['HTTP_HOST']];
}
else if (!empty($this->prop['include_host_config'])) {
$fname = preg_replace('/[^a-z0-9\.\-_]/i', '', $_SERVER['HTTP_HOST']) . '.inc.php';
}
if ($fname && is_file(RCMAIL_CONFIG_DIR . '/' . $fname)) {
include(RCMAIL_CONFIG_DIR . '/' . $fname);
$this->prop = array_merge($this->prop, (array)$rcmail_config);
}
}
/**
* Getter for a specific config parameter
*
* @param string Parameter name
* @param mixed Default value if not set
* @return mixed The requested config value
*/
public function get($name, $def = null)
{
return isset($this->prop[$name]) ? $this->prop[$name] : $def;
}
/**
* Setter for a config parameter
*
* @param string Parameter name
* @param mixed Parameter value
*/
public function set($name, $value)
{
$this->prop[$name] = $value;
}
/**
* Override config options with the given values (eg. user prefs)
*
* @param array Hash array with config props to merge over
*/
public function merge($prefs)
{
$this->prop = array_merge($this->prop, $prefs);
}
/**
* Getter for all config options
*
* @return array Hash array containg all config properties
*/
public function all()
{
return $this->prop;
}
/**
* Return a 24 byte key for the DES encryption
*
* @return string DES encryption key
*/
public function get_des_key()
{
$key = !empty($this->prop['des_key']) ? $this->prop['des_key'] : 'rcmail?24BitPwDkeyF**ECB';
$len = strlen($key);
// make sure the key is exactly 24 chars long
if ($len<24)
$key .= str_repeat('_', 24-$len);
else if ($len>24)
substr($key, 0, 24);
return $key;
}
/**
* Try to autodetect operating system and find the correct line endings
*
* @return string The appropriate mail header delimiter
*/
public function header_delimiter()
{
// use the configured delimiter for headers
if (!empty($this->prop['mail_header_delimiter']))
return $this->prop['mail_header_delimiter'];
else if (strtolower(substr(PHP_OS, 0, 3) == 'win'))
return "\r\n";
else if (strtolower(substr(PHP_OS, 0, 3) == 'mac'))
return "\r\n";
else
return "\n";
}
/**
* Return the mail domain configured for the given host
*
* @param string IMAP host
* @return string Resolved SMTP host
*/
public function mail_domain($host)
{
$domain = $host;
if (is_array($this->prop['mail_domain'])) {
if (isset($this->prop['mail_domain'][$host]))
$domain = $this->prop['mail_domain'][$host];
}
else if (!empty($this->prop['mail_domain']))
$domain = $this->prop['mail_domain'];
return $domain;
}
/**
* Getter for error state
*
* @return mixed Error message on error, False if no errors
*/
public function get_error()
{
return empty($this->errors) ? false : join("\n", $this->errors);
}
}
diff --git a/program/localization/index.inc b/program/localization/index.inc
index ba87d914f..215dfa7d3 100644
--- a/program/localization/index.inc
+++ b/program/localization/index.inc
@@ -1,132 +1,131 @@
<?php
/*
+-----------------------------------------------------------------------+
| program/localization/index.inc |
| |
| This file is part of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
| Provide a centralized location table |
| for keeping track of available languages |
| |
+-----------------------------------------------------------------------+
| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
$Id$
*/
// langage codes according to ISO 639-1
// country codes according to ISO 3166-1 (Alpha-2)
$rcube_languages = array(
'sq_AL' => 'Albanian',
'ar_SA' => 'Arabic',
'hy_AM' => 'Armenian',
'az_AZ' => 'Azerbaijani',
'bs_BA' => 'Bosnian (Serbian Latin)',
'bg_BG' => 'Bulgarian',
'ca_ES' => 'Català',
'zh_CN' => 'Chinese (Simplified)',
'zh_TW' => 'Chinese (Traditional)',
'hr_HR' => 'Croatian (Hrvatski)',
'cs_CZ' => 'Czech',
'da_DK' => 'Dansk',
'de_DE' => 'Deutsch (Deutsch)',
'de_CH' => 'Deutsch (Schweiz)',
'en_GB' => 'English (GB)',
'en_US' => 'English (US)',
'es_ES' => 'Español',
'eo' => 'Esperanto',
'et_EE' => 'Estonian',
'eu_ES' => 'Euskara (Basque)',
'fi_FI' => 'Finnish (Suomi)',
'nl_BE' => 'Flemish',
'fr_FR' => 'Français',
'gl_ES' => 'Galego (Galician)',
'ka_GE' => 'Georgian (Kartuli)',
'el_GR' => 'Greek',
'he_IL' => 'Hebrew',
'hi_IN' => 'Hindi',
'hu_HU' => 'Hungarian',
'is_IS' => 'Icelandic',
'id_ID' => 'Indonesian',
'ga_IE' => 'Irish',
'it_IT' => 'Italiano',
'ja_JP' => 'Japanese (日本語)',
'ko_KR' => 'Korean',
'ku' => 'Kurdish (Kurmancî)',
'lv_LV' => 'Latvian',
'lt_LT' => 'Lithuanian',
'mk_MK' => 'Macedonian',
'ms_MY' => 'Malay',
'nl_NL' => 'Nederlands',
'ne_NP' => 'Nepali',
'nb_NO' => 'Norsk (Bokmål)',
'nn_NO' => 'Norsk (Nynorsk)',
'fa' => 'Persian (Farsi)',
'pl_PL' => 'Polski',
'pt_BR' => 'Portuguese (Brazilian)',
'pt_PT' => 'Portuguese (Standard)',
'ro_RO' => 'Romanian',
'ru_RU' => 'Russian',
'sr_CS' => 'Serbian (Cyrillic)',
'si_LK' => 'Sinhala',
'sk_SK' => 'Slovak',
'sl_SI' => 'Slovenian',
'sv_SE' => 'Swedish (Svenska)',
'th_TH' => 'Thai',
'tr_TR' => 'Turkish',
'uk_UA' => 'Ukrainian',
'vi_VN' => 'Vietnamese',
);
$rcube_language_aliases = array(
'am' => 'hy_AM',
'ar' => 'ar_SA',
'az' => 'az_AZ',
'bg' => 'bg_BG',
'bs' => 'bs_BA',
'ca' => 'ca_ES',
'cn' => 'zh_CN',
'cs' => 'cs_CZ',
'cz' => 'cs_CZ',
'da' => 'da_DK',
'de' => 'de_DE',
'ee' => 'et_EE',
'el' => 'el_GR',
'en' => 'en_US',
'eu' => 'eu_ES',
'ga' => 'ga_IE',
'ge' => 'ka_GE',
'gl' => 'gl_ES',
'he' => 'he_IL',
'hi' => 'hi_IN',
'hr' => 'hr_HR',
'ja' => 'ja_JP',
'ko' => 'ko_KR',
'kr' => 'ko_KR',
'ne' => 'ne_NP',
'no' => 'nn_NO',
'ms' => 'ms_MY',
'pl' => 'pl_PL',
'tw' => 'zh_TW',
'si' => 'si_LK',
'sl' => 'sl_SI',
'sr' => 'sr_CS',
'sr_cyrillic' => 'sr_CS',
'sr_latin' => 'bs_BA',
'se' => 'sv_SE',
'sv' => 'sv_SE',
'uk' => 'uk_UA',
'vn' => 'vi_VN',
'vi' => 'vi_VN',
'zh' => 'zh_CN',
);
-
?>
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Mar 1, 10:24 AM (11 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
166661
Default Alt Text
(10 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment