From c86da31b33c57df2e2cc611bf088be70830bcd0c Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sun, 21 Mar 2010 07:05:13 -0400
Subject: [PATCH] Fixed: FS#1111 - Delete an 'in use' template should be blocked

---
 interface/lib/classes/remoting_lib.inc.php |   63 ++++++++++++++++++-------------
 1 files changed, 37 insertions(+), 26 deletions(-)

diff --git a/interface/lib/classes/remoting_lib.inc.php b/interface/lib/classes/remoting_lib.inc.php
index 1dbb5f2..26153c4 100644
--- a/interface/lib/classes/remoting_lib.inc.php
+++ b/interface/lib/classes/remoting_lib.inc.php
@@ -139,31 +139,38 @@
 		
 		//* Load the user profile
 		function loadUserProfile($client_id = 0) {
-      global $app,$conf;
+			global $app,$conf;
+
+			$client_id = intval($client_id);
             
-      $client_id = intval($client_id);
-            
-      if($client_id == 0) {
-        $this->sys_username         = 'admin';
-        $this->sys_userid            = 1;
-        $this->sys_default_group     = 1;
-        $this->sys_groups            = 1;
-      } else {
-        //* load system user
-        $user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE sysuser_id = $client_id");
-        if(empty($user["userid"])) {
-          $this->errorMessage .= 'No sysuser with the ID $client_id found.';
-          return false;
-        }
-        $this->sys_username         = $user['username'];
-        $this->sys_userid            = $user['userid'];
-        $this->sys_default_group     = $user['default_group'];
-        $this->sys_groups             = $user['groups'];
-      }
-            
-      return true;
-            
-    }  
+			if($client_id == 0) {
+				$this->sys_username         = 'admin';
+				$this->sys_userid            = 1;
+				$this->sys_default_group     = 1;
+				$this->sys_groups            = 1;
+				$_SESSION["s"]["user"]["typ"] = 'admin';
+			} else {
+				//* load system user - try with sysuser and before with userid (workarrond)
+				/*
+				$user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE sysuser_id = $client_id");
+				if(empty($user["userid"])) {
+						$user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE userid = $client_id");		
+						if(empty($user["userid"])) {
+								$this->errorMessage .= "No sysuser with the ID $client_id found.";
+								return false;
+						}
+				}*/
+				
+				$user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE client_id = $client_id");
+				$this->sys_username         = $user['username'];
+				$this->sys_userid            = $user['userid'];
+				$this->sys_default_group     = $user['default_group'];
+				$this->sys_groups             = $user['groups'];
+				$_SESSION["s"]["user"]["typ"] = $user['typ'];
+			}
+
+		return true;
+	    }  
 
 
         /**
@@ -485,8 +492,10 @@
                                                         $sql_insert_key .= "`$key`, ";
                                                         if($field['encryption'] == 'CRYPT') {
                                                                 $salt="$1$";
+																$base64_alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
 																for ($n=0;$n<8;$n++) {
-																	$salt.=chr(mt_rand(64,126));
+																	//$salt.=chr(mt_rand(64,126));
+																	$salt.=$base64_alphabet[mt_rand(0,63)];
 																}
 																$salt.="$";
 																// $salt = substr(md5(time()),0,2);
@@ -512,8 +521,10 @@
                                                 if($field['formtype'] == 'PASSWORD') {
 														if($field['encryption'] == 'CRYPT') {
                                                                 $salt="$1$";
+																$base64_alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
 																for ($n=0;$n<8;$n++) {
-																	$salt.=chr(mt_rand(64,126));
+																	//$salt.=chr(mt_rand(64,126));
+																	$salt.=$base64_alphabet[mt_rand(0,63)];
 																}
 																$salt.="$";
 																// $salt = substr(md5(time()),0,2);

--
Gitblit v1.9.1