From 66510e20d36cb8da4f3012ef063de7bfce9b51aa Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 09 May 2012 07:52:28 -0400
Subject: [PATCH] Merge pull request #1 from Brianetta/de-svn

---
 program/include/rcube_config.php |   59 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 39 insertions(+), 20 deletions(-)

diff --git a/program/include/rcube_config.php b/program/include/rcube_config.php
index f2c20f5..5fb5bee 100644
--- a/program/include/rcube_config.php
+++ b/program/include/rcube_config.php
@@ -5,7 +5,7 @@
  | program/include/rcube_config.php                                      |
  |                                                                       |
  | This file is part of the Roundcube Webmail client                     |
- | Copyright (C) 2008-2010, The Roundcube Dev Team                       |
+ | Copyright (C) 2008-2012, The Roundcube Dev Team                       |
  |                                                                       |
  | Licensed under the GNU General Public License version 3 or            |
  | any later version with exceptions for skins & plugins.                |
@@ -32,6 +32,18 @@
     private $prop = array();
     private $errors = array();
     private $userprefs = array();
+
+    /**
+     * Renamed options
+     *
+     * @var array
+     */
+    private $legacy_props = array(
+        // new name => old name
+        'default_folders'      => 'default_imap_folders',
+        'mail_pagesize'        => 'pagesize',
+        'addressbook_pagesize' => 'pagesize',
+    );
 
 
     /**
@@ -73,11 +85,11 @@
 
         // 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');
+            $this->prop[$folder] = rcube_charset::convert($this->prop[$folder], RCMAIL_CHARSET, 'UTF7-IMAP');
 
         if (!empty($this->prop['default_folders']))
             foreach ($this->prop['default_folders'] as $n => $folder)
-                $this->prop['default_folders'][$n] = rcube_charset_convert($folder, RCMAIL_CHARSET, 'UTF7-IMAP');
+                $this->prop['default_folders'][$n] = rcube_charset::convert($folder, RCMAIL_CHARSET, 'UTF7-IMAP');
 
         // set PHP error logging according to config
         if ($this->prop['debug_level'] & 1) {
@@ -164,20 +176,25 @@
      */
     public function get($name, $def = null)
     {
-        $result = isset($this->prop[$name]) ? $this->prop[$name] : $def;
-        $rcmail = rcmail::get_instance();
-        
+        if (isset($this->prop[$name])) {
+            $result = $this->prop[$name];
+        }
+        else if (isset($this->legacy_props[$name])) {
+            return $this->get($this->legacy_props[$name], $def);
+        }
+        else {
+            $result = $def;
+        }
+
+        $rcube = rcube::get_instance();
+
         if ($name == 'timezone' && isset($this->prop['_timezone_value']))
             $result = $this->prop['_timezone_value'];
 
-        if (is_object($rcmail->plugins)) {
-            $plugin = $rcmail->plugins->exec_hook('config_get', array(
-                'name' => $name, 'default' => $def, 'result' => $result));
+        $plugin = $rcube->plugins->exec_hook('config_get', array(
+            'name' => $name, 'default' => $def, 'result' => $result));
 
-            return $plugin['result'];
-        }
-
-        return $result;
+        return $plugin['result'];
     }
 
 
@@ -279,7 +296,7 @@
     {
         // Bomb out if the requested key does not exist
         if (!array_key_exists($key, $this->prop)) {
-            raise_error(array(
+            rcube::raise_error(array(
                 'code' => 500, 'type' => 'php',
                 'file' => __FILE__, 'line' => __LINE__,
                 'message' => "Request for unconfigured crypto key \"$key\""
@@ -290,7 +307,7 @@
 
         // Bomb out if the configured key is not exactly 24 bytes long
         if (strlen($key) != 24) {
-            raise_error(array(
+            rcube::raise_error(array(
                 'code' => 500, 'type' => 'php',
 	            'file' => __FILE__, 'line' => __LINE__,
                 'message' => "Configured crypto key '$key' is not exactly 24 bytes long"
@@ -314,7 +331,7 @@
             if ($delim == "\n" || $delim == "\r\n")
                 return $delim;
             else
-                raise_error(array(
+                rcube::raise_error(array(
                     'code' => 500, 'type' => 'php',
 	                'file' => __FILE__, 'line' => __LINE__,
                     'message' => "Invalid mail_header_delimiter setting"
@@ -348,11 +365,13 @@
             if (isset($this->prop['mail_domain'][$host]))
                 $domain = $this->prop['mail_domain'][$host];
         }
-        else if (!empty($this->prop['mail_domain']))
-            $domain = rcube_parse_host($this->prop['mail_domain']);
+        else if (!empty($this->prop['mail_domain'])) {
+            $domain = rcube_utils::parse_host($this->prop['mail_domain']);
+        }
 
-        if ($encode)
-            $domain = rcube_idn_to_ascii($domain);
+        if ($encode) {
+            $domain = rcube_utils::idn_to_ascii($domain);
+        }
 
         return $domain;
     }

--
Gitblit v1.9.1