MFB: Make the unit tests work again.
authorJan Schneider <jan@horde.org>
Mon, 21 Dec 2009 23:38:28 +0000 (00:38 +0100)
committerJan Schneider <jan@horde.org>
Tue, 22 Dec 2009 01:46:13 +0000 (02:46 +0100)
13 files changed:
ingo/docs/CHANGES
ingo/lib/Script.php
ingo/lib/Script/Imap.php
ingo/lib/Script/Maildrop.php
ingo/lib/Script/Sieve.php
ingo/lib/Storage.php
ingo/lib/tests/MaildropTest.php
ingo/lib/tests/ProcmailTest.php
ingo/lib/tests/ScriptTest.php
ingo/lib/tests/SieveTest.php
ingo/lib/tests/TestBase.php
ingo/po/de_DE.po
ingo/po/ingo.pot

index bc207e7..718523a 100644 (file)
@@ -12,7 +12,8 @@ v1.2.4-cvs
 
 [jan] Fix unconditional debug output with Net_Sieve earlier than 1.2.0
       (Bug #8794).
-[jan] Add Sieve configuration to use UTF-8 encoded folder names (for Dovecot).
+[jan] Add Sieve configuration to use UTF-8 encoded folder names (for Dovecot)
+      (Request #7391).
 
 
 ------
index eda050f..5eb6fae 100644 (file)
@@ -117,6 +117,26 @@ class Ingo_Script
         $script = basename($script);
         $class = 'Ingo_Script_' . ucfirst($script);
 
+        if (!isset($params['spam_compare'])) {
+            $params['spam_compare'] = $GLOBALS['conf']['spam']['compare'];
+        }
+        if (!isset($params['spam_header'])) {
+            $params['spam_header'] = $GLOBALS['conf']['spam']['header'];
+        }
+        if (!isset($params['spam_char'])) {
+            $params['spam_char'] = $GLOBALS['conf']['spam']['char'];
+        }
+        if ($script == 'sieve') {
+            if (!isset($params['date_format'])) {
+                $params['date_format'] = $GLOBALS['prefs']->getValue('date_format');;
+            }
+            if (!isset($params['time_format'])) {
+                // %R and %r don't work on Windows, but who runs a Sieve
+                // backend on a Windows server?
+                $params['time_format'] = $GLOBALS['prefs']->getValue('twentyFour') ? '%R' : '%r';
+            }
+        }
+
         return class_exists($class)
             ? new $class($params)
             : PEAR::raiseError(sprintf(_("Unable to load the definition of %s."), $class));
@@ -129,19 +149,21 @@ class Ingo_Script
      */
     public function __construct($params = array())
     {
-        global $registry;
-
         $this->_params = $params;
 
+        if (!isset($GLOBALS['registry'])) {
+            return;
+        }
+
         /* Determine if ingo should handle the blacklist. */
         $key = array_search(Ingo_Storage::ACTION_BLACKLIST, $this->_categories);
-        if ($key !== false && ($registry->hasMethod('mail/blacklistFrom') != 'ingo')) {
+        if ($key !== false && ($GLOBALS['registry']->hasMethod('mail/blacklistFrom') != 'ingo')) {
             unset($this->_categories[$key]);
         }
 
         /* Determine if ingo should handle the whitelist. */
         $key = array_search(Ingo_Storage::ACTION_WHITELIST, $this->_categories);
-        if ($key !== false && ($registry->hasMethod('mail/whitelistFrom') != 'ingo')) {
+        if ($key !== false && ($GLOBALS['registry']->hasMethod('mail/whitelistFrom') != 'ingo')) {
             unset($this->_categories[$key]);
         }
     }
index 38c7f34..9446122 100644 (file)
@@ -117,12 +117,6 @@ class Ingo_Script_Imap extends Ingo_Script
         /* Grab the rules list. */
         $filters = &$GLOBALS['ingo_storage']->retrieve(Ingo_Storage::ACTION_FILTERS);
 
-        /* Should we filter only [un]seen messages? */
-        $seen_flag = $GLOBALS['prefs']->getValue('filter_seen');
-
-        /* Should we use detailed notification messages? */
-        $detailmsg = $GLOBALS['prefs']->getValue('show_filter_msg');
-
         /* Parse through the rules, one-by-one. */
         foreach ($filters->getFilterList() as $rule) {
             /* Check to make sure this is a valid rule and that the rule is
@@ -140,11 +134,11 @@ class Ingo_Script_Imap extends Ingo_Script
                 $bl_folder = null;
 
                 if ($rule['action'] == Ingo_Storage::ACTION_BLACKLIST) {
-                    $blacklist = &$GLOBALS['ingo_storage']->retrieve(Ingo_Storage::ACTION_BLACKLIST);
+                    $blacklist = $GLOBALS['ingo_storage']->retrieve(Ingo_Storage::ACTION_BLACKLIST);
                     $addr = $blacklist->getBlacklist();
                     $bl_folder = $blacklist->getBlacklistFolder();
                 } else {
-                    $whitelist = &$GLOBALS['ingo_storage']->retrieve(Ingo_Storage::ACTION_WHITELIST);
+                    $whitelist = $GLOBALS['ingo_storage']->retrieve(Ingo_Storage::ACTION_WHITELIST);
                     $addr = $whitelist->getWhitelist();
                 }
 
@@ -157,9 +151,9 @@ class Ingo_Script_Imap extends Ingo_Script
                 foreach ($addr as $val) {
                     $ob = new Horde_Imap_Client_Search_Query();
                     $ob->flag('\\deleted', false);
-                    if ($seen_flag == Ingo_Script::FILTER_UNSEEN) {
+                    if ($params['filter_seen'] == Ingo_Script::FILTER_UNSEEN) {
                         $ob->flag('\\seen', false);
-                    } elseif ($seen_flag == Ingo_Script::FILTER_SEEN) {
+                    } elseif ($params['filter_seen'] == Ingo_Script::FILTER_SEEN) {
                         $ob->flag('\\seen', true);
                     }
                     $ob->headerText('from', $val);
@@ -206,9 +200,9 @@ class Ingo_Script_Imap extends Ingo_Script
                 foreach ($rule['conditions'] as $val) {
                     $ob = new Horde_Imap_Client_Search_Query();
                     $ob->flag('\\deleted', false);
-                    if ($seen_flag == Ingo_Script::FILTER_UNSEEN) {
+                    if ($params['filter_seen'] == Ingo_Script::FILTER_UNSEEN) {
                         $ob->flag('\\seen', false);
-                    } elseif ($seen_flag == Ingo_Script::FILTER_SEEN) {
+                    } elseif ($params['filter_seen'] == Ingo_Script::FILTER_SEEN) {
                         $ob->flag('\\seen', true);
                     }
                     if (!empty($val['type']) &&
@@ -263,7 +257,7 @@ class Ingo_Script_Imap extends Ingo_Script
                         $ignore_ids = array_unique($indices + $ignore_ids);
                     } elseif ($rule['action'] == Ingo_Storage::ACTION_MOVE) {
                         /* We need to grab the overview first. */
-                        if ($detailmsg) {
+                        if ($params['show_filter_msg']) {
                             $overview = $this->_api->fetchEnvelope($indices);
                         }
 
@@ -271,7 +265,7 @@ class Ingo_Script_Imap extends Ingo_Script
                         $this->_api->moveMessages($indices, $rule['action-value']);
 
                         /* Display notification message(s). */
-                        if ($detailmsg) {
+                        if ($params['show_filter_msg']) {
                             foreach ($overview as $msg) {
                                 $GLOBALS['notification']->push(
                                     sprintf(_("Filter activity: The message \"%s\" from \"%s\" has been moved to the folder \"%s\"."),
@@ -287,7 +281,7 @@ class Ingo_Script_Imap extends Ingo_Script
                         }
                     } elseif ($rule['action'] == Ingo_Storage::ACTION_DISCARD) {
                         /* We need to grab the overview first. */
-                        if ($detailmsg) {
+                        if ($params['show_filter_msg']) {
                             $overview = $this->_api->fetchEnvelope($indices);
                         }
 
@@ -295,7 +289,7 @@ class Ingo_Script_Imap extends Ingo_Script
                         $this->_api->deleteMessages($indices);
 
                         /* Display notification message(s). */
-                        if ($detailmsg) {
+                        if ($params['show_filter_msg']) {
                             foreach ($overview as $msg) {
                                 $GLOBALS['notification']->push(
                                     sprintf(_("Filter activity: The message \"%s\" from \"%s\" has been deleted."),
@@ -312,7 +306,7 @@ class Ingo_Script_Imap extends Ingo_Script
                                                  $rule['action-value']);
 
                         /* Display notification message(s). */
-                        if ($detailmsg) {
+                        if ($params['show_filter_msg']) {
                             $overview = $this->_api->fetchEnvelope($indices);
                             foreach ($overview as $msg) {
                                 $GLOBALS['notification']->push(
@@ -361,7 +355,7 @@ class Ingo_Script_Imap extends Ingo_Script
     public function apply()
     {
         return $this->canApply()
-            ? $this->perform(array('mailbox' => 'INBOX'))
+            ? $this->perform(array('mailbox' => 'INBOX', 'filter_seen' => $GLOBALS['prefs']->getValue('filter_seen'), 'show_filter_msg' => $GLOBALS['prefs']->getValue('show_filter_msg')))
             : false;
     }
 
index cd35649..093b592 100644 (file)
@@ -301,14 +301,14 @@ class Ingo_Script_Maildrop extends Ingo_Script {
                         'action' => $spam_action,
                         'disable' => $disable);
         $recipe = new Maildrop_Recipe($params, $this->_params);
-        if ($GLOBALS['conf']['spam']['compare'] == 'numeric') {
+        if ($this->_params['spam_compare'] == 'numeric') {
             $recipe->addCondition(array('match' => 'greater than or equal to',
-                                        'field' => $GLOBALS['conf']['spam']['header'],
+                                        'field' => $this->_params['spam_header'],
                                         'value' => $spam->getSpamLevel()));
-        } elseif ($GLOBALS['conf']['spam']['compare'] == 'string') {
+        } elseif ($this->_params['spam_compare'] == 'string') {
             $recipe->addCondition(array('match' => 'contains',
-                                        'field' => $GLOBALS['conf']['spam']['header'],
-                                        'value' => str_repeat($GLOBALS['conf']['spam']['char'], $spam->getSpamLevel())));
+                                        'field' => $this->_params['spam_header'],
+                                        'value' => str_repeat($this->_params['spam_char'], $spam->getSpamLevel())));
         }
 
         $this->addItem($recipe);
index faec9cf..2deb8d0 100644 (file)
@@ -113,13 +113,9 @@ class Ingo_Script_Sieve extends Ingo_Script {
      */
     function toCode()
     {
-        $date_format = $GLOBALS['prefs']->getValue('date_format');
-        // %R and %r don't work on Windows, but who runs a Sieve backend on a
-        // Windows server?
-        $time_format = $GLOBALS['prefs']->getValue('twentyFour') ? '%R' : '%r';
         $code = "# Sieve Filter\n# "
             . _("Generated by Ingo (http://www.horde.org/ingo/)") . ' ('
-            . trim(strftime($date_format . ', ' . $time_format))
+            . trim(strftime($this->_params['date_format'] . ', ' . $this->_params['time_format']))
             . ")\n\n";
         $code = Horde_String::convertCharset($code, Horde_Nls::getCharset(), 'UTF-8');
         $requires = $this->requires();
@@ -437,18 +433,18 @@ class Ingo_Script_Sieve extends Ingo_Script {
         $actions = array();
         $actions[] = new Sieve_Action_Fileinto(array_merge($this->_params, array('folder' => $spam->getSpamFolder())));
 
-        if ($GLOBALS['conf']['spam']['compare'] == 'numeric') {
+        if ($this->_params['spam_compare'] == 'numeric') {
             $vals = array(
-                'headers' => $GLOBALS['conf']['spam']['header'],
+                'headers' => $this->_params['spam_header'],
                 'comparison' => 'ge',
                 'value' => $spam->getSpamLevel(),
             );
             $test = new Sieve_Test_Relational($vals);
-        } elseif ($GLOBALS['conf']['spam']['compare'] == 'string') {
+        } elseif ($this->_params['spam_compare'] == 'string') {
             $vals = array(
-                'headers' => $GLOBALS['conf']['spam']['header'],
+                'headers' => $this->_params['spam_header'],
                 'match-type' => ':contains',
-                'strings' => str_repeat($GLOBALS['conf']['spam']['char'],
+                'strings' => str_repeat($this->_params['spam_char'],
                                         $spam->getSpamLevel()),
                 'comparator' => 'i;ascii-casemap',
             );
index 995a7e2..b8716ca 100644 (file)
@@ -142,12 +142,12 @@ class Ingo_Storage
                     $cacheSess = Horde_SessionObjects::singleton();
                     $this->_cache[$field]['ob'] = $cacheSess->query($_SESSION['ingo']['storage'][$field]);
                 } else {
-                    $this->_cache[$field]['ob'] = &$this->_retrieve($field, $readonly);
+                    $this->_cache[$field]['ob'] = $this->_retrieve($field, $readonly);
                 }
             }
-            $ob = &$this->_cache[$field]['ob'];
+            $ob = $this->_cache[$field]['ob'];
         } else {
-            $ob = &$this->_retrieve($field, $readonly);
+            $ob = $this->_retrieve($field, $readonly);
         }
 
         return $ob;
index a6b7ca9..8f53e46 100644 (file)
@@ -21,10 +21,16 @@ class Ingo_MaildropTest extends Ingo_TestBase {
 
     function setUp()
     {
-        $GLOBALS['ingo_storage'] = &Ingo_Storage::factory('mock',
-                                                 array('maxblacklist' => 3,
-                                                       'maxwhitelist' => 3));
-        $GLOBALS['ingo_script'] = &Ingo_Script::factory('maildrop', array('path_style' => 'mbox'));
+        $GLOBALS['ingo_storage'] = Ingo_Storage::factory(
+            'mock',
+            array('maxblacklist' => 3,
+                  'maxwhitelist' => 3));
+        $GLOBALS['ingo_script'] = Ingo_Script::factory(
+            'maildrop',
+            array('path_style' => 'mbox',
+                  'spam_compare' => 'string',
+                  'spam_header' => 'X-Spam-Level',
+                  'spam_char' => '*'));
     }
 
     function testForwardKeep()
@@ -35,7 +41,7 @@ class Ingo_MaildropTest extends Ingo_TestBase {
 
         $this->store($forward);
         $this->assertScript('if( \
-/^From: .*/:h \
+/^From:\s*.*/:h \
 )
 exception {
 cc "! joefabetes@example.com"
@@ -51,7 +57,7 @@ to "${DEFAULT}"
 
         $this->store($forward);
         $this->assertScript('if( \
-/^From: .*/:h \
+/^From:\s*.*/:h \
 )
 exception {
 cc "! joefabetes@example.com"
@@ -67,7 +73,7 @@ exit
 
         $this->store($bl);
         $this->assertScript('if( \
-/^From: .*spammer@example\.com/:h \
+/^From:\s*.*spammer@example\.com/:h \
 )
 exception {
 to Junk
@@ -82,7 +88,7 @@ to Junk
 
         $this->store($bl);
         $this->assertScript('if( \
-/^From: .*spammer@example\.com/:h \
+/^From:\s*.*spammer@example\.com/:h \
 )
 exception {
 to ++DELETE++
@@ -97,10 +103,10 @@ to ++DELETE++
 
         $this->store($bl);
         $this->assertScript('if( \
-/^From: .*spammer@example\.com/:h \
+/^From:\s*.*spammer@example\.com/:h \
 )
 exception {
-to "/dev/null"
+exit
 }');
     }
 
@@ -111,7 +117,7 @@ to "/dev/null"
 
         $this->store($wl);
         $this->assertScript('if( \
-/^From: .*spammer@example\.com/:h \
+/^From:\s*.*spammer@example\.com/:h \
 )
 exception {
 to "${DEFAULT}"
index a4e8818..3b9868e 100644 (file)
@@ -24,11 +24,16 @@ class Ingo_ProcmailTest extends Ingo_TestBase {
         $GLOBALS['conf']['spam'] = array('enabled' => true,
                                          'char' => '*',
                                          'header' => 'X-Spam-Level');
-        $GLOBALS['ingo_storage'] = &Ingo_Storage::factory('mock',
-                                                 array('maxblacklist' => 3,
-                                                       'maxwhitelist' => 3));
-        $GLOBALS['ingo_script'] = &Ingo_Script::factory('procmail',
-                                                        array('path_style' => 'mbox'));
+        $GLOBALS['ingo_storage'] = Ingo_Storage::factory(
+            'mock',
+            array('maxblacklist' => 3,
+                  'maxwhitelist' => 3));
+        $GLOBALS['ingo_script'] = Ingo_Script::factory(
+            'procmail',
+            array('path_style' => 'mbox',
+                  'spam_compare' => 'string',
+                  'spam_header' => 'X-Spam-Level',
+                  'spam_char' => '*'));
     }
 
     function testForwardKeep()
@@ -165,21 +170,28 @@ $DEFAULT');
 
         $this->assertScript(':0
 {
-FILEDATE=`test -f \'.vacation.from@example.com\' && ls -lcn --time-style=+%s \'.vacation.from@example.com\' | awk \'{ print $6 + (604800) }\'`
+:0
+* ^TO_from@example.com
+{
+FILEDATE=`test -f ${VACATION_DIR:-.}/\'.vacation.from@example.com\' && ls -lcn --time-style=+%s ${VACATION_DIR:-.}/\'.vacation.from@example.com\' | awk \'{ print $6 + (604800) }\'`
 DATE=`date +%s`
-DUMMY=`test -f \'.vacation.from@example.com\' && test $FILEDATE -le $DATE && rm \'.vacation.from@example.com\'`
-:0 Whc: vacation.lock
-* $^To:(.*\<)?from@example.com
+DUMMY=`test -f ${VACATION_DIR:-.}/\'.vacation.from@example.com\' && test $FILEDATE -le $DATE && rm ${VACATION_DIR:-.}/\'.vacation.from@example.com\'`
+:0 h
+SUBJECT=| formail -xSubject:
+:0 Whc: ${VACATION_DIR:-.}/vacation.lock
+* ^TO_from@example.com
 * !^X-Loop: from@example.com
+* !^X-Spam-Flag: YES
 * !^FROM_DAEMON
-| formail -rD 8192 .vacation.from@example.com
-:0 ehc
+| formail -rD 8192 ${VACATION_DIR:-.}/.vacation.from@example.com
+:0 eh
 | (formail -rI"Precedence: junk" \
 -a"From: <from@example.com>" \
 -A"X-Loop: from@example.com" \
--i"Subject: Subject" ; \
-echo "Because I don\'t like working!" \
+-i"Subject: Subject (Re: $SUBJECT)" ; \
+echo -e "Because I don\'t like working!" \
 ) | $SENDMAIL -ffrom@example.com -oi -t
+}
 }');
     }
 
index 00f664e..6482717 100644 (file)
@@ -151,7 +151,9 @@ class ScriptTester_imap extends ScriptTester {
         $this->api = Ingo_Script_imap_api::factory('mock', array());
 
         $result = $this->api->loadFixtures(dirname(__FILE__) . '/_data/');
-        $this->test->assertNotA($result, 'PEAR_Error');
+        $this->test->assertNotType('PEAR_Error', $result);
+
+        $GLOBALS['notification'] = new Ingo_Test_Notification;
 
         $params = array('api' => $this->api);
         $this->imap = Ingo_Script::factory('imap', $params);
@@ -159,7 +161,7 @@ class ScriptTester_imap extends ScriptTester {
 
     function _run()
     {
-        $params = array('api' => $this->api);
+        $params = array('api' => $this->api, 'filter_seen' => 0, 'show_filter_msg' => 1);
         $this->imap->perform($params);
     }
 
@@ -253,12 +255,9 @@ class ScriptTester_sieve extends ScriptTester {
 
     function _assertOutput($want)
     {
-        $answer = $this->test->assertWantedPattern('/' .
-                                                   preg_quote($want, '/') . '/',
-                                                   $this->output);
-        if (!$answer) {
-            echo "FAILED SIEVE SCRIPT:\n\n", $this->sieve_text, "\n\n";
-        }
+        $this->test->assertRegExp('/' . preg_quote($want, '/') . '/',
+                                  $this->output,
+                                  "FAILED SIEVE SCRIPT:\n\n", $this->sieve_text, "\n\n");
     }
 
     var $mbox;
@@ -308,7 +307,7 @@ class ScriptTester_sieve extends ScriptTester {
 
     function _writeSieveScript()
     {
-        $params = array();
+        $params = array('date_format' => '%x', 'time_format' => '%R');
 
         $this->_setupStorage();
         $script = Ingo_Script::factory('sieve', $params);
@@ -325,7 +324,7 @@ class ScriptTester_sieve extends ScriptTester {
     {
         $this->output = '';
         $ph = popen("sieve -vv -n -f " . escapeshellarg($this->mbox) . " " .
-                    escapeshellarg($this->sieve), 'r');
+                    escapeshellarg($this->sieve) . ' 2>&1', 'r');
         while (!feof($ph)) {
             $data = fread($ph, 512);
             if (is_string($data)) {
index a71e1b8..678a1fc 100644 (file)
@@ -24,10 +24,17 @@ class Ingo_SieveTest extends Ingo_TestBase {
         $GLOBALS['conf']['spam'] = array('enabled' => true,
                                          'char' => '*',
                                          'header' => 'X-Spam-Level');
-        $GLOBALS['ingo_storage'] = &Ingo_Storage::factory('mock',
-                                                 array('maxblacklist' => 3,
-                                                       'maxwhitelist' => 3));
-        $GLOBALS['ingo_script'] = &Ingo_Script::factory('sieve', array());
+        $GLOBALS['ingo_storage'] = Ingo_Storage::factory(
+            'mock',
+            array('maxblacklist' => 3,
+                  'maxwhitelist' => 3));
+        $GLOBALS['ingo_script'] = Ingo_Script::factory(
+            'sieve',
+            array('spam_compare' => 'string',
+                  'spam_header' => 'X-Spam-Level',
+                  'spam_char' => '*',
+                  'date_format' => '%x',
+                  'time_format' => '%R'));
     }
 
     function testForwardKeep()
@@ -39,7 +46,10 @@ class Ingo_SieveTest extends Ingo_TestBase {
         $this->store($forward);
         $this->assertScript('if true {
 redirect "joefabetes@example.com";
+}
+if true {
 keep;
+stop;
 }');
     }
 
@@ -52,6 +62,7 @@ keep;
         $this->store($forward);
         $this->assertScript('if true {
 redirect "joefabetes@example.com";
+stop;
 }');
     }
 
@@ -104,8 +115,8 @@ stop;
         $this->store($vacation);
         $this->_enableRule(Ingo_Storage::ACTION_VACATION);
 
-        $this->assertScript('require "vacation";
-if allof ( not exists ["list-help", "list-unsubscribe", "list-subscribe", "list-owner", "list-post", "list-archive", "list-id"], not header :comparator "i;ascii-casemap" :is "Precedence" "list,bulk" ) {
+        $this->assertScript('require ["vacation", "regex"];
+if allof ( not exists ["list-help", "list-unsubscribe", "list-subscribe", "list-owner", "list-post", "list-archive", "list-id", "Mailing-List"], not header :comparator "i;ascii-casemap" :is "Precedence" ["list", "bulk", "junk"], not header :comparator "i;ascii-casemap" :matches "To" "Multiple recipients of*" ) {
 vacation :days 7 :addresses "from@example.com" :subject "Subject" "Because I don\'t like working!";
 }');
     }
@@ -131,6 +142,7 @@ vacation :days 7 :addresses "from@example.com" :subject "Subject" "Because I don
         $this->assertScript('require "fileinto";
 if header :comparator "i;ascii-casemap" :contains "X-Spam-Level" "*******"  {
 fileinto "Junk";
+stop;
 }');
     }
 
index 6cdad05..4f24c10 100644 (file)
@@ -1,4 +1,9 @@
 <?php
+
+define('INGO_BASE', dirname(__FILE__) . '/../..');
+define('HORDE_BASE', dirname(__FILE__) . '/../../..');
+require_once HORDE_BASE . '/lib/core.php';
+
 /**
  * Common library for Ingo test cases
  *
@@ -45,7 +50,15 @@ class Ingo_TestBase extends PHPUnit_Framework_TestCase {
         }
 
         $new_script = join("\n", $new);
-        $this->assertEqual($expect, $new_script);
+        $this->assertEquals($expect, $new_script);
     }
 
 }
+
+class Ingo_Test_Notification {
+
+    function push()
+    {
+    }
+
+}
\ No newline at end of file
index afb7a33..54d2d26 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ingo 1.2-cvs\n"
 "Report-Msgid-Bugs-To: dev@lists.horde.org\n"
-"POT-Creation-Date: 2008-08-01 10:44+0200\n"
+"POT-Creation-Date: 2009-11-21 13:39+0100\n"
 "PO-Revision-Date: 2007-11-22 18:21+0100\n"
 "Last-Translator: Jan Schneider\n"
 "Language-Team: i18n@lists.horde.org\n"
@@ -16,11 +16,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: filters.php:223
+#: filters.php:230
 msgid " and"
 msgstr " und"
 
-#: filters.php:223
+#: filters.php:230
 msgid " or"
 msgstr " oder"
 
@@ -32,7 +32,7 @@ msgstr "Aktion f
 msgid "Activate Script"
 msgstr "Skript aktivieren"
 
-#: lib/Driver/ldap.php:229
+#: lib/Driver/Ldap.php:226
 #, php-format
 msgid "Activating the script for \"%s\" failed: (%d) %s"
 msgstr "Aktivieren des Skripts für \"%s\" fehlgeschlagen: (%d) %s"
@@ -41,23 +41,23 @@ msgstr "Aktivieren des Skripts f
 msgid "Additional Settings"
 msgstr "Zusätzliche Einstellungen"
 
-#: forward.php:43
+#: forward.php:39
 msgid "Address(es) to forward to:"
 msgstr "Adresse(n), an die weitergeleitet werden soll:"
 
-#: vacation.php:56
+#: vacation.php:49
 msgid "Addresses to not send responses to:"
 msgstr "Adresse(n), an die keine Antwort geschickt werden soll:"
 
-#: vacation.php:50
+#: vacation.php:46
 msgid "Advanced Settings"
 msgstr "Erweiterte Einstellungen"
 
-#: templates/rule/header.inc:44
+#: templates/rule/header.inc:32
 msgid "All of the following"
 msgstr "Alle der folgenden"
 
-#: lib/api.php:68
+#: lib/Application.php:26
 msgid "Allow Rules"
 msgstr "Regeln erlauben"
 
@@ -65,7 +65,7 @@ msgstr "Regeln erlauben"
 msgid "Answered"
 msgstr "Beantwortet"
 
-#: templates/rule/header.inc:45
+#: templates/rule/header.inc:33
 msgid "Any of the following"
 msgstr "Einer der folgenden"
 
@@ -73,94 +73,89 @@ msgstr "Einer der folgenden"
 msgid "Apply Filters"
 msgstr "Filterregeln anwenden"
 
-#: filters.php:252
+#: filters.php:258
 msgid "Are you sure you want to delete this rule?"
 msgstr "Sind Sie sicher, dass Sie diese Regel löschen möchten?"
 
-#: config/prefs.php.dist:32
+#: config/prefs.php.dist:28
 msgid "Automatically update the script after each change?"
 msgstr "Das Skript nach jeder Ã„nderung automatisch aktualisieren?"
 
-#: vacation.php:41
+#: vacation.php:37
 msgid "Basic Settings"
 msgstr "Einfache Einstellungen"
 
-#: config/fields.php.dist:47
+#: config/fields.php.dist:49
 msgid "Bcc"
 msgstr "Bcc"
 
-#: lib/Storage.php:346
+#: lib/Storage.php:329
 msgid "Begins with"
 msgstr "Beginnt mit"
 
-#: lib/Driver/ldap.php:106 lib/Driver/ldap.php:111
+#: lib/Driver/Ldap.php:105 lib/Driver/Ldap.php:110
 #, php-format
 msgid "Bind failed: (%s) %s"
 msgstr "Verbindung fehlgeschlagen: (%s) %s"
 
-#: filters.php:174 templates/blacklist/blacklist.inc:7
-#: lib/Block/overview.php:95 lib/Block/overview.php:98
+#: filters.php:181 templates/blacklist/blacklist.inc:7
+#: lib/Block/overview.php:88 lib/Block/overview.php:91
 msgid "Blacklist"
 msgstr "Ausschlussliste"
 
-#: blacklist.php:104
+#: blacklist.php:101
 msgid "Blacklist Edit"
 msgstr "Ausschlussliste Bearbeiten"
 
-#: blacklist.php:19
+#: blacklist.php:18
 msgid "Blacklist is not supported in the current filtering driver."
 msgstr "Ausschlusslisten werden vom aktuellen Filtertreiber nicht unterstützt."
 
-#: lib/Script/procmail.php:219 lib/Script/sieve.php:276
-#: lib/Script/maildrop.php:197
+#: lib/Script/Maildrop.php:193 lib/Script/Sieve.php:274
+#: lib/Script/Procmail.php:217
 msgid "Blacklisted Addresses"
 msgstr "Ausgeschlossene Adressen"
 
-#: config/fields.php.dist:100
+#: config/fields.php.dist:102
 msgid "Body"
 msgstr "Text"
 
-#: filters.php:220 rule.php:322
+#: filters.php:227 rule.php:320
 msgid "Case Sensitive"
 msgstr "Groß-/Kleinschreibung beachten"
 
-#: config/fields.php.dist:43
+#: config/fields.php.dist:45
 msgid "Cc"
 msgstr "Cc"
 
-#: spam.php:106 rule.php:141 whitelist.php:38 forward.php:56 vacation.php:81
+#: spam.php:103 rule.php:139 whitelist.php:37 forward.php:52 vacation.php:74
 #: blacklist.php:70
 msgid "Changes saved."
 msgstr "Änderungen gespeichert."
 
-#: lib/Driver/ldap.php:73
+#: lib/Driver/Ldap.php:72
 msgid "Connection failure"
 msgstr "Verbindung fehlgeschlagen"
 
-#: lib/Storage.php:342
+#: lib/Storage.php:325
 msgid "Contains"
 msgstr "Enthält"
 
-#: filters.php:263 filters.php:264
+#: filters.php:269 filters.php:270
 #, php-format
 msgid "Copy %s"
 msgstr "%s kopieren"
 
-#: lib/Storage.php:993 lib/Storage/sql.php:621
+#: lib/Storage/Filters.php:194 lib/Storage/Filters/Sql.php:244
 #, php-format
 msgid "Copy of %s"
 msgstr "Kopie von %s"
 
-#: lib/Template.php:235
-#, php-format
-msgid "Could not save the compiled template file '%s'."
-msgstr "Die kompilierte Templatedatei '%s' konnte nicht gespeichert werden."
-
-#: lib/Ingo.php:62
+#: lib/Ingo.php:68
 msgid "Create new folder"
 msgstr "Neuen Ordner erstellen"
 
-#: lib/Script/procmail.php:352 lib/Script/maildrop.php:362
+#: lib/Script/Maildrop.php:359 lib/Script/Procmail.php:350
 msgid "DISABLED: "
 msgstr "DEAKTIVIERT: "
 
@@ -168,7 +163,7 @@ msgstr "DEAKTIVIERT: "
 msgid "Deactivate Script"
 msgstr "Skript deaktivieren"
 
-#: filters.php:252 filters.php:253
+#: filters.php:258 filters.php:259
 #, php-format
 msgid "Delete %s"
 msgstr "%s löschen"
@@ -177,7 +172,7 @@ msgstr "%s l
 msgid "Delete Condition"
 msgstr "Bedingung löschen"
 
-#: lib/Storage.php:290
+#: lib/Storage.php:273
 msgid "Delete message completely"
 msgstr "Nachricht komplett löschen"
 
@@ -185,34 +180,35 @@ msgstr "Nachricht komplett l
 msgid "Deleted"
 msgstr "Gelöscht"
 
-#: lib/Storage.php:278
+#: lib/Storage.php:261
 msgid "Deliver into my Inbox"
 msgstr "In meinen Posteingang ausliefern"
 
-#: lib/Storage.php:304
-msgid "Deliver into my Inbox and copy to"
-msgstr "In meinen Posteingang ausliefern und kopieren nach"
+#: lib/Storage.php:287
+msgid "Deliver into my Inbox and copy to..."
+msgstr "In meinen Posteingang ausliefern und kopieren nach..."
 
-#: lib/Storage.php:299
-msgid "Deliver into my Inbox and redirect to"
-msgstr "In meinen Posteingang ausliefern und weiterleiten nach"
+#: lib/Storage.php:282
+msgid "Deliver into my Inbox and redirect to..."
+msgstr "In meinen Posteingang ausliefern und weiterleiten nach..."
 
-#: lib/Storage.php:284
-msgid "Deliver to folder"
-msgstr "In diesen Ordner ausliefern"
+#: lib/Storage.php:267
+msgid "Deliver to folder..."
+msgstr "Ausliefern in den Ordner..."
 
-#: config/fields.php.dist:83
-msgid "Destination (To,Cc,Bcc,etc)"
+#: config/fields.php.dist:85
+#, fuzzy
+msgid "Destination (To, Cc, Bcc, etc.)"
 msgstr "Adressat (An, Cc, Bcc etc.)"
 
-#: filters.php:277 filters.php:278
+#: filters.php:283 filters.php:284
 #, php-format
 msgid "Disable %s"
 msgstr "%s deaktivieren"
 
-#: spam.php:160 forward.php:99 vacation.php:153
-#: templates/whitelist/whitelist.inc:10 templates/blacklist/blacklist.inc:10
-#: templates/rule/header.inc:26
+#: spam.php:152 forward.php:95 vacation.php:146
+#: templates/whitelist/whitelist.inc:8 templates/blacklist/blacklist.inc:10
+#: templates/rule/header.inc:14
 msgid "Disabled"
 msgstr "Deaktiviert"
 
@@ -221,7 +217,7 @@ msgid "Display detailed notification when each filter is applied?"
 msgstr ""
 "Detailierte Benachrichtigung anzeigen bei jedem Filter, der angewendet wurde?"
 
-#: vacation.php:58
+#: vacation.php:51
 msgid "Do not send responses to bulk or list messages?"
 msgstr ""
 "Keine Antworten auf Nachrichten von Mailinglisten oder Massenemails "
@@ -231,60 +227,60 @@ msgstr ""
 msgid "Do this:"
 msgstr "Dieses tun:"
 
-#: lib/Storage.php:347
+#: lib/Storage.php:330
 msgid "Doesn't begin with"
 msgstr "Beginnt nicht mit"
 
-#: lib/Storage.php:343
+#: lib/Storage.php:326
 msgid "Doesn't contain"
 msgstr "Enthält nicht"
 
-#: lib/Storage.php:349
+#: lib/Storage.php:332
 msgid "Doesn't end with"
 msgstr "Endet nicht mit"
 
-#: lib/Storage.php:351
+#: lib/Storage.php:334
 msgid "Doesn't exist"
 msgstr "Existiert nicht"
 
-#: lib/Storage.php:354
+#: lib/Storage.php:337
 msgid "Doesn't match (with placeholders)"
 msgstr "Entspricht nicht (mit Platzhaltern)"
 
-#: templates/filters/header.inc:23 lib/Block/overview.php:63
-#: lib/Block/overview.php:72 lib/Block/overview.php:87
-#: lib/Block/overview.php:97 lib/Block/overview.php:107
+#: templates/filters/header.inc:11 lib/Block/overview.php:56
+#: lib/Block/overview.php:65 lib/Block/overview.php:80
+#: lib/Block/overview.php:90 lib/Block/overview.php:100
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: filters.php:241 filters.php:243 filters.php:247 filters.php:248
+#: filters.php:248 filters.php:250 filters.php:254
 #, php-format
 msgid "Edit %s"
 msgstr "%s Bearbeiten"
 
-#: filters.php:287 filters.php:288
+#: filters.php:293 filters.php:294
 #, php-format
 msgid "Enable %s"
 msgstr "%s aktivieren"
 
-#: templates/filters/header.inc:25
+#: templates/filters/header.inc:13
 msgid "Enabled"
 msgstr "Aktiviert"
 
-#: vacation.php:45
+#: vacation.php:41
 msgid "End of vacation:"
 msgstr "Ende der Abwesenheit:"
 
-#: lib/Storage.php:348
+#: lib/Storage.php:331
 msgid "Ends with"
 msgstr "Endet mit"
 
-#: lib/Storage.php:359
+#: lib/Storage.php:342
 msgid "Equal to"
 msgstr "Gleich"
 
-#: lib/Driver/ldap.php:138 lib/Driver/ldap.php:148 lib/Driver/ldap.php:157
-#: lib/Driver/ldap.php:167
+#: lib/Driver/Ldap.php:135 lib/Driver/Ldap.php:145 lib/Driver/Ldap.php:154
+#: lib/Driver/Ldap.php:164
 #, php-format
 msgid "Error retrieving current script: (%d) %s"
 msgstr "Fehler beim Lesen des aktuellen Skripts: (%d) %s"
@@ -293,28 +289,28 @@ msgstr "Fehler beim Lesen des aktuellen Skripts: (%d) %s"
 msgid "Error saving changes."
 msgstr "Fehler beim Speichern der Ã„nderungen."
 
-#: templates/filters/header.inc:17
+#: templates/filters/header.inc:5
 msgid "Existing Rules"
 msgstr "Bestehende Regeln"
 
-#: lib/Storage.php:350
+#: lib/Storage.php:333
 msgid "Exists"
 msgstr "Existiert"
 
-#: lib/Driver/ldap.php:143
+#: lib/Driver/Ldap.php:140
 #, php-format
 msgid "Expected 1 object, got %d."
 msgstr "1 Objekt erwartet, %d erhalten."
 
-#: lib/Driver/sivtest.php:204
+#: lib/Driver/Sivtest.php:195
 msgid "Failed to read from socket: "
 msgstr "Lesen vom Socket fehlgeschlagen: "
 
-#: lib/Driver/sivtest.php:199
+#: lib/Driver/Sivtest.php:190
 msgid "Failed to write to socket: "
 msgstr "Schreiben zum Socket fehlgeschlagen: "
 
-#: lib/Driver/sivtest.php:194
+#: lib/Driver/Sivtest.php:185
 msgid "Failed to write to socket: (connection lost!)"
 msgstr "Schreiben zum Socket fehlgeschlagen: (Verbindung abgebrochen!)"
 
@@ -338,45 +334,45 @@ msgstr "Nur ungelesene Nachrichten filtern"
 msgid "Filter Options"
 msgstr "Filtereinstellungen"
 
-#: templates/rule/header.inc:25
+#: templates/rule/header.inc:13
 msgid "Filter Rule"
 msgstr "Filterregel"
 
-#: filters.php:139
+#: filters.php:146
 msgid "Filter Rules"
 msgstr "Filterregeln"
 
-#: script.php:54
+#: script.php:51
 msgid "Filter Script Display"
 msgstr "Filterskript-Anzeige"
 
-#: lib/Ingo.php:382
+#: lib/Ingo.php:391
 msgid "Filter _Rules"
 msgstr "_Filterregeln"
 
-#: lib/Script/imap.php:357
+#: lib/Script/Imap.php:328
 #, php-format
 msgid "Filter activity: %s message(s) have been copied to the folder \"%s\"."
 msgstr "Filteraktivität: %s Nachricht(en) wurden zum Ordner \"%s\" kopiert."
 
-#: lib/Script/imap.php:338
+#: lib/Script/Imap.php:309
 #, php-format
 msgid "Filter activity: %s message(s) have been deleted."
 msgstr "Filteraktivität: %s Nachricht(en) wurden gelöscht."
 
-#: lib/Script/imap.php:314
+#: lib/Script/Imap.php:286
 #, php-format
 msgid "Filter activity: %s message(s) have been moved to the folder \"%s\"."
 msgstr "Filteraktivität: %s Nachricht(en) wurden zum Ordner \"%s\" verschoben."
 
-#: lib/Script/imap.php:206
+#: lib/Script/Imap.php:197
 #, php-format
 msgid "Filter activity: %s message(s) that matched the blacklist were deleted."
 msgstr ""
 "Filteraktivität: %s Nachricht(en), die der Ausschlussliste entsprachen, "
 "wurden gelöscht."
 
-#: lib/Script/imap.php:350
+#: lib/Script/Imap.php:321
 #, php-format
 msgid ""
 "Filter activity: The message \"%s\" from \"%s\" has been copied to the "
@@ -385,12 +381,12 @@ msgstr ""
 "Filteraktivität: Die Nachricht \"%s\" von \"%s\" wurde zum Ordner \"%s\" "
 "kopiert."
 
-#: lib/Script/imap.php:332
+#: lib/Script/Imap.php:303
 #, php-format
 msgid "Filter activity: The message \"%s\" from \"%s\" has been deleted."
 msgstr "Filteraktivität: Die Nachricht \"%s\" von \"%s\" wurde gelöscht."
 
-#: lib/Script/imap.php:307
+#: lib/Script/Imap.php:279
 #, php-format
 msgid ""
 "Filter activity: The message \"%s\" from \"%s\" has been moved to the folder "
@@ -399,7 +395,7 @@ msgstr ""
 "Filteraktivität: Die Nachricht \"%s\" von \"%s\" wurde zum Ordner \"%s\" "
 "verschoben."
 
-#: rule.php:188
+#: rule.php:187
 msgid "Filter not found."
 msgstr "Filterregel nicht gefunden."
 
@@ -407,93 +403,93 @@ msgstr "Filterregel nicht gefunden."
 msgid "Flagged For Followup"
 msgstr "Zur Wiedervorlage Markiert"
 
-#: spam.php:74
+#: spam.php:69
 msgid "Folder to receive spam:"
 msgstr "Ordner für Spamnachrichten:"
 
-#: templates/rule/header.inc:42
+#: templates/rule/header.inc:30
 msgid "For an incoming message that matches:"
 msgstr "Für eingehende Nachrichten, auf die folgende Regeln zutreffen:"
 
-#: filters.php:192 forward.php:97 lib/Block/overview.php:71
-#: lib/Block/overview.php:73
+#: filters.php:199 forward.php:93 lib/Block/overview.php:64
+#: lib/Block/overview.php:66
 msgid "Forward"
 msgstr "Weiterleitung"
 
-#: lib/Script/sieve.php:229
+#: lib/Script/Sieve.php:227
 msgid "Forward Keep Action"
 msgstr "Weiterleiten und behalten"
 
-#: forward.php:18
+#: forward.php:17
 msgid "Forward is not supported in the current filtering driver."
 msgstr "Weiterleitungen werden vom aktuellen Filtertreiber nicht unterstützt."
 
-#: lib/Script/procmail.php:298 lib/Script/sieve.php:239
-#: lib/Script/maildrop.php:246
+#: lib/Script/Maildrop.php:242 lib/Script/Sieve.php:237
+#: lib/Script/Procmail.php:296
 msgid "Forwards"
 msgstr "Weiterleitung"
 
-#: forward.php:104
+#: forward.php:100
 msgid "Forwards Edit"
 msgstr "Weiterleitung Bearbeiten"
 
-#: config/fields.php.dist:39
+#: config/fields.php.dist:41
 msgid "From"
 msgstr "Von"
 
-#: lib/Script/sieve.php:2948
+#: lib/Script/Sieve.php:2967
 msgid "From:"
 msgstr "Von:"
 
-#: lib/Script/sieve.php:123
+#: lib/Script/Sieve.php:121
 msgid "Generated by Ingo (http://www.horde.org/ingo/)"
 msgstr "Erzeugt von Ingo (http://www.horde.org/ingo/)"
 
-#: lib/Storage.php:357
+#: lib/Storage.php:340
 msgid "Greater than"
 msgstr "Größer als"
 
-#: lib/Storage.php:358
+#: lib/Storage.php:341
 msgid "Greater than or equal to"
 msgstr "Größer als oder gleich"
 
-#: rule.php:38
+#: rule.php:34
 msgid "Individual rules are not supported in the current filtering driver."
 msgstr ""
 "Individuelle Regeln werden vom aktuellen Filtertreiber nicht unterstützt."
 
-#: lib/Script/sieve.php:2542
+#: lib/Script/Sieve.php:2562
 msgid "Inexistant mailbox specified for message delivery."
 msgstr "Nicht vorhandener Ordner für die Nachrichtenauslieferung angegeben."
 
-#: lib/Storage.php:344
+#: lib/Storage.php:327
 msgid "Is"
 msgstr "Ist"
 
-#: lib/Storage.php:345
+#: lib/Storage.php:328
 msgid "Isn't"
 msgstr "Ist nicht"
 
-#: forward.php:41
+#: forward.php:37
 msgid "Keep a copy of messages in this account?"
 msgstr "Kopien der Nachrichten in diesem Konto belassen?"
 
-#: lib/Driver/ldap.php:23
+#: lib/Driver/Ldap.php:22
 msgid ""
 "LDAP support is required but the LDAP module is not available or not loaded."
 msgstr ""
 "LDAP-Unterstützung wird benötigt, aber das LDAP-Modul ist nicht verfügbar "
 "oder wurde nicht geladen."
 
-#: lib/Storage.php:355
+#: lib/Storage.php:338
 msgid "Less than"
 msgstr "Kleiner als"
 
-#: lib/Storage.php:356
+#: lib/Storage.php:339
 msgid "Less than or equal to"
 msgstr "Kleiner als oder gleich"
 
-#: config/fields.php.dist:59
+#: config/fields.php.dist:61
 msgid "List-ID"
 msgstr "List-ID"
 
@@ -509,15 +505,15 @@ msgstr "Nachricht markieren als:"
 msgid "Match type"
 msgstr "Vergleichstyp"
 
-#: lib/Storage.php:353
+#: lib/Storage.php:336
 msgid "Matches (with placeholders)"
 msgstr "Entspricht (mit Platzhaltern)"
 
-#: lib/api.php:71
+#: lib/Application.php:27
 msgid "Maximum Number of Rules"
 msgstr "Maximale Anzahl an Regeln"
 
-#: lib/Storage.php:507
+#: lib/Storage/Blacklist.php:32
 #, php-format
 msgid ""
 "Maximum number of blacklisted addresses exceeded (Total addresses: %s, "
@@ -527,7 +523,7 @@ msgstr ""
 "insgesamt: %s, Maximale Anzahl: %s). Neue Adressen konnten nicht zur "
 "Ausschlussliste hinzugefügt werden."
 
-#: lib/Storage.php:560
+#: lib/Storage/Whitelist.php:32
 #, php-format
 msgid ""
 "Maximum number of whitelisted addresses exceeded (Total addresses: %s, "
@@ -537,7 +533,7 @@ msgstr ""
 "insgesamt: %s, Maximale Anzahl: %s). Neue Adressen konnten nicht zur "
 "Positivliste hinzugefügt werden."
 
-#: spam.php:71
+#: spam.php:66
 msgid ""
 "Messages with a likely spam score greater than or equal to this number will "
 "be treated as spam."
@@ -545,53 +541,53 @@ msgstr ""
 "Nachrichten mit einem Spam-Level größer oder gleich diesem Wert werden als "
 "Spam behandelt."
 
-#: lib/Script/sieve.php:2962
+#: lib/Script/Sieve.php:2981
 msgid "Missing address to notify"
 msgstr "Benachrichtigungsadresse fehlt"
 
-#: lib/Script/sieve.php:2343
+#: lib/Script/Sieve.php:2363
 msgid "Missing address to redirect message to"
 msgstr "Die Adresse, zu der weitergeleitet werden soll, wurde nicht angegeben"
 
-#: lib/Script/sieve.php:2389
+#: lib/Script/Sieve.php:2409
 msgid "Missing reason for reject"
 msgstr "Der Grund für Ablehnung wurde nicht angegeben"
 
-#: lib/Script/sieve.php:2692
+#: lib/Script/Sieve.php:2712
 msgid "Missing reason in vacation."
 msgstr "Der Grund für die Abwesenheitsnachricht wurde nicht angegeben"
 
-#: templates/filters/header.inc:29
+#: templates/filters/header.inc:15
 msgid "Move"
 msgstr "Verschieben"
 
-#: filters.php:156 filters.php:273
+#: filters.php:163 filters.php:279
 msgid "Move Rule Down"
 msgstr "Regel nach unten verschieben"
 
-#: filters.php:157 filters.php:272
+#: filters.php:164 filters.php:278
 msgid "Move Rule Up"
 msgstr "Regel nach oben verschieben"
 
-#: vacation.php:53
+#: vacation.php:47
 msgid "My email addresses:"
 msgstr "Meine E-Mail-Adressen:"
 
 #: templates/filters/filter-none.inc:3 templates/filters/footer.inc:6
-#: lib/Storage.php:889
+#: lib/Storage/Filters.php:90
 msgid "New Rule"
 msgstr "Neue Regel"
 
-#: lib/Ingo.php:233 lib/Ingo.php:235
+#: lib/Ingo.php:250 lib/Ingo.php:252
 #, php-format
 msgid "No \"%s\" element found in backend configuration."
 msgstr "\"%s\" in der Backendkonfiguration nicht angegeben."
 
-#: lib/Ingo.php:226
+#: lib/Ingo.php:243
 msgid "No backend configured for this host"
 msgstr "Keine Backendkonfiguration für diesen Host angegeben"
 
-#: lib/Ingo.php:202
+#: lib/Ingo.php:219
 msgid "No backends configured in backends.php"
 msgstr "Keine Backends in backends.php konfiguriert"
 
@@ -600,40 +596,40 @@ msgstr "Keine Backends in backends.php konfiguriert"
 msgid "No filters. Click \"%s\" to create a new filter."
 msgstr "Keine Filter. Klicken Sie auf \"%s\", um neue Filter anzulegen."
 
-#: lib/Script/sieve.php:1692 lib/Script/sieve.php:1841
-#: lib/Script/sieve.php:2065
+#: lib/Script/Sieve.php:1712 lib/Script/Sieve.php:1861
+#: lib/Script/Sieve.php:2085
 msgid "No headers specified"
 msgstr "Keine E-Mail-Köpfe angegeben"
 
-#: script.php:69
+#: script.php:67
 msgid "No script generated."
 msgstr "Kein Skript erzeugt."
 
-#: lib/Script/sieve.php:2081 lib/Script/sieve.php:2165
+#: lib/Script/Sieve.php:2101 lib/Script/Sieve.php:2185
 msgid "No strings specified"
 msgstr "Keine Texte angegeben"
 
-#: lib/Storage.php:360
+#: lib/Storage.php:343
 msgid "Not equal to"
 msgstr "Ungleich"
 
-#: lib/Storage.php:320
-msgid "Notify email address"
-msgstr "Diese E-Mail-Adresse benachrichtigen"
+#: lib/Storage.php:303
+msgid "Notify email address..."
+msgstr "Benachrichtigen der E-Mail-Adresse..."
 
-#: vacation.php:60
+#: vacation.php:53
 msgid "Number of days between vacation replies:"
 msgstr "Anzahl der Tage zwischen den Abwesenheitsnachrichten:"
 
-#: lib/Storage.php:314
+#: lib/Storage.php:297
 msgid "Only flag the message"
 msgstr "Nachricht nur markieren"
 
-#: config/prefs.php.dist:18
+#: config/prefs.php.dist:15
 msgid "Options about script updating."
 msgstr "Einstellungen zur Skript-Aktualisierung"
 
-#: config/prefs.php.dist:16
+#: config/prefs.php.dist:13
 msgid "Other Options"
 msgstr "Andere Einstellungen"
 
@@ -641,39 +637,51 @@ msgstr "Andere Einstellungen"
 msgid "Overview"
 msgstr "Übersicht"
 
-#: config/fields.php.dist:91
-msgid "Participant (From,To,etc)"
+#: config/fields.php.dist:93
+#, fuzzy
+msgid "Participant (From, To, etc.)"
 msgstr "Beteiligter (Von, An etc.)"
 
-#: templates/javascript/new_folder.js:7
+#: lib/Storage/Sql.php:410
+msgid "Permission Denied"
+msgstr "Zugriff verweigert"
+
+#: lib/Ingo.php:441
 msgid "Please enter the name of the new folder:"
 msgstr "Bitte geben Sie den Namen für den neuen Ordner an:"
 
-#: vacation.php:48
+#: vacation.php:44
 msgid "Reason:"
 msgstr "Grund:"
 
-#: config/fields.php.dist:63
+#: config/fields.php.dist:65
 msgid "Received"
 msgstr "Empfangen (Received)"
 
-#: lib/Storage.php:295
-msgid "Redirect to"
-msgstr "Weiterleiten an"
+#: lib/Storage.php:278
+msgid "Redirect to..."
+msgstr "Weiterleiten an..."
 
-#: lib/Storage.php:352
+#: lib/Storage.php:335
 msgid "Regular expression"
 msgstr "Regulärer Ausdruck"
 
-#: lib/Storage.php:310
-msgid "Reject with reason"
-msgstr "Mit folgendem Grund ablehnen"
+#: lib/Storage.php:293
+msgid "Reject with reason..."
+msgstr "Ablehnen mit dem Grund..."
+
+#: lib/Storage.php:385
+msgid ""
+"Removing user data is not supported with the current filter storage backend."
+msgstr ""
+"Das Löschen von Benutzerdaten wird vom aktuellen Filter-Speicherbackend "
+"nicht unterstützt."
 
-#: config/fields.php.dist:51
+#: config/fields.php.dist:53
 msgid "Resent-From"
 msgstr "Neu versendet von (Resent-From)"
 
-#: config/fields.php.dist:55
+#: config/fields.php.dist:57
 msgid "Resent-To"
 msgstr "Neu versendet an (Resent-To)"
 
@@ -681,50 +689,62 @@ msgstr "Neu versendet an (Resent-To)"
 msgid "Return to Filters List"
 msgstr "Zurück zur Filterliste"
 
-#: spam.php:62 spam.php:141 forward.php:34 forward.php:88 vacation.php:34
-#: vacation.php:117 templates/whitelist/whitelist.inc:24
+#: spam.php:57 spam.php:138 forward.php:30 forward.php:84 vacation.php:30
+#: vacation.php:110 templates/whitelist/whitelist.inc:24
 #: templates/blacklist/blacklist.inc:42
 msgid "Return to Rules List"
 msgstr "Zurück zur Regelliste"
 
-#: templates/filters/header.inc:24
+#: templates/filters/header.inc:12
 msgid "Rule"
 msgstr "Regel"
 
-#: filters.php:78
-msgid "Rule Copied"
+#: filters.php:83
+#, fuzzy, php-format
+msgid "Rule \"%s\" copied."
 msgstr "Regel kopiert"
 
-#: filters.php:57
-msgid "Rule Deleted"
-msgstr "Regel gelöscht"
+#: filters.php:58
+#, fuzzy, php-format
+msgid "Rule \"%s\" deleted."
+msgstr "Feld \"%s\" gelöscht."
+
+#: filters.php:101
+#, fuzzy, php-format
+msgid "Rule \"%s\" disabled."
+msgstr "Regel deaktiviert"
+
+#: filters.php:107
+#, fuzzy, php-format
+msgid "Rule \"%s\" enabled."
+msgstr "Regel aktiviert"
 
-#: spam.php:122 filters.php:94 forward.php:72 vacation.php:97
+#: spam.php:119 forward.php:68 vacation.php:90
 msgid "Rule Disabled"
 msgstr "Regel deaktiviert"
 
-#: spam.php:113 filters.php:99 forward.php:63 vacation.php:88
+#: spam.php:110 forward.php:59 vacation.php:81
 msgid "Rule Enabled"
 msgstr "Regel aktiviert"
 
-#: templates/rule/header.inc:33
+#: templates/rule/header.inc:21
 msgid "Rule Name:"
 msgstr "Regelname:"
 
-#: lib/Script/sieve.php:2950
+#: lib/Script/Sieve.php:2969
 msgid "Rule:"
 msgstr "Regel:"
 
-#: lib/Driver/ldap.php:86
+#: lib/Driver/Ldap.php:85
 #, php-format
 msgid "STARTTLS failed: (%s) %s"
 msgstr "STARTTLS fehlgeschlagen: (%s) %s"
 
-#: lib/Ingo.php:396
+#: lib/Ingo.php:405
 msgid "S_pam"
 msgstr "Spa_m"
 
-#: spam.php:79 forward.php:45 vacation.php:62
+#: spam.php:74 forward.php:41 vacation.php:55
 #: templates/whitelist/whitelist.inc:23 templates/blacklist/blacklist.inc:41
 #: templates/rule/footer.inc:60
 msgid "Save"
@@ -734,13 +754,13 @@ msgstr "Speichern"
 msgid "Save Settings"
 msgstr "Einstellungen speichern"
 
-#: spam.php:116 spam.php:137 forward.php:66 forward.php:84 vacation.php:91
-#: vacation.php:113
+#: spam.php:113 spam.php:134 forward.php:62 forward.php:80 vacation.php:84
+#: vacation.php:106
 msgid "Save and Disable"
 msgstr "Speichern und Deaktivieren"
 
-#: spam.php:107 spam.php:139 forward.php:57 forward.php:86 vacation.php:82
-#: vacation.php:115
+#: spam.php:104 spam.php:136 forward.php:53 forward.php:82 vacation.php:75
+#: vacation.php:108
 msgid "Save and Enable"
 msgstr "Speichern und Aktivieren"
 
@@ -748,19 +768,19 @@ msgstr "Speichern und Aktivieren"
 msgid "Script"
 msgstr "Skript"
 
-#: config/prefs.php.dist:17
+#: config/prefs.php.dist:14
 msgid "Script Updating"
 msgstr "Skript-Aktualisierung"
 
-#: lib/Ingo.php:178
+#: lib/Ingo.php:195
 msgid "Script not updated."
 msgstr "Skript nicht aktualisiert."
 
-#: lib/Ingo.php:149
+#: lib/Ingo.php:166
 msgid "Script successfully activated."
 msgstr "Skript erfolgreich aktiviert."
 
-#: lib/Ingo.php:148
+#: lib/Ingo.php:165
 msgid "Script successfully deactivated."
 msgstr "Skript erfolgreich deaktiviert."
 
@@ -768,7 +788,7 @@ msgstr "Skript erfolgreich deaktiviert."
 msgid "Seen"
 msgstr "Gelesen"
 
-#: rule.php:218
+#: rule.php:216
 msgid "Select a field"
 msgstr "Wählen Sie ein Feld aus"
 
@@ -776,19 +796,23 @@ msgstr "W
 msgid "Select ruleset to display:"
 msgstr "Filtersatz auswählen:"
 
-#: rule.php:347 templates/blacklist/blacklist.inc:23 lib/Ingo.php:59
+#: rule.php:345 templates/blacklist/blacklist.inc:23
 msgid "Select target folder"
 msgstr "Zielordner auswählen"
 
-#: rule.php:255
+#: lib/Ingo.php:65
+msgid "Select target folder:"
+msgstr "Zielordner auswählen:"
+
+#: rule.php:253
 msgid "Self-Defined Header"
 msgstr "Benutzerdefinierte Kopfeinträge"
 
-#: config/fields.php.dist:35
+#: config/fields.php.dist:37
 msgid "Sender"
 msgstr "Absender (Sender)"
 
-#: filters.php:118
+#: filters.php:126
 msgid "Settings successfully updated."
 msgstr "Die Einstellungen wurden erfolgreich gespeichert."
 
@@ -800,33 +824,34 @@ msgstr "Aktives Skript anzeigen"
 msgid "Show Current Script"
 msgstr "Aktuelles Skript anzeigen"
 
-#: spam.php:18
+#: spam.php:45
 msgid "Simple spam filtering is not supported in the current filtering driver."
 msgstr ""
 "Vereinfachte Spamfilter werden vom aktuellen Filtertreiber nicht unterstützt."
 
-#: config/fields.php.dist:95
+#: config/fields.php.dist:97
 msgid "Size"
 msgstr "Größe"
 
-#: config/fields.php.dist:87
-msgid "Source (From,Reply-to,etc)"
+#: config/fields.php.dist:89
+#, fuzzy
+msgid "Source (From, Reply-to, etc.)"
 msgstr "Absender (Von, Antwort-an etc.)"
 
-#: filters.php:198 lib/Script/sieve.php:438 lib/Script/maildrop.php:301
-#: lib/Block/overview.php:105 lib/Block/overview.php:108
+#: filters.php:205 lib/Script/Maildrop.php:298 lib/Script/Sieve.php:435
+#: lib/Block/overview.php:98 lib/Block/overview.php:101
 msgid "Spam Filter"
 msgstr "Spamfilter"
 
-#: spam.php:158 spam.php:165
+#: spam.php:150 spam.php:157
 msgid "Spam Filtering"
 msgstr "Spamfilter"
 
-#: spam.php:71
+#: spam.php:66
 msgid "Spam Level:"
 msgstr "Spam-Level:"
 
-#: vacation.php:43
+#: vacation.php:39
 msgid "Start of vacation:"
 msgstr "Beginn der Abwesenheit:"
 
@@ -834,49 +859,49 @@ msgstr "Beginn der Abwesenheit:"
 msgid "Stop checking if this rule matches?"
 msgstr "Weitere Ãœberprüfung anhalten, wenn diese Regel zutrifft?"
 
-#: config/fields.php.dist:31
+#: config/fields.php.dist:33
 msgid "Subject"
 msgstr "Betreff"
 
-#: vacation.php:46
+#: vacation.php:42
 msgid "Subject of vacation message:"
 msgstr "Betreff der Abwesenheitsnachricht:"
 
-#: lib/Script/sieve.php:2949
+#: lib/Script/Sieve.php:2968
 msgid "Subject:"
 msgstr "Betreff:"
 
-#: lib/api.php:103
+#: lib/Api.php:54
 #, php-format
 msgid "The address \"%s\" has been added to your blacklist."
 msgstr "Die Adresse \"%s\" wurde zu Ihrer Ausschlussliste hinzugefügt."
 
-#: lib/api.php:126
+#: lib/Api.php:80
 #, php-format
 msgid "The address \"%s\" has been added to your whitelist."
 msgstr "Die Adresse \"%s\" wurde zu Ihrer Positivliste hinzugefügt."
 
-#: lib/Ingo.php:144
+#: lib/Ingo.php:161
 msgid "The driver said: "
 msgstr "Antwort des Treibers: "
 
-#: lib/Ingo.php:143
+#: lib/Ingo.php:160
 msgid "There was an error activating the script."
 msgstr "Beim Aktivieren des Skripts ist ein Fehler aufgetreten."
 
-#: lib/Ingo.php:142
+#: lib/Ingo.php:159
 msgid "There was an error deactivating the script."
 msgstr "Beim Deaktivieren des Skripts ist ein Fehler aufgetreten."
 
-#: config/fields.php.dist:27
+#: config/fields.php.dist:29
 msgid "To"
 msgstr "An"
 
-#: templates/filters/filter.html:32
+#: templates/filters/filter.html:29
 msgid "To:"
 msgstr "Nach:"
 
-#: lib/Script.php:126
+#: lib/Script.php:122
 #, php-format
 msgid "Unable to load the definition of %s."
 msgstr "Der %s-Treiber konnte nicht geladen werden."
@@ -885,100 +910,104 @@ msgstr "Der %s-Treiber konnte nicht geladen werden."
 msgid "User header"
 msgstr "Benutzerdefinierter Kopfeintrag"
 
-#: filters.php:186 vacation.php:151 lib/Script/procmail.php:278
-#: lib/Script/sieve.php:412 lib/Script/maildrop.php:276
-#: lib/Block/overview.php:61 lib/Block/overview.php:64
+#: filters.php:193 vacation.php:144 lib/Script/Maildrop.php:274
+#: lib/Script/Sieve.php:409 lib/Script/Procmail.php:276
+#: lib/Block/overview.php:54 lib/Block/overview.php:57
 msgid "Vacation"
 msgstr "Abwesenheit"
 
-#: vacation.php:158
+#: vacation.php:151
 msgid "Vacation Edit"
 msgstr "Abwesenheitsnachricht Bearbeiten"
 
-#: vacation.php:18
+#: vacation.php:17
 msgid "Vacation is not supported in the current filtering driver."
 msgstr ""
 "Abwesenheitsnachrichten werden vom aktuellen Filtertreiber nicht unterstützt."
 
-#: rule.php:353
+#: rule.php:351
 msgid "Value"
 msgstr "Wert"
 
-#: templates/whitelist/whitelist.inc:16
+#: templates/whitelist/whitelist.inc:14
 msgid "Wh_itelist addresses:"
 msgstr "P_ositivgelistete Adressen:"
 
-#: filters.php:180 templates/whitelist/whitelist.inc:8
-#: lib/Block/overview.php:85 lib/Block/overview.php:88
+#: filters.php:187 templates/whitelist/whitelist.inc:5
+#: lib/Block/overview.php:78 lib/Block/overview.php:81
 msgid "Whitelist"
 msgstr "Positivliste"
 
-#: whitelist.php:57
+#: whitelist.php:56
 msgid "Whitelist Edit"
 msgstr "Positivliste Bearbeiten"
 
-#: whitelist.php:20
+#: whitelist.php:19
 msgid "Whitelist is not supported in the current filtering driver."
 msgstr "Positivlisten werden vom aktuellen Filtertreiber nicht unterstützt."
 
-#: lib/Script/procmail.php:246 lib/Script/sieve.php:336
-#: lib/Script/maildrop.php:224
+#: lib/Script/Maildrop.php:220 lib/Script/Sieve.php:334
+#: lib/Script/Procmail.php:244
 msgid "Whitelisted Addresses"
 msgstr "Positivgelistete Adressen"
 
-#: config/fields.php.dist:79
+#: config/fields.php.dist:81
 msgid "X-Priority"
 msgstr "X-Priority"
 
-#: config/fields.php.dist:67
+#: config/fields.php.dist:69
 msgid "X-Spam-Level"
 msgstr "X-Spam-Level"
 
-#: config/fields.php.dist:71
+#: config/fields.php.dist:73
 msgid "X-Spam-Score"
 msgstr "X-Spam-Score"
 
-#: config/fields.php.dist:75
+#: config/fields.php.dist:77
 msgid "X-Spam-Status"
 msgstr "X-Spam-Status"
 
-#: filters.php:71 rule.php:172
+#: filters.php:76 rule.php:173
 #, php-format
 msgid "You are not allowed to create more than %d rules."
 msgstr "Sie dürfen nicht mehr als %d Regeln erstellen."
 
-#: filters.php:63 rule.php:23
+#: filters.php:67 rule.php:21
 msgid "You are not allowed to create or edit custom rules."
 msgstr "Sie dürfen keine eigenen Regeln erstellen oder bearbeiten."
 
-#: rule.php:96
+#: lib/Application.php:62
+msgid "You are not allowed to remove user data."
+msgstr "Sie dürfen keine Benutzerdaten löschen."
+
+#: rule.php:94
 #, php-format
 msgid "You cannot create empty conditions. Please fill in a value for \"%s\"."
 msgstr ""
 "Sie können keine leeren Bedingungen festlegen. Bitte geben Sie einen Wert "
 "für \"%s\" an."
 
-#: filters.php:52 rule.php:151
+#: filters.php:51 rule.php:149
 msgid "You do not have permission to delete filter rules."
 msgstr "Sie haben nicht genügend Rechte, um Filterregeln zu löschen."
 
-#: filters.php:45 filters.php:112 filters.php:123 rule.php:58 rule.php:165
+#: filters.php:44 filters.php:120 filters.php:131 rule.php:54 rule.php:163
 msgid "You do not have permission to edit filter rules."
 msgstr "Sie haben nicht genügend Rechte, um Filterregeln zu bearbeiten."
 
-#: lib/Script/sieve.php:2947
+#: lib/Script/Sieve.php:2966
 msgid "You have received a new message"
 msgstr "Sie haben eine neue Nachricht erhalten"
 
-#: lib/Script/imap.php:309 lib/Script/imap.php:334 lib/Script/imap.php:352
+#: lib/Script/Imap.php:281 lib/Script/Imap.php:305 lib/Script/Imap.php:323
 msgid "[No Sender]"
 msgstr "[Kein Absender]"
 
-#: lib/Script/imap.php:308 lib/Script/imap.php:333 lib/Script/imap.php:351
+#: lib/Script/Imap.php:280 lib/Script/Imap.php:304 lib/Script/Imap.php:322
 msgid "[No Subject]"
 msgstr "[Kein Betreff]"
 
-#: lib/Ingo.php:387
+#: lib/Ingo.php:396
 msgid "_Blacklist"
 msgstr "_Ausschlussliste"
 
@@ -990,7 +1019,7 @@ msgstr "Nachricht komplett _l
 msgid "_Enter each address on a new line:"
 msgstr "_Jede Adresse in einer eigenen Zeile eintragen:"
 
-#: lib/Ingo.php:393
+#: lib/Ingo.php:402
 msgid "_Forward"
 msgstr "_Weiterleitung"
 
@@ -998,23 +1027,23 @@ msgstr "_Weiterleitung"
 msgid "_Move message to folder:"
 msgstr "Nachricht in diesen Ordner _verschieben:"
 
-#: lib/Ingo.php:402
+#: lib/Ingo.php:413
 msgid "_Permissions"
 msgstr "_Rechte"
 
-#: lib/Ingo.php:399
+#: lib/Ingo.php:410
 msgid "_Script"
 msgstr "_Skript"
 
-#: lib/Ingo.php:390
+#: lib/Ingo.php:399
 msgid "_Vacation"
 msgstr "A_bwesenheit"
 
-#: lib/Ingo.php:384
+#: lib/Ingo.php:393
 msgid "_Whitelist"
 msgstr "_Positivliste"
 
-#: lib/Block/overview.php:54
+#: lib/Block/overview.php:47
 msgid "active"
 msgstr "aktiv"
 
@@ -1022,15 +1051,15 @@ msgstr "aktiv"
 msgid "and"
 msgstr "und"
 
-#: templates/filters/filter.html:19
+#: templates/filters/filter.html:16
 msgid "disabled - click to enable"
 msgstr "deaktiviert - zum Aktivieren anklicken"
 
-#: lib/Block/overview.php:52
+#: lib/Block/overview.php:45
 msgid "inactive"
 msgstr "inaktiv"
 
-#: lib/Script/maildrop.php:134
+#: lib/Script/Maildrop.php:130
 msgid "maildrop script generated by Ingo"
 msgstr "Von Ingo erzeugtes maildrop Script"
 
@@ -1038,6 +1067,30 @@ msgstr "Von Ingo erzeugtes maildrop Script"
 msgid "or"
 msgstr "oder"
 
-#: lib/Script/procmail.php:140
+#: lib/Script/Procmail.php:138
 msgid "procmail script generated by Ingo"
 msgstr "Von Ingo erzeugtes procmail Script"
+
+#~ msgid "Could not save the compiled template file '%s'."
+#~ msgstr "Die kompilierte Templatedatei '%s' konnte nicht gespeichert werden."
+
+#~ msgid "Deliver into my Inbox and copy to"
+#~ msgstr "In meinen Posteingang ausliefern und kopieren nach"
+
+#~ msgid "Deliver into my Inbox and redirect to"
+#~ msgstr "In meinen Posteingang ausliefern und weiterleiten nach"
+
+#~ msgid "Deliver to folder"
+#~ msgstr "In diesen Ordner ausliefern"
+
+#~ msgid "Notify email address"
+#~ msgstr "Diese E-Mail-Adresse benachrichtigen"
+
+#~ msgid "Redirect to"
+#~ msgstr "Weiterleiten an"
+
+#~ msgid "Reject with reason"
+#~ msgstr "Mit folgendem Grund ablehnen"
+
+#~ msgid "Rule Deleted"
+#~ msgstr "Regel gelöscht"
index b3fb16d..521900f 100644 (file)
@@ -1,5 +1,5 @@
 # SOME DESCRIPTIVE TITLE.
-# Copyright YEAR Horde Project
+# Copyright (C) YEAR Horde Project
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: dev@lists.horde.org\n"
-"POT-Creation-Date: 2008-08-01 10:44+0200\n"
+"POT-Creation-Date: 2009-11-21 13:39+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,11 +16,11 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: filters.php:223
+#: filters.php:230
 msgid " and"
 msgstr ""
 
-#: filters.php:223
+#: filters.php:230
 msgid " or"
 msgstr ""
 
@@ -32,7 +32,7 @@ msgstr ""
 msgid "Activate Script"
 msgstr ""
 
-#: lib/Driver/ldap.php:229
+#: lib/Driver/Ldap.php:226
 #, php-format
 msgid "Activating the script for \"%s\" failed: (%d) %s"
 msgstr ""
@@ -41,23 +41,23 @@ msgstr ""
 msgid "Additional Settings"
 msgstr ""
 
-#: forward.php:43
+#: forward.php:39
 msgid "Address(es) to forward to:"
 msgstr ""
 
-#: vacation.php:56
+#: vacation.php:49
 msgid "Addresses to not send responses to:"
 msgstr ""
 
-#: vacation.php:50
+#: vacation.php:46
 msgid "Advanced Settings"
 msgstr ""
 
-#: templates/rule/header.inc:44
+#: templates/rule/header.inc:32
 msgid "All of the following"
 msgstr ""
 
-#: lib/api.php:68
+#: lib/Application.php:26
 msgid "Allow Rules"
 msgstr ""
 
@@ -65,7 +65,7 @@ msgstr ""
 msgid "Answered"
 msgstr ""
 
-#: templates/rule/header.inc:45
+#: templates/rule/header.inc:33
 msgid "Any of the following"
 msgstr ""
 
@@ -73,94 +73,89 @@ msgstr ""
 msgid "Apply Filters"
 msgstr ""
 
-#: filters.php:252
+#: filters.php:258
 msgid "Are you sure you want to delete this rule?"
 msgstr ""
 
-#: config/prefs.php.dist:32
+#: config/prefs.php.dist:28
 msgid "Automatically update the script after each change?"
 msgstr ""
 
-#: vacation.php:41
+#: vacation.php:37
 msgid "Basic Settings"
 msgstr ""
 
-#: config/fields.php.dist:47
+#: config/fields.php.dist:49
 msgid "Bcc"
 msgstr ""
 
-#: lib/Storage.php:346
+#: lib/Storage.php:329
 msgid "Begins with"
 msgstr ""
 
-#: lib/Driver/ldap.php:106 lib/Driver/ldap.php:111
+#: lib/Driver/Ldap.php:105 lib/Driver/Ldap.php:110
 #, php-format
 msgid "Bind failed: (%s) %s"
 msgstr ""
 
-#: filters.php:174 templates/blacklist/blacklist.inc:7
-#: lib/Block/overview.php:95 lib/Block/overview.php:98
+#: filters.php:181 templates/blacklist/blacklist.inc:7
+#: lib/Block/overview.php:88 lib/Block/overview.php:91
 msgid "Blacklist"
 msgstr ""
 
-#: blacklist.php:104
+#: blacklist.php:101
 msgid "Blacklist Edit"
 msgstr ""
 
-#: blacklist.php:19
+#: blacklist.php:18
 msgid "Blacklist is not supported in the current filtering driver."
 msgstr ""
 
-#: lib/Script/procmail.php:219 lib/Script/sieve.php:276
-#: lib/Script/maildrop.php:197
+#: lib/Script/Maildrop.php:193 lib/Script/Sieve.php:274
+#: lib/Script/Procmail.php:217
 msgid "Blacklisted Addresses"
 msgstr ""
 
-#: config/fields.php.dist:100
+#: config/fields.php.dist:102
 msgid "Body"
 msgstr ""
 
-#: filters.php:220 rule.php:322
+#: filters.php:227 rule.php:320
 msgid "Case Sensitive"
 msgstr ""
 
-#: config/fields.php.dist:43
+#: config/fields.php.dist:45
 msgid "Cc"
 msgstr ""
 
-#: spam.php:106 rule.php:141 whitelist.php:38 forward.php:56 vacation.php:81
+#: spam.php:103 rule.php:139 whitelist.php:37 forward.php:52 vacation.php:74
 #: blacklist.php:70
 msgid "Changes saved."
 msgstr ""
 
-#: lib/Driver/ldap.php:73
+#: lib/Driver/Ldap.php:72
 msgid "Connection failure"
 msgstr ""
 
-#: lib/Storage.php:342
+#: lib/Storage.php:325
 msgid "Contains"
 msgstr ""
 
-#: filters.php:263 filters.php:264
+#: filters.php:269 filters.php:270
 #, php-format
 msgid "Copy %s"
 msgstr ""
 
-#: lib/Storage.php:993 lib/Storage/sql.php:621
+#: lib/Storage/Filters.php:194 lib/Storage/Filters/Sql.php:244
 #, php-format
 msgid "Copy of %s"
 msgstr ""
 
-#: lib/Template.php:235
-#, php-format
-msgid "Could not save the compiled template file '%s'."
-msgstr ""
-
-#: lib/Ingo.php:62
+#: lib/Ingo.php:68
 msgid "Create new folder"
 msgstr ""
 
-#: lib/Script/procmail.php:352 lib/Script/maildrop.php:362
+#: lib/Script/Maildrop.php:359 lib/Script/Procmail.php:350
 msgid "DISABLED: "
 msgstr ""
 
@@ -168,7 +163,7 @@ msgstr ""
 msgid "Deactivate Script"
 msgstr ""
 
-#: filters.php:252 filters.php:253
+#: filters.php:258 filters.php:259
 #, php-format
 msgid "Delete %s"
 msgstr ""
@@ -177,7 +172,7 @@ msgstr ""
 msgid "Delete Condition"
 msgstr ""
 
-#: lib/Storage.php:290
+#: lib/Storage.php:273
 msgid "Delete message completely"
 msgstr ""
 
@@ -185,34 +180,34 @@ msgstr ""
 msgid "Deleted"
 msgstr ""
 
-#: lib/Storage.php:278
+#: lib/Storage.php:261
 msgid "Deliver into my Inbox"
 msgstr ""
 
-#: lib/Storage.php:304
-msgid "Deliver into my Inbox and copy to"
+#: lib/Storage.php:287
+msgid "Deliver into my Inbox and copy to..."
 msgstr ""
 
-#: lib/Storage.php:299
-msgid "Deliver into my Inbox and redirect to"
+#: lib/Storage.php:282
+msgid "Deliver into my Inbox and redirect to..."
 msgstr ""
 
-#: lib/Storage.php:284
-msgid "Deliver to folder"
+#: lib/Storage.php:267
+msgid "Deliver to folder..."
 msgstr ""
 
-#: config/fields.php.dist:83
-msgid "Destination (To,Cc,Bcc,etc)"
+#: config/fields.php.dist:85
+msgid "Destination (To, Cc, Bcc, etc.)"
 msgstr ""
 
-#: filters.php:277 filters.php:278
+#: filters.php:283 filters.php:284
 #, php-format
 msgid "Disable %s"
 msgstr ""
 
-#: spam.php:160 forward.php:99 vacation.php:153
-#: templates/whitelist/whitelist.inc:10 templates/blacklist/blacklist.inc:10
-#: templates/rule/header.inc:26
+#: spam.php:152 forward.php:95 vacation.php:146
+#: templates/whitelist/whitelist.inc:8 templates/blacklist/blacklist.inc:10
+#: templates/rule/header.inc:14
 msgid "Disabled"
 msgstr ""
 
@@ -220,7 +215,7 @@ msgstr ""
 msgid "Display detailed notification when each filter is applied?"
 msgstr ""
 
-#: vacation.php:58
+#: vacation.php:51
 msgid "Do not send responses to bulk or list messages?"
 msgstr ""
 
@@ -228,60 +223,60 @@ msgstr ""
 msgid "Do this:"
 msgstr ""
 
-#: lib/Storage.php:347
+#: lib/Storage.php:330
 msgid "Doesn't begin with"
 msgstr ""
 
-#: lib/Storage.php:343
+#: lib/Storage.php:326
 msgid "Doesn't contain"
 msgstr ""
 
-#: lib/Storage.php:349
+#: lib/Storage.php:332
 msgid "Doesn't end with"
 msgstr ""
 
-#: lib/Storage.php:351
+#: lib/Storage.php:334
 msgid "Doesn't exist"
 msgstr ""
 
-#: lib/Storage.php:354
+#: lib/Storage.php:337
 msgid "Doesn't match (with placeholders)"
 msgstr ""
 
-#: templates/filters/header.inc:23 lib/Block/overview.php:63
-#: lib/Block/overview.php:72 lib/Block/overview.php:87
-#: lib/Block/overview.php:97 lib/Block/overview.php:107
+#: templates/filters/header.inc:11 lib/Block/overview.php:56
+#: lib/Block/overview.php:65 lib/Block/overview.php:80
+#: lib/Block/overview.php:90 lib/Block/overview.php:100
 msgid "Edit"
 msgstr ""
 
-#: filters.php:241 filters.php:243 filters.php:247 filters.php:248
+#: filters.php:248 filters.php:250 filters.php:254
 #, php-format
 msgid "Edit %s"
 msgstr ""
 
-#: filters.php:287 filters.php:288
+#: filters.php:293 filters.php:294
 #, php-format
 msgid "Enable %s"
 msgstr ""
 
-#: templates/filters/header.inc:25
+#: templates/filters/header.inc:13
 msgid "Enabled"
 msgstr ""
 
-#: vacation.php:45
+#: vacation.php:41
 msgid "End of vacation:"
 msgstr ""
 
-#: lib/Storage.php:348
+#: lib/Storage.php:331
 msgid "Ends with"
 msgstr ""
 
-#: lib/Storage.php:359
+#: lib/Storage.php:342
 msgid "Equal to"
 msgstr ""
 
-#: lib/Driver/ldap.php:138 lib/Driver/ldap.php:148 lib/Driver/ldap.php:157
-#: lib/Driver/ldap.php:167
+#: lib/Driver/Ldap.php:135 lib/Driver/Ldap.php:145 lib/Driver/Ldap.php:154
+#: lib/Driver/Ldap.php:164
 #, php-format
 msgid "Error retrieving current script: (%d) %s"
 msgstr ""
@@ -290,28 +285,28 @@ msgstr ""
 msgid "Error saving changes."
 msgstr ""
 
-#: templates/filters/header.inc:17
+#: templates/filters/header.inc:5
 msgid "Existing Rules"
 msgstr ""
 
-#: lib/Storage.php:350
+#: lib/Storage.php:333
 msgid "Exists"
 msgstr ""
 
-#: lib/Driver/ldap.php:143
+#: lib/Driver/Ldap.php:140
 #, php-format
 msgid "Expected 1 object, got %d."
 msgstr ""
 
-#: lib/Driver/sivtest.php:204
+#: lib/Driver/Sivtest.php:195
 msgid "Failed to read from socket: "
 msgstr ""
 
-#: lib/Driver/sivtest.php:199
+#: lib/Driver/Sivtest.php:190
 msgid "Failed to write to socket: "
 msgstr ""
 
-#: lib/Driver/sivtest.php:194
+#: lib/Driver/Sivtest.php:185
 msgid "Failed to write to socket: (connection lost!)"
 msgstr ""
 
@@ -335,62 +330,62 @@ msgstr ""
 msgid "Filter Options"
 msgstr ""
 
-#: templates/rule/header.inc:25
+#: templates/rule/header.inc:13
 msgid "Filter Rule"
 msgstr ""
 
-#: filters.php:139
+#: filters.php:146
 msgid "Filter Rules"
 msgstr ""
 
-#: script.php:54
+#: script.php:51
 msgid "Filter Script Display"
 msgstr ""
 
-#: lib/Ingo.php:382
+#: lib/Ingo.php:391
 msgid "Filter _Rules"
 msgstr ""
 
-#: lib/Script/imap.php:357
+#: lib/Script/Imap.php:328
 #, php-format
 msgid "Filter activity: %s message(s) have been copied to the folder \"%s\"."
 msgstr ""
 
-#: lib/Script/imap.php:338
+#: lib/Script/Imap.php:309
 #, php-format
 msgid "Filter activity: %s message(s) have been deleted."
 msgstr ""
 
-#: lib/Script/imap.php:314
+#: lib/Script/Imap.php:286
 #, php-format
 msgid "Filter activity: %s message(s) have been moved to the folder \"%s\"."
 msgstr ""
 
-#: lib/Script/imap.php:206
+#: lib/Script/Imap.php:197
 #, php-format
 msgid "Filter activity: %s message(s) that matched the blacklist were deleted."
 msgstr ""
 
-#: lib/Script/imap.php:350
+#: lib/Script/Imap.php:321
 #, php-format
 msgid ""
 "Filter activity: The message \"%s\" from \"%s\" has been copied to the "
 "folder \"%s\"."
 msgstr ""
 
-#: lib/Script/imap.php:332
+#: lib/Script/Imap.php:303
 #, php-format
 msgid "Filter activity: The message \"%s\" from \"%s\" has been deleted."
 msgstr ""
 
-#: lib/Script/imap.php:307
+#: lib/Script/Imap.php:279
 #, php-format
 msgid ""
 "Filter activity: The message \"%s\" from \"%s\" has been moved to the folder "
 "\"%s\"."
 msgstr ""
 
-#: rule.php:188
+#: rule.php:187
 msgid "Filter not found."
 msgstr ""
 
@@ -398,90 +393,90 @@ msgstr ""
 msgid "Flagged For Followup"
 msgstr ""
 
-#: spam.php:74
+#: spam.php:69
 msgid "Folder to receive spam:"
 msgstr ""
 
-#: templates/rule/header.inc:42
+#: templates/rule/header.inc:30
 msgid "For an incoming message that matches:"
 msgstr ""
 
-#: filters.php:192 forward.php:97 lib/Block/overview.php:71
-#: lib/Block/overview.php:73
+#: filters.php:199 forward.php:93 lib/Block/overview.php:64
+#: lib/Block/overview.php:66
 msgid "Forward"
 msgstr ""
 
-#: lib/Script/sieve.php:229
+#: lib/Script/Sieve.php:227
 msgid "Forward Keep Action"
 msgstr ""
 
-#: forward.php:18
+#: forward.php:17
 msgid "Forward is not supported in the current filtering driver."
 msgstr ""
 
-#: lib/Script/procmail.php:298 lib/Script/sieve.php:239
-#: lib/Script/maildrop.php:246
+#: lib/Script/Maildrop.php:242 lib/Script/Sieve.php:237
+#: lib/Script/Procmail.php:296
 msgid "Forwards"
 msgstr ""
 
-#: forward.php:104
+#: forward.php:100
 msgid "Forwards Edit"
 msgstr ""
 
-#: config/fields.php.dist:39
+#: config/fields.php.dist:41
 msgid "From"
 msgstr ""
 
-#: lib/Script/sieve.php:2948
+#: lib/Script/Sieve.php:2967
 msgid "From:"
 msgstr ""
 
-#: lib/Script/sieve.php:123
+#: lib/Script/Sieve.php:121
 msgid "Generated by Ingo (http://www.horde.org/ingo/)"
 msgstr ""
 
-#: lib/Storage.php:357
+#: lib/Storage.php:340
 msgid "Greater than"
 msgstr ""
 
-#: lib/Storage.php:358
+#: lib/Storage.php:341
 msgid "Greater than or equal to"
 msgstr ""
 
-#: rule.php:38
+#: rule.php:34
 msgid "Individual rules are not supported in the current filtering driver."
 msgstr ""
 
-#: lib/Script/sieve.php:2542
+#: lib/Script/Sieve.php:2562
 msgid "Inexistant mailbox specified for message delivery."
 msgstr ""
 
-#: lib/Storage.php:344
+#: lib/Storage.php:327
 msgid "Is"
 msgstr ""
 
-#: lib/Storage.php:345
+#: lib/Storage.php:328
 msgid "Isn't"
 msgstr ""
 
-#: forward.php:41
+#: forward.php:37
 msgid "Keep a copy of messages in this account?"
 msgstr ""
 
-#: lib/Driver/ldap.php:23
+#: lib/Driver/Ldap.php:22
 msgid ""
 "LDAP support is required but the LDAP module is not available or not loaded."
 msgstr ""
 
-#: lib/Storage.php:355
+#: lib/Storage.php:338
 msgid "Less than"
 msgstr ""
 
-#: lib/Storage.php:356
+#: lib/Storage.php:339
 msgid "Less than or equal to"
 msgstr ""
 
-#: config/fields.php.dist:59
+#: config/fields.php.dist:61
 msgid "List-ID"
 msgstr ""
 
@@ -497,81 +492,81 @@ msgstr ""
 msgid "Match type"
 msgstr ""
 
-#: lib/Storage.php:353
+#: lib/Storage.php:336
 msgid "Matches (with placeholders)"
 msgstr ""
 
-#: lib/api.php:71
+#: lib/Application.php:27
 msgid "Maximum Number of Rules"
 msgstr ""
 
-#: lib/Storage.php:507
+#: lib/Storage/Blacklist.php:32
 #, php-format
 msgid ""
 "Maximum number of blacklisted addresses exceeded (Total addresses: %s, "
 "Maximum addresses: %s).  Could not add new addresses to blacklist."
 msgstr ""
 
-#: lib/Storage.php:560
+#: lib/Storage/Whitelist.php:32
 #, php-format
 msgid ""
 "Maximum number of whitelisted addresses exceeded (Total addresses: %s, "
 "Maximum addresses: %s).  Could not add new addresses to whitelist."
 msgstr ""
 
-#: spam.php:71
+#: spam.php:66
 msgid ""
 "Messages with a likely spam score greater than or equal to this number will "
 "be treated as spam."
 msgstr ""
 
-#: lib/Script/sieve.php:2962
+#: lib/Script/Sieve.php:2981
 msgid "Missing address to notify"
 msgstr ""
 
-#: lib/Script/sieve.php:2343
+#: lib/Script/Sieve.php:2363
 msgid "Missing address to redirect message to"
 msgstr ""
 
-#: lib/Script/sieve.php:2389
+#: lib/Script/Sieve.php:2409
 msgid "Missing reason for reject"
 msgstr ""
 
-#: lib/Script/sieve.php:2692
+#: lib/Script/Sieve.php:2712
 msgid "Missing reason in vacation."
 msgstr ""
 
-#: templates/filters/header.inc:29
+#: templates/filters/header.inc:15
 msgid "Move"
 msgstr ""
 
-#: filters.php:156 filters.php:273
+#: filters.php:163 filters.php:279
 msgid "Move Rule Down"
 msgstr ""
 
-#: filters.php:157 filters.php:272
+#: filters.php:164 filters.php:278
 msgid "Move Rule Up"
 msgstr ""
 
-#: vacation.php:53
+#: vacation.php:47
 msgid "My email addresses:"
 msgstr ""
 
 #: templates/filters/filter-none.inc:3 templates/filters/footer.inc:6
-#: lib/Storage.php:889
+#: lib/Storage/Filters.php:90
 msgid "New Rule"
 msgstr ""
 
-#: lib/Ingo.php:233 lib/Ingo.php:235
+#: lib/Ingo.php:250 lib/Ingo.php:252
 #, php-format
 msgid "No \"%s\" element found in backend configuration."
 msgstr ""
 
-#: lib/Ingo.php:226
+#: lib/Ingo.php:243
 msgid "No backend configured for this host"
 msgstr ""
 
-#: lib/Ingo.php:202
+#: lib/Ingo.php:219
 msgid "No backends configured in backends.php"
 msgstr ""
 
@@ -580,40 +575,40 @@ msgstr ""
 msgid "No filters. Click \"%s\" to create a new filter."
 msgstr ""
 
-#: lib/Script/sieve.php:1692 lib/Script/sieve.php:1841
-#: lib/Script/sieve.php:2065
+#: lib/Script/Sieve.php:1712 lib/Script/Sieve.php:1861
+#: lib/Script/Sieve.php:2085
 msgid "No headers specified"
 msgstr ""
 
-#: script.php:69
+#: script.php:67
 msgid "No script generated."
 msgstr ""
 
-#: lib/Script/sieve.php:2081 lib/Script/sieve.php:2165
+#: lib/Script/Sieve.php:2101 lib/Script/Sieve.php:2185
 msgid "No strings specified"
 msgstr ""
 
-#: lib/Storage.php:360
+#: lib/Storage.php:343
 msgid "Not equal to"
 msgstr ""
 
-#: lib/Storage.php:320
-msgid "Notify email address"
+#: lib/Storage.php:303
+msgid "Notify email address..."
 msgstr ""
 
-#: vacation.php:60
+#: vacation.php:53
 msgid "Number of days between vacation replies:"
 msgstr ""
 
-#: lib/Storage.php:314
+#: lib/Storage.php:297
 msgid "Only flag the message"
 msgstr ""
 
-#: config/prefs.php.dist:18
+#: config/prefs.php.dist:15
 msgid "Options about script updating."
 msgstr ""
 
-#: config/prefs.php.dist:16
+#: config/prefs.php.dist:13
 msgid "Other Options"
 msgstr ""
 
@@ -621,39 +616,48 @@ msgstr ""
 msgid "Overview"
 msgstr ""
 
-#: config/fields.php.dist:91
-msgid "Participant (From,To,etc)"
+#: config/fields.php.dist:93
+msgid "Participant (From, To, etc.)"
+msgstr ""
+
+#: lib/Storage/Sql.php:410
+msgid "Permission Denied"
 msgstr ""
 
-#: templates/javascript/new_folder.js:7
+#: lib/Ingo.php:441
 msgid "Please enter the name of the new folder:"
 msgstr ""
 
-#: vacation.php:48
+#: vacation.php:44
 msgid "Reason:"
 msgstr ""
 
-#: config/fields.php.dist:63
+#: config/fields.php.dist:65
 msgid "Received"
 msgstr ""
 
-#: lib/Storage.php:295
-msgid "Redirect to"
+#: lib/Storage.php:278
+msgid "Redirect to..."
 msgstr ""
 
-#: lib/Storage.php:352
+#: lib/Storage.php:335
 msgid "Regular expression"
 msgstr ""
 
-#: lib/Storage.php:310
-msgid "Reject with reason"
+#: lib/Storage.php:293
+msgid "Reject with reason..."
 msgstr ""
 
-#: config/fields.php.dist:51
+#: lib/Storage.php:385
+msgid ""
+"Removing user data is not supported with the current filter storage backend."
+msgstr ""
+
+#: config/fields.php.dist:53
 msgid "Resent-From"
 msgstr ""
 
-#: config/fields.php.dist:55
+#: config/fields.php.dist:57
 msgid "Resent-To"
 msgstr ""
 
@@ -661,50 +665,62 @@ msgstr ""
 msgid "Return to Filters List"
 msgstr ""
 
-#: spam.php:62 spam.php:141 forward.php:34 forward.php:88 vacation.php:34
-#: vacation.php:117 templates/whitelist/whitelist.inc:24
+#: spam.php:57 spam.php:138 forward.php:30 forward.php:84 vacation.php:30
+#: vacation.php:110 templates/whitelist/whitelist.inc:24
 #: templates/blacklist/blacklist.inc:42
 msgid "Return to Rules List"
 msgstr ""
 
-#: templates/filters/header.inc:24
+#: templates/filters/header.inc:12
 msgid "Rule"
 msgstr ""
 
-#: filters.php:78
-msgid "Rule Copied"
+#: filters.php:83
+#, php-format
+msgid "Rule \"%s\" copied."
+msgstr ""
+
+#: filters.php:58
+#, php-format
+msgid "Rule \"%s\" deleted."
 msgstr ""
 
-#: filters.php:57
-msgid "Rule Deleted"
+#: filters.php:101
+#, php-format
+msgid "Rule \"%s\" disabled."
 msgstr ""
 
-#: spam.php:122 filters.php:94 forward.php:72 vacation.php:97
+#: filters.php:107
+#, php-format
+msgid "Rule \"%s\" enabled."
+msgstr ""
+
+#: spam.php:119 forward.php:68 vacation.php:90
 msgid "Rule Disabled"
 msgstr ""
 
-#: spam.php:113 filters.php:99 forward.php:63 vacation.php:88
+#: spam.php:110 forward.php:59 vacation.php:81
 msgid "Rule Enabled"
 msgstr ""
 
-#: templates/rule/header.inc:33
+#: templates/rule/header.inc:21
 msgid "Rule Name:"
 msgstr ""
 
-#: lib/Script/sieve.php:2950
+#: lib/Script/Sieve.php:2969
 msgid "Rule:"
 msgstr ""
 
-#: lib/Driver/ldap.php:86
+#: lib/Driver/Ldap.php:85
 #, php-format
 msgid "STARTTLS failed: (%s) %s"
 msgstr ""
 
-#: lib/Ingo.php:396
+#: lib/Ingo.php:405
 msgid "S_pam"
 msgstr ""
 
-#: spam.php:79 forward.php:45 vacation.php:62
+#: spam.php:74 forward.php:41 vacation.php:55
 #: templates/whitelist/whitelist.inc:23 templates/blacklist/blacklist.inc:41
 #: templates/rule/footer.inc:60
 msgid "Save"
@@ -714,13 +730,13 @@ msgstr ""
 msgid "Save Settings"
 msgstr ""
 
-#: spam.php:116 spam.php:137 forward.php:66 forward.php:84 vacation.php:91
-#: vacation.php:113
+#: spam.php:113 spam.php:134 forward.php:62 forward.php:80 vacation.php:84
+#: vacation.php:106
 msgid "Save and Disable"
 msgstr ""
 
-#: spam.php:107 spam.php:139 forward.php:57 forward.php:86 vacation.php:82
-#: vacation.php:115
+#: spam.php:104 spam.php:136 forward.php:53 forward.php:82 vacation.php:75
+#: vacation.php:108
 msgid "Save and Enable"
 msgstr ""
 
@@ -728,19 +744,19 @@ msgstr ""
 msgid "Script"
 msgstr ""
 
-#: config/prefs.php.dist:17
+#: config/prefs.php.dist:14
 msgid "Script Updating"
 msgstr ""
 
-#: lib/Ingo.php:178
+#: lib/Ingo.php:195
 msgid "Script not updated."
 msgstr ""
 
-#: lib/Ingo.php:149
+#: lib/Ingo.php:166
 msgid "Script successfully activated."
 msgstr ""
 
-#: lib/Ingo.php:148
+#: lib/Ingo.php:165
 msgid "Script successfully deactivated."
 msgstr ""
 
@@ -748,7 +764,7 @@ msgstr ""
 msgid "Seen"
 msgstr ""
 
-#: rule.php:218
+#: rule.php:216
 msgid "Select a field"
 msgstr ""
 
@@ -756,19 +772,23 @@ msgstr ""
 msgid "Select ruleset to display:"
 msgstr ""
 
-#: rule.php:347 templates/blacklist/blacklist.inc:23 lib/Ingo.php:59
+#: rule.php:345 templates/blacklist/blacklist.inc:23
 msgid "Select target folder"
 msgstr ""
 
-#: rule.php:255
+#: lib/Ingo.php:65
+msgid "Select target folder:"
+msgstr ""
+
+#: rule.php:253
 msgid "Self-Defined Header"
 msgstr ""
 
-#: config/fields.php.dist:35
+#: config/fields.php.dist:37
 msgid "Sender"
 msgstr ""
 
-#: filters.php:118
+#: filters.php:126
 msgid "Settings successfully updated."
 msgstr ""
 
@@ -780,32 +800,32 @@ msgstr ""
 msgid "Show Current Script"
 msgstr ""
 
-#: spam.php:18
+#: spam.php:45
 msgid "Simple spam filtering is not supported in the current filtering driver."
 msgstr ""
 
-#: config/fields.php.dist:95
+#: config/fields.php.dist:97
 msgid "Size"
 msgstr ""
 
-#: config/fields.php.dist:87
-msgid "Source (From,Reply-to,etc)"
+#: config/fields.php.dist:89
+msgid "Source (From, Reply-to, etc.)"
 msgstr ""
 
-#: filters.php:198 lib/Script/sieve.php:438 lib/Script/maildrop.php:301
-#: lib/Block/overview.php:105 lib/Block/overview.php:108
+#: filters.php:205 lib/Script/Maildrop.php:298 lib/Script/Sieve.php:435
+#: lib/Block/overview.php:98 lib/Block/overview.php:101
 msgid "Spam Filter"
 msgstr ""
 
-#: spam.php:158 spam.php:165
+#: spam.php:150 spam.php:157
 msgid "Spam Filtering"
 msgstr ""
 
-#: spam.php:71
+#: spam.php:66
 msgid "Spam Level:"
 msgstr ""
 
-#: vacation.php:43
+#: vacation.php:39
 msgid "Start of vacation:"
 msgstr ""
 
@@ -813,49 +833,49 @@ msgstr ""
 msgid "Stop checking if this rule matches?"
 msgstr ""
 
-#: config/fields.php.dist:31
+#: config/fields.php.dist:33
 msgid "Subject"
 msgstr ""
 
-#: vacation.php:46
+#: vacation.php:42
 msgid "Subject of vacation message:"
 msgstr ""
 
-#: lib/Script/sieve.php:2949
+#: lib/Script/Sieve.php:2968
 msgid "Subject:"
 msgstr ""
 
-#: lib/api.php:103
+#: lib/Api.php:54
 #, php-format
 msgid "The address \"%s\" has been added to your blacklist."
 msgstr ""
 
-#: lib/api.php:126
+#: lib/Api.php:80
 #, php-format
 msgid "The address \"%s\" has been added to your whitelist."
 msgstr ""
 
-#: lib/Ingo.php:144
+#: lib/Ingo.php:161
 msgid "The driver said: "
 msgstr ""
 
-#: lib/Ingo.php:143
+#: lib/Ingo.php:160
 msgid "There was an error activating the script."
 msgstr ""
 
-#: lib/Ingo.php:142
+#: lib/Ingo.php:159
 msgid "There was an error deactivating the script."
 msgstr ""
 
-#: config/fields.php.dist:27
+#: config/fields.php.dist:29
 msgid "To"
 msgstr ""
 
-#: templates/filters/filter.html:32
+#: templates/filters/filter.html:29
 msgid "To:"
 msgstr ""
 
-#: lib/Script.php:126
+#: lib/Script.php:122
 #, php-format
 msgid "Unable to load the definition of %s."
 msgstr ""
@@ -864,97 +884,101 @@ msgstr ""
 msgid "User header"
 msgstr ""
 
-#: filters.php:186 vacation.php:151 lib/Script/procmail.php:278
-#: lib/Script/sieve.php:412 lib/Script/maildrop.php:276
-#: lib/Block/overview.php:61 lib/Block/overview.php:64
+#: filters.php:193 vacation.php:144 lib/Script/Maildrop.php:274
+#: lib/Script/Sieve.php:409 lib/Script/Procmail.php:276
+#: lib/Block/overview.php:54 lib/Block/overview.php:57
 msgid "Vacation"
 msgstr ""
 
-#: vacation.php:158
+#: vacation.php:151
 msgid "Vacation Edit"
 msgstr ""
 
-#: vacation.php:18
+#: vacation.php:17
 msgid "Vacation is not supported in the current filtering driver."
 msgstr ""
 
-#: rule.php:353
+#: rule.php:351
 msgid "Value"
 msgstr ""
 
-#: templates/whitelist/whitelist.inc:16
+#: templates/whitelist/whitelist.inc:14
 msgid "Wh_itelist addresses:"
 msgstr ""
 
-#: filters.php:180 templates/whitelist/whitelist.inc:8
-#: lib/Block/overview.php:85 lib/Block/overview.php:88
+#: filters.php:187 templates/whitelist/whitelist.inc:5
+#: lib/Block/overview.php:78 lib/Block/overview.php:81
 msgid "Whitelist"
 msgstr ""
 
-#: whitelist.php:57
+#: whitelist.php:56
 msgid "Whitelist Edit"
 msgstr ""
 
-#: whitelist.php:20
+#: whitelist.php:19
 msgid "Whitelist is not supported in the current filtering driver."
 msgstr ""
 
-#: lib/Script/procmail.php:246 lib/Script/sieve.php:336
-#: lib/Script/maildrop.php:224
+#: lib/Script/Maildrop.php:220 lib/Script/Sieve.php:334
+#: lib/Script/Procmail.php:244
 msgid "Whitelisted Addresses"
 msgstr ""
 
-#: config/fields.php.dist:79
+#: config/fields.php.dist:81
 msgid "X-Priority"
 msgstr ""
 
-#: config/fields.php.dist:67
+#: config/fields.php.dist:69
 msgid "X-Spam-Level"
 msgstr ""
 
-#: config/fields.php.dist:71
+#: config/fields.php.dist:73
 msgid "X-Spam-Score"
 msgstr ""
 
-#: config/fields.php.dist:75
+#: config/fields.php.dist:77
 msgid "X-Spam-Status"
 msgstr ""
 
-#: filters.php:71 rule.php:172
+#: filters.php:76 rule.php:173
 #, php-format
 msgid "You are not allowed to create more than %d rules."
 msgstr ""
 
-#: filters.php:63 rule.php:23
+#: filters.php:67 rule.php:21
 msgid "You are not allowed to create or edit custom rules."
 msgstr ""
 
-#: rule.php:96
+#: lib/Application.php:62
+msgid "You are not allowed to remove user data."
+msgstr ""
+
+#: rule.php:94
 #, php-format
 msgid "You cannot create empty conditions. Please fill in a value for \"%s\"."
 msgstr ""
 
-#: filters.php:52 rule.php:151
+#: filters.php:51 rule.php:149
 msgid "You do not have permission to delete filter rules."
 msgstr ""
 
-#: filters.php:45 filters.php:112 filters.php:123 rule.php:58 rule.php:165
+#: filters.php:44 filters.php:120 filters.php:131 rule.php:54 rule.php:163
 msgid "You do not have permission to edit filter rules."
 msgstr ""
 
-#: lib/Script/sieve.php:2947
+#: lib/Script/Sieve.php:2966
 msgid "You have received a new message"
 msgstr ""
 
-#: lib/Script/imap.php:309 lib/Script/imap.php:334 lib/Script/imap.php:352
+#: lib/Script/Imap.php:281 lib/Script/Imap.php:305 lib/Script/Imap.php:323
 msgid "[No Sender]"
 msgstr ""
 
-#: lib/Script/imap.php:308 lib/Script/imap.php:333 lib/Script/imap.php:351
+#: lib/Script/Imap.php:280 lib/Script/Imap.php:304 lib/Script/Imap.php:322
 msgid "[No Subject]"
 msgstr ""
 
-#: lib/Ingo.php:387
+#: lib/Ingo.php:396
 msgid "_Blacklist"
 msgstr ""
 
@@ -966,7 +990,7 @@ msgstr ""
 msgid "_Enter each address on a new line:"
 msgstr ""
 
-#: lib/Ingo.php:393
+#: lib/Ingo.php:402
 msgid "_Forward"
 msgstr ""
 
@@ -974,23 +998,23 @@ msgstr ""
 msgid "_Move message to folder:"
 msgstr ""
 
-#: lib/Ingo.php:402
+#: lib/Ingo.php:413
 msgid "_Permissions"
 msgstr ""
 
-#: lib/Ingo.php:399
+#: lib/Ingo.php:410
 msgid "_Script"
 msgstr ""
 
-#: lib/Ingo.php:390
+#: lib/Ingo.php:399
 msgid "_Vacation"
 msgstr ""
 
-#: lib/Ingo.php:384
+#: lib/Ingo.php:393
 msgid "_Whitelist"
 msgstr ""
 
-#: lib/Block/overview.php:54
+#: lib/Block/overview.php:47
 msgid "active"
 msgstr ""
 
@@ -998,15 +1022,15 @@ msgstr ""
 msgid "and"
 msgstr ""
 
-#: templates/filters/filter.html:19
+#: templates/filters/filter.html:16
 msgid "disabled - click to enable"
 msgstr ""
 
-#: lib/Block/overview.php:52
+#: lib/Block/overview.php:45
 msgid "inactive"
 msgstr ""
 
-#: lib/Script/maildrop.php:134
+#: lib/Script/Maildrop.php:130
 msgid "maildrop script generated by Ingo"
 msgstr ""
 
@@ -1014,6 +1038,6 @@ msgstr ""
 msgid "or"
 msgstr ""
 
-#: lib/Script/procmail.php:140
+#: lib/Script/Procmail.php:138
 msgid "procmail script generated by Ingo"
 msgstr ""