From dee987b263b021b990ea4c62cb15be47c6d61fb5 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 05 Jan 2015 08:30:12 -0500
Subject: [PATCH] Merge branch 'master' into 'master'

---
 server/plugins-available/nginx_plugin.inc.php |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 77ac10a..c256ae1 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -1089,7 +1089,16 @@
 
 		// Custom nginx directives
 		$final_nginx_directives = array();
-		$nginx_directives = $data['new']['nginx_directives'];
+		if(intval($data['new']['directive_snippets_id']) > 0){
+			$snippet = $app->db->queryOneRecord("SELECT * FROM directive_snippets WHERE directive_snippets_id = ? AND type = 'nginx' AND active = 'y' AND customer_viewable = 'y'", intval($data['new']['directive_snippets_id']));
+			if(isset($snippet['snippet'])){
+				$nginx_directives = $snippet['snippet'];
+			} else {
+				$nginx_directives = $data['new']['nginx_directives'];
+			}
+		} else {
+			$nginx_directives = $data['new']['nginx_directives'];
+		}
 		// Make sure we only have Unix linebreaks
 		$nginx_directives = str_replace("\r\n", "\n", $nginx_directives);
 		$nginx_directives = str_replace("\r", "\n", $nginx_directives);
@@ -2046,6 +2055,28 @@
 				$this->awstats_delete($data, $web_config);
 			}
 
+			//* Delete the web-backups
+			if($data['old']['type'] == 'vhost') {
+				$server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
+				$backup_dir = $server_config['backup_dir'];
+				$mount_backup = true;
+				if($server_config['backup_dir'] != '' && $server_config['backup_delete'] == 'y') {
+					//* mount backup directory, if necessary
+					if( $server_config['backup_dir_is_mount'] == 'y' && !$app->system->mount_backup_dir($backup_dir) ) $mount_backup = false;
+					if($mount_backup){
+						$web_backup_dir = $backup_dir.'/web'.$data_old['domain_id'];
+						//** do not use rm -rf $web_backup_dir because database(s) may exits
+						exec(escapeshellcmd('rm -f '.$web_backup_dir.'/web'.$data_old['domain_id'].'_').'*');
+						//* cleanup database
+						$sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename LIKE ?";
+						$app->db->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
+						if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
+
+						$app->log('Deleted the web backup files', LOGLEVEL_DEBUG);
+					}
+				}
+			}
+
 			$app->services->restartServiceDelayed('httpd', 'reload');
 
 		}

--
Gitblit v1.9.1