Page MenuHomePhorge

No OneTemporary

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

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)

Event Timeline