From 9851f94ef7bc26a94022fa0ff6c3d4aca07aa4ea Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 21 Jul 2009 14:32:58 -0400
Subject: [PATCH] Fixed: FS#806 - Mailfilter & Folders names w/ spaces
---
interface/web/mail/mail_user_filter_edit.php | 88 ++++++++++++++++++++++++-------------------
1 files changed, 49 insertions(+), 39 deletions(-)
diff --git a/interface/web/mail/mail_user_filter_edit.php b/interface/web/mail/mail_user_filter_edit.php
index 27c0613..89f4b4f 100644
--- a/interface/web/mail/mail_user_filter_edit.php
+++ b/interface/web/mail/mail_user_filter_edit.php
@@ -113,49 +113,59 @@
$content = '';
$content .= '### BEGIN FILTER_ID:'.$this->id."\n";
-
- if($this->dataRecord["active"] == 'y') {
-
- if($this->dataRecord["action"] == 'move') {
-
+
+ $TargetNoQuotes = $this->dataRecord["target"];
+ $TargetQuotes = "\"$TargetNoQuotes\"";
+
+ $TestChDirNoQuotes = '$DEFAULT/.'.$TargetNoQuotes;
+ $TestChDirQuotes = "\"$TestChDirNoQuotes\"";
+
+ $MailDirMakeNoQuotes = $TargetQuotes.' $DEFAULT';
+
+ $EchoTargetFinal = $TargetNoQuotes;
+
+
+ if($this->dataRecord["action"] == 'move') {
+
$content .= "
-`test -e ".'$DEFAULT/.'.$this->dataRecord["target"]."`
-if ( ".'$RETURNCODE'." != 0 )
+`test -e ".$TestChDirQuotes." && exit 1 || exit 0`
+if ( ".'$RETURNCODE'." != 1 )
{
- `maildirmake -f ".$this->dataRecord["target"].' $DEFAULT'."`
- `chmod -R 0700 ".'$DEFAULT/'.$this->dataRecord["target"]."`
- `echo INBOX.".$this->dataRecord["target"]." >> ".'$DEFAULT'."/courierimapsubscribed`
+ `maildirmake -f $MailDirMakeNoQuotes`
+ `chmod -R 0700 ".$TestChDirQuotes."`
+ `echo \"INBOX.$EchoTargetFinal\" >> ".'$DEFAULT'."/courierimapsubscribed`
}
-";
- }
-
- $content .= "if (/^".$this->dataRecord["source"].":";
-
- $searchterm = preg_quote($this->dataRecord["searchterm"]);
-
- if($this->dataRecord["op"] == 'contains') {
- $content .= ".*".$searchterm."/:h)\n";
- } elseif ($this->dataRecord["op"] == 'is') {
- $content .= $searchterm."$/:h)\n";
- } elseif ($this->dataRecord["op"] == 'begins') {
- $content .= $searchterm."/:h)\n";
- } elseif ($this->dataRecord["op"] == 'ends') {
- $content .= ".*".$searchterm."$/:h)\n";
- }
-
- $content .= "{\n";
- $content .= "exception {\n";
-
- if($this->dataRecord["action"] == 'move') {
- $content .= 'to $DEFAULT/.'.$this->dataRecord["target"]."/\n";
- } else {
- $content .= "to /dev/null\n";
- }
-
- $content .= "}\n";
- $content .= "}\n";
-
+";
}
+
+ $content .= "if (/^".$this->dataRecord["source"].":";
+
+ $searchterm = preg_quote($this->dataRecord["searchterm"]);
+
+ if($this->dataRecord["op"] == 'contains') {
+ $content .= ".*".$searchterm."/:h)\n";
+ } elseif ($this->dataRecord["op"] == 'is') {
+ $content .= $searchterm."$/:h)\n";
+ } elseif ($this->dataRecord["op"] == 'begins') {
+ $content .= $searchterm."/:h)\n";
+ } elseif ($this->dataRecord["op"] == 'ends') {
+ $content .= ".*".$searchterm."$/:h)\n";
+ }
+
+ $content .= "{\n";
+ $content .= "exception {\n";
+
+ if($this->dataRecord["action"] == 'move') {
+ $content .= 'ID' . "$this->id" . 'EndFolder = "$DEFAULT/.' . $this->dataRecord['target'] . '/"' . "\n";
+ $content .= "to ". '$ID' . "$this->id" . 'EndFolder' . "\n";
+ } else {
+ $content .= "to /dev/null\n";
+ }
+
+ $content .= "}\n";
+ $content .= "}\n";
+
+ //}
$content .= '### END FILTER_ID:'.$this->id."\n";
--
Gitblit v1.9.1