From 886a3b89ce80f5cd2d463c83747402ed3a35ca91 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 02 Sep 2009 05:00:28 -0400
Subject: [PATCH] Fixed a problem that a site is assigned to the wrong client when it is created by a reseller.

---
 interface/web/sites/shell_user_edit.php |    2 +-
 interface/web/sites/tools.inc.php       |    4 ++--
 interface/web/sites/web_domain_edit.php |    4 ++--
 interface/web/sites/ftp_user_edit.php   |    2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/interface/web/sites/ftp_user_edit.php b/interface/web/sites/ftp_user_edit.php
index 511ac90..e286fab 100644
--- a/interface/web/sites/ftp_user_edit.php
+++ b/interface/web/sites/ftp_user_edit.php
@@ -184,7 +184,7 @@
 	function getClientName() {
 		global $app, $conf;
 	
-		if($_SESSION["s"]["user"]["typ"] != 'admin') {
+		if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
 			// Get the group-id of the user
 			$client_group_id = $_SESSION["s"]["user"]["default_group"];
 		} else {
diff --git a/interface/web/sites/shell_user_edit.php b/interface/web/sites/shell_user_edit.php
index 422c8a1..c3102cd 100644
--- a/interface/web/sites/shell_user_edit.php
+++ b/interface/web/sites/shell_user_edit.php
@@ -198,7 +198,7 @@
 	function getClientName() {
 		global $app, $conf;
 	
-		if($_SESSION["s"]["user"]["typ"] != 'admin') {
+		if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
 			// Get the group-id of the user
 			$client_group_id = $_SESSION["s"]["user"]["default_group"];
 		} else {
diff --git a/interface/web/sites/tools.inc.php b/interface/web/sites/tools.inc.php
index 81de9f6..d4e4c3e 100644
--- a/interface/web/sites/tools.inc.php
+++ b/interface/web/sites/tools.inc.php
@@ -53,7 +53,7 @@
 function getClientName($dataRecord) {
     global $app, $conf;
 
-    if($_SESSION["s"]["user"]["typ"] != 'admin') {
+    if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
     	// Get the group-id of the user
     	$client_group_id = $_SESSION["s"]["user"]["default_group"];
     } else {
@@ -79,7 +79,7 @@
 function getClientID($dataRecord) {
     global $app, $conf;
 
-    if($_SESSION["s"]["user"]["typ"] != 'admin') {
+    if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
     	// Get the group-id of the user
     	$client_group_id = $_SESSION["s"]["user"]["default_group"];
     } else {
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index a019b04..1e197f9 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -254,7 +254,7 @@
 		$document_root = str_replace("[website_id]",$this->id,$web_config["website_path"]);
 		
 		// get the ID of the client
-		if($_SESSION["s"]["user"]["typ"] != 'admin') {
+		if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
 			$client_group_id = $_SESSION["s"]["user"]["default_group"];
 			$client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = $client_group_id");
 			$client_id = intval($client["client_id"]);
@@ -342,7 +342,7 @@
 			$client_id = intval($client["client_id"]);
 		}
 		
-		if($_SESSION["s"]["user"]["typ"] == 'admin' &&  isset($this->dataRecord["client_group_id"]) && $this->dataRecord["client_group_id"] != $this->oldDataRecord["client_group_id"]) {
+		if(($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) &&  isset($this->dataRecord["client_group_id"]) && $this->dataRecord["client_group_id"] != $this->oldDataRecord["client_group_id"]) {
 			// Set the values for document_root, system_user and system_group
 			$system_user = 'web'.$this->id;
 			$system_group = 'client'.$client_id;

--
Gitblit v1.9.1