pull/316/head
Aleksander Machniak 9 years ago
parent b4fc297509
commit 39137fe292

@ -103,21 +103,21 @@ class rcube_config
*/
private function guess_type($value)
{
$_ = 'string';
$type = 'string';
// array requires hint to be passed.
if (preg_match('/^[-+]?(\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?$/', $value) !== false) {
$_ = 'double';
$type = 'double';
}
else if (preg_match('/^\d+$/', $value) !== false) {
$_ = 'integer';
$type = 'integer';
}
else if (preg_match('/(t(rue)?)|(f(alse)?)/i', $value) !== false) {
$_ = 'boolean';
$type = 'boolean';
}
return $_;
return $type;
}
/**
@ -126,7 +126,7 @@ class rcube_config
* Perform an appropriate parsing of the string to create the desired PHP type.
*
* @param $string String to parse into PHP type
* @param $type Type of value to return
* @param $type Type of value to return
*
* @return Appropriately typed interpretation of $string.
*/
@ -167,28 +167,24 @@ class rcube_config
* Retrieve an environment variable's value or if it's not found, return the
* provided default value.
*
* @param $varname Environment variable name
* @param $varname Environment variable name
* @param $default_value Default value to return if necessary
* @param $type Type of value to return
* @param $type Type of value to return
*
* @return Value of the environment variable or default if not found.
*/
private function getenv_default($varname, $default_value, $type = null)
{
$_ = getenv($varname);
$value = getenv($varname);
if ($_ === false) {
$_ = $default_value;
if ($value === false) {
$value = $default_value;
}
else {
if (is_null($type)) {
$type = gettype($default_value);
}
$_ = $this->parse_env($_, $type);
$value = $this->parse_env($value, $type ?: gettype($default_value));
}
return $_;
return $value;
}
/**
@ -206,8 +202,7 @@ class rcube_config
// load main config file
if (!$this->load_from_file('config.inc.php')) {
// Old configuration files
if (!$this->load_from_file('main.inc.php') ||
!$this->load_from_file('db.inc.php')) {
if (!$this->load_from_file('main.inc.php') || !$this->load_from_file('db.inc.php')) {
$this->errors[] = 'config.inc.php was not found.';
}
else if (rand(1,100) == 10) { // log warning on every 100th request (average)
@ -229,8 +224,9 @@ class rcube_config
}
// larry is the new default skin :-)
if ($this->prop['skin'] == 'default')
if ($this->prop['skin'] == 'default') {
$this->prop['skin'] = self::DEFAULT_SKIN;
}
// fix paths
foreach (array('log_dir' => 'logs', 'temp_dir' => 'temp') as $key => $dir) {
@ -313,7 +309,7 @@ class rcube_config
foreach ($this->resolve_paths($file) as $fpath) {
if ($fpath && is_file($fpath) && is_readable($fpath)) {
// use output buffering, we don't need any output here
// use output buffering, we don't need any output here
ob_start();
include($fpath);
ob_end_clean();
@ -352,8 +348,9 @@ class rcube_config
// check if <file>-env.ini exists
if ($realpath && $use_env && !empty($this->env)) {
$envfile = preg_replace('/\.(inc.php)$/', '-' . $this->env . '.\\1', $realpath);
if (is_file($envfile))
if (is_file($envfile)) {
$realpath = $envfile;
}
}
if ($realpath) {
@ -386,8 +383,7 @@ class rcube_config
}
$result = $this->getenv_default('ROUNDCUBE_' . strtoupper($name), $result);
$rcube = rcube::get_instance();
$rcube = rcube::get_instance();
if ($name == 'timezone') {
if (empty($result) || $result == 'auto') {
@ -395,10 +391,12 @@ class rcube_config
}
}
else if ($name == 'client_mimetypes') {
if ($result == null && $def == null)
if (!$result && !$def) {
$result = 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,image/bmp,image/tiff,application/x-javascript,application/pdf,application/x-shockwave-flash';
if ($result && is_string($result))
}
if ($result && is_string($result)) {
$result = explode(',', $result);
}
}
$plugin = $rcube->plugins->exec_hook('config_get', array(
@ -500,6 +498,7 @@ class rcube_config
* Return requested DES crypto key.
*
* @param string $key Crypto key name
*
* @return string Crypto key
*/
public function get_crypto_key($key)
@ -523,13 +522,7 @@ class rcube_config
*/
public function get_crypto_method()
{
$method = $this->get('cipher_method');
if (empty($method)) {
$method = 'DES-EDE3-CBC';
}
return $method;
return $this->get('cipher_method') ?: 'DES-EDE3-CBC';
}
/**
@ -577,8 +570,9 @@ class rcube_config
$domain = $host;
if (is_array($this->prop['mail_domain'])) {
if (isset($this->prop['mail_domain'][$host]))
if (isset($this->prop['mail_domain'][$host])) {
$domain = $this->prop['mail_domain'][$host];
}
}
else if (!empty($this->prop['mail_domain'])) {
$domain = rcube_utils::parse_host($this->prop['mail_domain']);

Loading…
Cancel
Save