From 6f4add6f715cfefa283f0087c98ccc8ae9edc62f Mon Sep 17 00:00:00 2001 From: wyrie <wyrie@ispconfig3> Date: Thu, 08 Apr 2010 13:59:59 -0400 Subject: [PATCH] Added support for datetime form encoding --- interface/lib/classes/remoting_lib.inc.php | 75 ++++++++++++++++++++++++------------- 1 files changed, 49 insertions(+), 26 deletions(-) diff --git a/interface/lib/classes/remoting_lib.inc.php b/interface/lib/classes/remoting_lib.inc.php index 1dbb5f2..df13dff 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; + } /** @@ -317,6 +324,18 @@ break; case 'CURRENCY': $new_record[$key] = str_replace(",",".",$record[$key]); + break; + + case 'DATETIME': + if (is_array($record[$key])) + { + $filtered_values = array_map(create_function('$item','return (int)$item;'), $record[$key]); + extract($filtered_values, EXTR_PREFIX_ALL, '_dt'); + + if ($_dt_day != 0 && $_dt_month != 0 && $_dt_year != 0) { + $new_record[$key] = date( 'Y-m-d H:i:s', mktime($_dt_hour, $_dt_minute, $_dt_second, $_dt_month, $_dt_day, $_dt_year) ); + } + } break; } @@ -485,8 +504,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 +533,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