From 6dfc1f8aef2d75f5ca8fe694fb8ef27ef885b12c Mon Sep 17 00:00:00 2001
From: vogelor <vogelor@ispconfig3>
Date: Sat, 01 May 2010 18:15:28 -0400
Subject: [PATCH] Added a new module called "domain". With this module you can manage all domains (web + mail). Per default this module is not active. To activate it, you have to change the System Interface Config -> domains -> use the domain module. You also have to activate the domain-module for the admin (and for every client if you want). Important: you can not use this module if you have reseller!

---
 interface/web/admin/system_config_edit.php |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php
index 6107f20..f6a4c05 100644
--- a/interface/web/admin/system_config_edit.php
+++ b/interface/web/admin/system_config_edit.php
@@ -49,7 +49,8 @@
 $app->load('tform_actions');
 
 class page_action extends tform_actions {
-	
+
+
 	function onShowEdit() {
 		global $app, $conf;
 		
@@ -62,7 +63,11 @@
 			$server_id = $this->id;
 		
 			$this->dataRecord = $app->getconf->get_global_config($section);
-			
+			if ($section == 'domains'){
+				if (isset($this->dataRecord['use_domain_module'])){
+					$_SESSION['use_domain_module_old_value'] = $this->dataRecord['use_domain_module'];
+				}
+			}
 		}
 		
 		$record = $app->tform->getHTML($this->dataRecord, $this->active_tab,'EDIT');
@@ -86,6 +91,23 @@
 		
 		$sql = "UPDATE sys_ini SET config = '".$app->db->quote($server_config_str)."' WHERE sysini_id = 1";
 		$app->db->query($sql);
+
+		/*
+		 * If we should use the domain-module, we have to insert all existing domains into the table
+		 * (only the first time!)
+		 */
+		if (($section == 'domains') && 
+				($_SESSION['use_domain_module_old_value'] == '') &&
+				($server_config_array['domains']['use_domain_module'] == 'y')){
+			$sql = "REPLACE INTO domain (sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, domain ) " .
+				"SELECT sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, domain " .
+				"FROM mail_domain";
+			$app->db->query($sql);
+			$sql = "REPLACE INTO domain (sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, domain ) " .
+				"SELECT sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, domain " .
+				"FROM web_domain";
+			$app->db->query($sql);
+		}
 	}
 	
 }

--
Gitblit v1.9.1