From 53f4a0b4229550275451cc9bc687c60b5f7391ea Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 03 Jan 2014 07:22:23 -0500
Subject: [PATCH] Merge remote-tracking branch 'schoene/master'
---
server/plugins-available/maildeliver_plugin.inc.php | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/server/plugins-available/maildeliver_plugin.inc.php b/server/plugins-available/maildeliver_plugin.inc.php
index 08a4998..7ff4a72 100644
--- a/server/plugins-available/maildeliver_plugin.inc.php
+++ b/server/plugins-available/maildeliver_plugin.inc.php
@@ -98,8 +98,9 @@
$app->log("Mailfilter config has been changed", LOGLEVEL_DEBUG);
$sieve_file = $data["new"]["maildir"].'/.sieve';
+ $sieve_file_isp = $data["new"]["maildir"].'/sieve/ispconfig.sieve';
if(is_file($sieve_file)) unlink($sieve_file) or $app->log("Unable to delete file: $sieve_file", LOGLEVEL_WARN);
-
+ if(is_file($sieve_file_isp)) unlink($sieve_file_isp) or $app->log("Unable to delete file: $sieve_file_isp", LOGLEVEL_WARN);
$app->load('tpl');
//* Select sieve filter file for dovecot version
@@ -204,8 +205,20 @@
$tpl->setVar('addresses', $address_str);
- file_put_contents($sieve_file, $tpl->grab());
+ if ( ! is_dir($data["new"]["maildir"].'/sieve/') ) {
+ $app->system->mkdirpath($data["new"]["maildir"].'/sieve/', 0700, $mail_config['mailuser_name'], $mail_config['mailuser_group']);
+ }
+ file_put_contents($sieve_file_isp, $tpl->grab());
+ chown($sieve_file_isp,$mail_config['mailuser_name']);
+ chgrp($sieve_file_isp,$mail_config['mailuser_group']);
+ chdir($data["new"]["maildir"]);
+ //* create symlink to activate sieve script
+ symlink("sieve/ispconfig.sieve", ".sieve") or $app->log("Unable to create symlink to active sieve filter", LOGLEVEL_WARN);
+ if (is_link(".sieve")) {
+ lchown(".sieve",$mail_config['mailuser_name']);
+ lchgrp(".sieve",$mail_config['mailuser_group']);
+ }
unset($tpl);
}
@@ -215,7 +228,9 @@
global $app, $conf;
$sieve_file = $data["old"]["maildir"].'/.sieve';
+ $sieve_file_isp = $data["old"]["maildir"].'/sieve/ispconfig.sieve';
if(is_file($sieve_file)) unlink($sieve_file) or $app->log("Unable to delete file: $sieve_file", LOGLEVEL_WARN);
+ if(is_file($sieve_file_isp)) unlink($sieve_file_isp) or $app->log("Unable to delete file: $sieve_file_isp", LOGLEVEL_WARN);
}
--
Gitblit v1.9.1