tbrehm
2009-07-21 9851f94ef7bc26a94022fa0ff6c3d4aca07aa4ea
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";