From 97b47294fe522e4a0a524ca5d8f0a937557934b7 Mon Sep 17 00:00:00 2001
From: fantu <fantu@ispconfig3>
Date: Thu, 11 Dec 2008 06:46:28 -0500
Subject: [PATCH] Merge all language in mail module

---
 server/plugins-available/apache2_plugin.inc.php |   66 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 9 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 632fda5..b822f7c 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -36,6 +36,19 @@
 	// private variables
 	var $action = '';
 	
+	//* This function is called during ispconfig installation to determine
+	//  if a symlink shall be created for this plugin.
+	function onInstall() {
+		global $conf;
+		
+		if($conf['services']['web'] == true) {
+			return true;
+		} else {
+			return false;
+		}
+		
+	}
+	
 		
 	/*
 	 	This function is called when the plugin is loaded
@@ -186,9 +199,21 @@
 		if($this->action != 'insert') $this->action = 'update';
 		
 		if($data["new"]["type"] != "vhost" && $data["new"]["parent_domain_id"] > 0) {
+			
+			$old_parent_domain_id = intval($data["old"]["parent_domain_id"]);
+			$new_parent_domain_id = intval($data["new"]["parent_domain_id"]);
+			
+			// If the parent_domain_id has been chenged, we will have to update the old site as well.
+			if($data["new"]["parent_domain_id"] != $data["old"]["parent_domain_id"]) {
+				$tmp = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$old_parent_domain_id." AND active = 'y'");
+				$data["new"] = $tmp;
+				$data["old"] = $tmp;
+				$this->action = 'update';
+				$this->update($event_name,$data);
+			}
+			
 			// This is not a vhost, so we need to update the parent record instead.
-			$parent_domain_id = intval($data["new"]["parent_domain_id"]);
-			$tmp = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$parent_domain_id." AND active = 'y'");
+			$tmp = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$new_parent_domain_id." AND active = 'y'");
 			$data["new"] = $tmp;
 			$data["old"] = $tmp;
 			$this->action = 'update';
@@ -288,14 +313,34 @@
 		
 		if($this->action == 'insert' && $data["new"]["type"] == 'vhost') {
 			// Copy the error pages
-      if($data["new"]["errordocs"]){
-  			$error_page_path = escapeshellcmd($data["new"]["document_root"])."/web/error/";
-  			exec("cp /usr/local/ispconfig/server/conf/error/".substr(escapeshellcmd($conf["language"]),0,2)."/* ".$error_page_path);
-  			exec("chmod -R +r ".$error_page_path);
-      }
-      		
+			if($data["new"]["errordocs"]){
+				$error_page_path = escapeshellcmd($data["new"]["document_root"])."/web/error/";
+				if (file_exists("/usr/local/ispconfig/server/conf-custom/error/".substr(escapeshellcmd($conf["language"]),0,2))){
+					exec("cp /usr/local/ispconfig/server/conf-custom/error/".substr(escapeshellcmd($conf["language"]),0,2)."/* ".$error_page_path);
+				}
+				else {
+					if (file_exists("/usr/local/ispconfig/server/conf-custom/error/fileNotFound.html")){
+						exec("cp /usr/local/ispconfig/server/conf-custom/error/*.html ".$error_page_path);
+					}
+					else {
+						exec("cp /usr/local/ispconfig/server/conf/error/".substr(escapeshellcmd($conf["language"]),0,2)."/* ".$error_page_path);
+					}
+				}
+				exec("chmod -R +r ".$error_page_path);
+			}
+
 			// copy the standard index page
-			exec("cp /usr/local/ispconfig/server/conf/index/standard_index.html_".substr(escapeshellcmd($conf["language"]),0,2)." ".escapeshellcmd($data["new"]["document_root"])."/web/index.html");
+			if (file_exists("/usr/local/ispconfig/server/conf-custom/index/standard_index.html_".substr(escapeshellcmd($conf["language"]),0,2))){
+				exec("cp /usr/local/ispconfig/server/conf-custom/index/standard_index.html_".substr(escapeshellcmd($conf["language"]),0,2)." ".escapeshellcmd($data["new"]["document_root"])."/web/index.html");
+			}
+			else {
+				if (file_exists("/usr/local/ispconfig/server/conf-custom/index/standard_index.html")){
+					exec("cp /usr/local/ispconfig/server/conf-custom/index/standard_index.html ".escapeshellcmd($data["new"]["document_root"])."/web/index.html");
+				}
+				else {
+					exec("cp /usr/local/ispconfig/server/conf/index/standard_index.html_".substr(escapeshellcmd($conf["language"]),0,2)." ".escapeshellcmd($data["new"]["document_root"])."/web/index.html");
+				}
+			}
 			exec("chmod +r ".escapeshellcmd($data["new"]["document_root"])."/web/index.html");
 		}
 		
@@ -331,6 +376,9 @@
 		// Chown and chmod the directories
 		exec("chown -R $username:$groupname ".escapeshellcmd($data["new"]["document_root"]));
 		
+		// make temp direcory writable for the apache user and the website user
+		exec("chmod 777 ".escapeshellcmd($data["new"]["document_root"]."/tmp"));
+		
 		
 		// Create the vhost config file
 		$app->load('tpl');

--
Gitblit v1.9.1