From: Jan Schneider Date: Thu, 14 May 2009 13:54:24 +0000 (+0200) Subject: MFB: X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=28899c4373baf8a24097bac28ab1fd5e63b99b8f;p=horde.git MFB: [jan] Take default settings for forwards, vacation and spam rules from config/prefs.php in the SQL storage driver. --- diff --git a/ingo/docs/CHANGES b/ingo/docs/CHANGES index 13755874e..ef2a70056 100644 --- a/ingo/docs/CHANGES +++ b/ingo/docs/CHANGES @@ -9,6 +9,9 @@ v2.0-git v1.2.2-cvs ---------- +[jan] Take default settings for forwards, vacation and spam rules from + config/prefs.php in the SQL storage driver. +[jan] No longer try to read spam folder from IMP's preferences. [jan] Fix maildrop rules without conditions (almarin@um.es, Bug #8103). [cjh] Fix checks for the forward_file and forward_script procmail parameters in the VFS driver (Bug #7811). diff --git a/ingo/lib/Storage/prefs.php b/ingo/lib/Storage/prefs.php index 4054717d6..dc0b01cfe 100644 --- a/ingo/lib/Storage/prefs.php +++ b/ingo/lib/Storage/prefs.php @@ -48,6 +48,14 @@ class Ingo_Storage_prefs extends Ingo_Storage } break; + case self::ACTION_WHITELIST: + $ob = new Ingo_Storage_whitelist(); + $data = @unserialize($prefs->getValue('whitelist')); + if ($data) { + $ob->setWhitelist($data, false); + } + break; + case self::ACTION_FILTERS: $ob = new Ingo_Storage_filters(); $data = @unserialize($prefs->getValue('rules', false)); @@ -96,14 +104,6 @@ class Ingo_Storage_prefs extends Ingo_Storage } break; - case self::ACTION_WHITELIST: - $ob = new Ingo_Storage_whitelist(); - $data = @unserialize($prefs->getValue('whitelist')); - if ($data) { - $ob->setWhitelist($data, false); - } - break; - case self::ACTION_SPAM: $ob = new Ingo_Storage_spam(); $data = @unserialize($prefs->getValue('spam')); diff --git a/ingo/lib/Storage/sql.php b/ingo/lib/Storage/sql.php index b6d6ed77d..a5af725d5 100644 --- a/ingo/lib/Storage/sql.php +++ b/ingo/lib/Storage/sql.php @@ -184,6 +184,9 @@ class Ingo_Storage_sql extends Ingo_Storage $ob->setForwardAddresses(explode("\n", $data['forward_addresses']), false); $ob->setForwardKeep((bool)$data['forward_keep']); $ob->setSaved(true); + } elseif ($data = @unserialize($GLOBALS['prefs']->getDefault('vacation'))) { + $ob->setForwardAddresses($data['a'], false); + $ob->setForwardKeep($data['k']); } break; @@ -206,6 +209,19 @@ class Ingo_Storage_sql extends Ingo_Storage $ob->setVacationReason(String::convertCharset($data['vacation_reason'], $this->_params['charset'])); $ob->setVacationSubject(String::convertCharset($data['vacation_subject'], $this->_params['charset'])); $ob->setSaved(true); + } elseif ($data = @unserialize($GLOBALS['prefs']->getDefault('vacation'))) { + $ob->setVacationAddresses($data['addresses'], false); + $ob->setVacationDays($data['days']); + $ob->setVacationExcludes($data['excludes'], false); + $ob->setVacationIgnorelist($data['ignorelist']); + $ob->setVacationReason($data['reason']); + $ob->setVacationSubject($data['subject']); + if (isset($data['start'])) { + $ob->setVacationStart($data['start']); + } + if (isset($data['end'])) { + $ob->setVacationEnd($data['end']); + } } break; @@ -222,6 +238,9 @@ class Ingo_Storage_sql extends Ingo_Storage $ob->setSpamFolder($data['spam_folder']); $ob->setSpamLevel((int)$data['spam_level']); $ob->setSaved(true); + } elseif ($data = @unserialize($GLOBALS['prefs']->getDefault('spam'))) { + $ob->setSpamFolder($data['folder']); + $ob->setSpamLevel($data['level']); } break;