From 82ca27506f5c9a261b3e7e33e7c88ee69de8e85e Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 10 Jul 2008 15:17:11 +0000
Subject: [PATCH] - Fixed bug in logview refresh function. - Fixed bug with
 maildir creation in mail plugin.

---
 interface/web/js/scrigo.js                   |  2 +-
 interface/web/monitor/logview.php            |  1 +
 interface/web/monitor/templates/logview.htm  |  2 +-
 server/plugins-available/mail_plugin.inc.php | 10 +++++++++-
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/interface/web/js/scrigo.js b/interface/web/js/scrigo.js
index 3fde066489..7416399547 100644
--- a/interface/web/js/scrigo.js
+++ b/interface/web/js/scrigo.js
@@ -6,7 +6,7 @@ function loadContentRefresh(pagename) {
 			document.getElementById('pageContent').innerHTML = o.responseText;
 		},
 		failure: function(o) {
-			alert('Ajax Request was not successful.');
+			alert('Ajax Request was not successful.'+pagename);
 		}
 	}
 	
diff --git a/interface/web/monitor/logview.php b/interface/web/monitor/logview.php
index 84387ef6c0..acbba03545 100644
--- a/interface/web/monitor/logview.php
+++ b/interface/web/monitor/logview.php
@@ -104,6 +104,7 @@ $log = nl2br($log);
 
 $app->tpl->setVar("log",$log);
 $app->tpl->setVar("logfile",$logfile);
+$app->tpl->setVar("logfile_id",$logfile_id);
 
 
 $app->tpl_defaults();
diff --git a/interface/web/monitor/templates/logview.htm b/interface/web/monitor/templates/logview.htm
index 5e9fc46efc..222fdc2ed7 100644
--- a/interface/web/monitor/templates/logview.htm
+++ b/interface/web/monitor/templates/logview.htm
@@ -1,5 +1,5 @@
 <div style="margin-left:30px;margin-top:30px;"><b><tmpl_var name="logfile"></b><br /><br />
-<select name="refreshinterval" id="refreshinterval" onChange="loadContentRefresh('monitor/index.php?log=mail_log')">
+<select name="refreshinterval" id="refreshinterval" onChange="loadContentRefresh('monitor/logview.php?log={tmpl_var name="logfile_id"}')">
 	{tmpl_var name="refresh"}
 </select><br /><br />
 <tmpl_var name="log"></div>
\ No newline at end of file
diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php
index 1c7195d767..c80deb13d1 100644
--- a/server/plugins-available/mail_plugin.inc.php
+++ b/server/plugins-available/mail_plugin.inc.php
@@ -67,8 +67,16 @@ class mail_plugin {
 		
 		// Create the maildir, if it does not exist
 		if(!is_dir($data['new']['maildir'])) {
-			exec("su -c 'mkdir -p ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name']);
+			$tmp_path = $data['new']['maildir'];
+			$tmp_path_parts = explode('/',$tmp_path);
+			unset($tmp_path_parts[count($tmp_path_parts)-2]);
+			$maildomain_path = implode('/',$tmp_path_parts);
+			if(!is_dir($maildomain_path)) {
+				exec("su -c 'mkdir -p ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']);
+				$app->log('Created Directory: '.$maildomain_path,LOGLEVEL_DEBUG);
+			}
 			exec("su -c 'maildirmake ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name']);
+			$app->log('Executed: '."su -c 'maildirmake ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
 			//exec('maildirmake '.escapeshellcmd($data['new']['maildir']));
 			exec('chown -R '.$mail_config['mailuser_name'].':'.$mail_config['mailuser_group'].' '.escapeshellcmd($data['new']['maildir']));
 			$app->log('Created Maildir: '.$data['new']['maildir'],LOGLEVEL_DEBUG);
-- 
GitLab