From aa370627b211a51dc46891cfa4b6e3d2ef3e52db Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Tue, 16 Jul 2013 10:45:17 -0400
Subject: [PATCH] - Fixed FS#2924 - the month will not set automatically in the autoresponder by click now   Along with this fixed some display problems with the combo boxes introduced in 3.0.5.   Some fields were not correctly displayed with the predefined values if value and text of the underlying option element differ.

---
 interface/lib/classes/auth.inc.php |   54 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php
index 707aab4..50d4950 100644
--- a/interface/lib/classes/auth.inc.php
+++ b/interface/lib/classes/auth.inc.php
@@ -29,6 +29,12 @@
 */
 
 class auth {
+	var $client_limits = null;
+
+	public function get_user_id()
+	{
+		return $_SESSION['s']['user']['userid'];
+	}
 	
 	public function is_admin() {
 		if($_SESSION['s']['user']['typ'] == 'admin') {
@@ -36,12 +42,12 @@
 		} else {
 			return false;
 		}
-	}
+	}	
 	
 	public function has_clients($userid) {
 		global $app, $conf;
 		
-		$userid = intval($userid);
+		$userid = $app->functions->intval($userid);
 		$client = $app->db->queryOneRecord("SELECT client.limit_client FROM sys_user, client WHERE sys_user.userid = $userid AND sys_user.client_id = client.client_id");
 		if($client['limit_client'] > 0) {
 			return true;
@@ -54,8 +60,8 @@
 	public function add_group_to_user($userid,$groupid) {
 		global $app;
 		
-		$userid = intval($userid);
-		$groupid = intval($groupid);
+		$userid = $app->functions->intval($userid);
+		$groupid = $app->functions->intval($groupid);
 		
 		if($userid > 0 && $groupid > 0) {
 			$user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE userid = $userid");
@@ -69,13 +75,31 @@
 			return false;
 		}
 	}
+
+	//** This function returns given client limit as integer, -1 means no limit
+	public function get_client_limit($userid, $limitname)
+	{
+		global $app;
+		
+		// simple query cache
+		if($this->client_limits===null) 
+			$this->client_limits = $app->db->queryOneRecord("SELECT client.* FROM sys_user, client WHERE sys_user.userid = $userid AND sys_user.client_id = client.client_id");
+		
+		// isn't client -> no limit
+		if(!$this->client_limits)
+			return -1;
+		
+		if(isset($this->client_limits['limit_'.$limitname])) {
+			return $this->client_limits['limit_'.$limitname];
+		}		
+	}	
 	
 	//** This function removes a given group id from a given user.
 	public function remove_group_from_user($userid,$groupid) {
 		global $app;
 		
-		$userid = intval($userid);
-		$groupid = intval($groupid);
+		$userid = $app->functions->intval($userid);
+		$groupid = $app->functions->intval($groupid);
 		
 		if($userid > 0 && $groupid > 0) {
 			$user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE userid = $userid");
@@ -100,7 +124,25 @@
 		}
 	}
 	
+	public function get_random_password($length = 8) {
+		$base64_alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+		$password = '';
+		for ($n=0;$n<$length;$n++) {
+			$password.=$base64_alphabet[mt_rand(0,63)];
+		}
+		return $password;
+	}
 	
+	public function crypt_password($cleartext_password) {
+		$salt="$1$";
+		$base64_alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+		for ($n=0;$n<8;$n++) {
+			$salt.=$base64_alphabet[mt_rand(0,63)];
+		}
+		$salt.="$";
+		return crypt($cleartext_password,$salt);
+	}
+		
 }
 
 ?>
\ No newline at end of file

--
Gitblit v1.9.1