From 6b15d5f4e18578acb46be3babc46b7a9d3a9299c Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Mon, 14 Dec 2015 10:14:45 -0500
Subject: [PATCH] - added {DOCROOT_CLIENT} to directive placeholders (non-symlink docroot) - made placeholders visible for apache, too - added event raise at formdef loading (on_before_formdef and on_after_formdef) - added possibility to put plugin files into module/lib/plugin.d/ directory

---
 server/lib/classes/system.inc.php |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 952df1a..739e822 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1801,6 +1801,61 @@
 		return $return_var == 0 ? true : false;
 	}
 
+	function mount_backup_dir($backup_dir, $mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh'){
+		global $app, $conf;
+
+		$mounted = true;
+		if ( 	is_file($mount_cmd) &&
+				is_executable($mount_cmd) &&
+				fileowner($mount_cmd) === 0
+		) {
+			if (!$this->is_mounted($backup_dir)){
+				exec($mount_cmd);
+				sleep(1);
+				if (!$this->is_mounted($backup_dir)) $mounted = false;
+			}
+		} else $mounted = false;
+		if (!$mounted) {
+			//* send email to admin that backup directory could not be mounted
+			$global_config = $app->getconf->get_global_config('mail');
+			if($global_config['admin_mail'] != ''){
+				$subject = 'Backup directory '.$backup_dir.' could not be mounted';
+				$message = "Backup directory ".$backup_dir." could not be mounted.\n\nThe command\n\n".$mount_cmd."\n\nfailed.";
+				mail($global_config['admin_mail'], $subject, $message);
+			}
+		}
+
+		return $mounted;
+	}
+
+	function umount_backup_dir($backup_dir, $mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_umount.sh'){
+		global $app, $conf;
+
+		if ( 	is_file($mount_cmd) &&
+				is_executable($mount_cmd) &&
+				fileowner($mount_cmd) === 0
+		) {
+			if ($this->is_mounted($backup_dir)){
+				exec($mount_cmd);
+				sleep(1);
+			}
+		}
+
+        $unmounted = $this->is_mounted($backup_dir) == 0 ? true : false;
+		if(!$unmounted) {
+			//* send email to admin that backup directory could not be unmounted
+			$global_config = $app->getconf->get_global_config('mail');
+			if($global_config['admin_mail'] != ''){
+				$subject = 'Backup directory '.$backup_dir.' could not be unmounted';
+				$message = "Backup directory ".$backup_dir." could not be unmounted.\n\nThe command\n\n".$mount_cmd."\n\nfailed.";
+				mail($global_config['admin_mail'], $subject, $message);
+			}
+		}
+
+		return $unmounted;
+
+	}
+
 	function getinitcommand($servicename, $action, $init_script_directory = ''){
 		global $conf;
 		// upstart

--
Gitblit v1.9.1