From cbde304b98e4e0fc2ff33fd84068d63ae3e86c45 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 01 Apr 2010 02:25:29 -0400
Subject: [PATCH] - Use MDB2's Manager module for listing tables
---
program/include/rcube_config.php | 41 +++++++++++++++++++++++++++--------------
1 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/program/include/rcube_config.php b/program/include/rcube_config.php
index b30cf2d..1e2aae3 100644
--- a/program/include/rcube_config.php
+++ b/program/include/rcube_config.php
@@ -15,7 +15,7 @@
| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
- $Id: $
+ $Id$
*/
@@ -28,6 +28,7 @@
{
private $prop = array();
private $errors = array();
+ private $userprefs = array();
/**
@@ -68,9 +69,9 @@
$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';
-
+ $this->prop['log_dir'] = $this->prop['log_dir'] ? realpath(unslashify($this->prop['log_dir'])) : INSTALL_PATH . 'logs';
+ $this->prop['temp_dir'] = $this->prop['temp_dir'] ? realpath(unslashify($this->prop['temp_dir'])) : INSTALL_PATH . 'temp';
+
// fix default imap folders encoding
foreach (array('drafts_mbox', 'junk_mbox', 'sent_mbox', 'trash_mbox') as $folder)
$this->prop[$folder] = rcube_charset_convert($this->prop[$folder], RCMAIL_CHARSET, 'UTF7-IMAP');
@@ -137,7 +138,7 @@
if (is_file($fpath) && is_readable($fpath)) {
include($fpath);
if (is_array($rcmail_config)) {
- $this->prop = array_merge($this->prop, $rcmail_config);
+ $this->prop = array_merge($this->prop, $rcmail_config, $this->userprefs);
return true;
}
}
@@ -178,9 +179,22 @@
*/
public function merge($prefs)
{
- $this->prop = array_merge($this->prop, $prefs);
+ $this->prop = array_merge($this->prop, $prefs, $this->userprefs);
}
+
+ /**
+ * Merge the given prefs over the current config
+ * and make sure that they survive further merging.
+ *
+ * @param array Hash array with user prefs
+ */
+ public function set_user_prefs($prefs)
+ {
+ $this->userprefs = $prefs;
+ $this->prop = array_merge($this->prop, $prefs);
+ }
+
/**
* Getter for all config options
@@ -191,6 +205,7 @@
{
return $this->prop;
}
+
/**
* Return requested DES crypto key.
@@ -204,9 +219,8 @@
if (!array_key_exists($key, $this->prop))
{
raise_error(array(
- 'code' => 500,
- 'type' => 'php',
- 'file' => __FILE__,
+ 'code' => 500, 'type' => 'php',
+ 'file' => __FILE__, 'line' => __LINE__,
'message' => "Request for unconfigured crypto key \"$key\""
), true, true);
}
@@ -217,15 +231,15 @@
if (strlen($key) != 24)
{
raise_error(array(
- 'code' => 500,
- 'type' => 'php',
- 'file' => __FILE__,
+ 'code' => 500, 'type' => 'php',
+ 'file' => __FILE__, 'line' => __LINE__,
'message' => "Configured crypto key \"$key\" is not exactly 24 bytes long"
), true, true);
}
return $key;
}
+
/**
* Try to autodetect operating system and find the correct line endings
@@ -244,9 +258,8 @@
else
return "\n";
}
+
-
-
/**
* Return the mail domain configured for the given host
*
--
Gitblit v1.9.1