From 39a2d33c4680fe0a0fcd10e864d075f520d9905e Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 06 Mar 2015 07:22:45 -0500
Subject: [PATCH] Merge branch 'master' into 'master'

---
 server/plugins-available/mail_plugin_dkim.inc.php |    2 +-
 server/lib/classes/cron.d/500-backup_mail.inc.php |    3 ++-
 server/lib/classes/cron.d/500-backup.inc.php      |    2 ++
 server/lib/classes/system.inc.php                 |   18 ++++++++++++++++--
 4 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/server/lib/classes/cron.d/500-backup.inc.php b/server/lib/classes/cron.d/500-backup.inc.php
index 68c5920..81f8064 100644
--- a/server/lib/classes/cron.d/500-backup.inc.php
+++ b/server/lib/classes/cron.d/500-backup.inc.php
@@ -314,6 +314,8 @@
 						}
 					}
 				}
+				//* end run_backups
+				if( $server_config['backup_dir_is_mount'] == 'y' ) $app->system->umount_backup_dir($backup_dir);
 			} else {
 				//* send email to admin that backup directory could not be mounted
 				$global_config = $app->getconf->get_global_config('mail');
diff --git a/server/lib/classes/cron.d/500-backup_mail.inc.php b/server/lib/classes/cron.d/500-backup_mail.inc.php
index a13974a..81e39ed 100644
--- a/server/lib/classes/cron.d/500-backup_mail.inc.php
+++ b/server/lib/classes/cron.d/500-backup_mail.inc.php
@@ -181,7 +181,8 @@
 						}
 					}
 				}
-			}
+				if( $server_config['backup_dir_is_mount'] == 'y' ) $app->system->umount_backup_dir($backup_dir);
+			} //* end run_backups
 		}
 
 		parent::onRunJob();
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 75dc73d..98fc51f 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1808,7 +1808,7 @@
 				fileowner($mount_cmd) === 0
 		) {
 			if (!$this->is_mounted($backup_dir)){
-				exec($backup_dir_mount_cmd);
+				exec($mount_cmd);
 				sleep(1);
 				if (!$this->is_mounted($backup_dir)) $mounted = false;
 			}
@@ -1816,7 +1816,21 @@
 
 		return $mounted;
 	}
-				
+
+	function umount_backup_dir($backup_dir, $mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_umount.sh'){
+		if ( 	is_file($mount_cmd) &&
+				is_executable($mount_cmd) &&
+				fileowner($mount_cmd) === 0
+		) {
+			if ($this->is_mounted($backup_dir)){
+				exec($mount_cmd);
+				sleep(1);
+			}
+		}
+
+        return $this->is_mounted($backup_dir) == 0 ? true : false;
+	}
+
 	function getinitcommand($servicename, $action, $init_script_directory = ''){
 		global $conf;
 		// upstart
diff --git a/server/plugins-available/mail_plugin_dkim.inc.php b/server/plugins-available/mail_plugin_dkim.inc.php
index 9fb927e..7fea83c 100755
--- a/server/plugins-available/mail_plugin_dkim.inc.php
+++ b/server/plugins-available/mail_plugin_dkim.inc.php
@@ -405,7 +405,7 @@
 			}
 
 			/* resync */
-			if ($data['new']['active'] == 'y' && $data['new'] == $data['old']) {
+			if ($data['new']['active'] == 'y' && $data['new'] == $data['old'] && $data['new']['dkim']=='y') {
 				$this->add_dkim($data);
 			}
 		}

--
Gitblit v1.9.1