From 6e558a923a960e27ba4c14baeeb31c24a872327f Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Tue, 20 Sep 2011 12:05:41 -0400 Subject: [PATCH] - Added "listen.allowed_clients = 127.0.0.1" to the php_fpm_pool.conf.master templates. --- interface/lib/classes/remoting_lib.inc.php | 153 ++++++++++++++++++++++++++++++++++----------------- 1 files changed, 102 insertions(+), 51 deletions(-) diff --git a/interface/lib/classes/remoting_lib.inc.php b/interface/lib/classes/remoting_lib.inc.php index 1dbb5f2..8f001cd 100644 --- a/interface/lib/classes/remoting_lib.inc.php +++ b/interface/lib/classes/remoting_lib.inc.php @@ -139,31 +139,40 @@ //* 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']; + // we have to force admin priveliges for the remoting API as some function calls might fail otherwise. + $_SESSION["s"]["user"]["typ"] = 'admin'; + } + + return true; + } /** @@ -185,9 +194,16 @@ $new_record[$key] = stripslashes($record[$key]); break; - case 'DATE': + case 'DATETSTAMP': if($record[$key] > 0) { $new_record[$key] = date($this->dateformat,$record[$key]); + } + break; + + case 'DATE': + if($record[$key] != '' && $record[$key] != '0000-00-00') { + $tmp = explode('-',$record[$key]); + $new_record[$key] = date($this->dateformat,mktime(0, 0, 0, $tmp[1] , $tmp[2], $tmp[0])); } break; @@ -299,12 +315,30 @@ $new_record[$key] = implode($field['separator'],$record[$key]); } break; - case 'DATE': + case 'DATETSTAMP': if($record[$key] > 0) { list($tag,$monat,$jahr) = explode('.',$record[$key]); $new_record[$key] = mktime(0,0,0,$monat,$tag,$jahr); } else { $new_record[$key] = 0; + } + break; + case 'DATE': + if($record[$key] != '' && $record[$key] != '0000-00-00') { + if(function_exists('date_parse_from_format')) { + $date_parts = date_parse_from_format($this->dateformat,$record[$key]); + //list($tag,$monat,$jahr) = explode('.',$record[$key]); + $new_record[$key] = $date_parts['year'].'-'.$date_parts['month'].'-'.$date_parts['day']; + //$tmp = strptime($record[$key],$this->dateformat); + //$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday']; + } else { + //$tmp = strptime($record[$key],$this->dateformat); + //$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday']; + $tmp = strtotime($record[$key]); + $new_record[$key] = date('Y-m-d',$tmp); + } + } else { + $new_record[$key] = '0000-00-00'; } break; case 'INTEGER': @@ -317,6 +351,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; } @@ -484,13 +530,7 @@ if($field['formtype'] == 'PASSWORD') { $sql_insert_key .= "`$key`, "; if($field['encryption'] == 'CRYPT') { - $salt="$1$"; - for ($n=0;$n<8;$n++) { - $salt.=chr(mt_rand(64,126)); - } - $salt.="$"; - // $salt = substr(md5(time()),0,2); - $record[$key] = crypt($record[$key],$salt); + $record[$key] = $app->auth->crypt_password(stripslashes($record[$key])); } else { $record[$key] = md5($record[$key]); } @@ -511,13 +551,7 @@ } else { if($field['formtype'] == 'PASSWORD') { if($field['encryption'] == 'CRYPT') { - $salt="$1$"; - for ($n=0;$n<8;$n++) { - $salt.=chr(mt_rand(64,126)); - } - $salt.="$"; - // $salt = substr(md5(time()),0,2); - $record[$key] = crypt($record[$key],$salt); + $record[$key] = $app->auth->crypt_password(stripslashes($record[$key])); } else { $record[$key] = md5($record[$key]); } @@ -619,11 +653,23 @@ } function ispconfig_sysuser_add($params,$insert_id){ - global $app,$sql1; + global $conf,$app,$sql1; $username = $app->db->quote($params["username"]); $password = $app->db->quote($params["password"]); - $modules = 'mail,sites,dns,tools'; - $startmodule = 'mail'; + if(!isset($params['modules'])) { + $modules = $conf['interface_modules_enabled']; + } else { + $modules = $app->db->quote($params['modules']); + } + if(!isset($params['startmodule'])) { + $startmodule = 'dashboard'; + } else { + $startmodule = $app->db->quote($params["startmodule"]); + if(!preg_match('/'.$startmodule.'/',$modules)) { + $_modules = explode(',',$modules); + $startmodule=$_modules[0]; + } + } $usertheme = $app->db->quote($params["usertheme"]); $type = 'user'; $active = 1; @@ -631,17 +677,20 @@ $language = $app->db->quote($params["language"]); $groupid = $app->db->datalogInsert('sys_group', "(name,description,client_id) VALUES ('$username','','$insert_id')", 'groupid'); $groups = $groupid; + $password = $app->auth->crypt_password(stripslashes($password)); $sql1 = "INSERT INTO sys_user (username,passwort,modules,startmodule,app_theme,typ,active,language,groups,default_group,client_id) - VALUES ('$username',md5('$password'),'$modules','$startmodule','$usertheme','$type','$active','$language',$groups,$groupid,$insert_id)"; + VALUES ('$username','$password','$modules','$startmodule','$usertheme','$type','$active','$language',$groups,$groupid,$insert_id)"; $app->db->query($sql1); } function ispconfig_sysuser_update($params,$client_id){ global $app; $username = $app->db->quote($params["username"]); - $password = $app->db->quote($params["password"]); + $clear_password = $app->db->quote($params["password"]); $client_id = intval($client_id); - $sql = "UPDATE sys_user set username = '$username', passwort = md5('$password') WHERE client_id = $client_id"; + $password = $app->auth->crypt_password(stripslashes($clear_password)); + if ($clear_password) $pwstring = ", passwort = '$password'"; else $pwstring ="" ; + $sql = "UPDATE sys_user set username = '$username' $pwstring WHERE client_id = $client_id"; $app->db->query($sql); } @@ -650,10 +699,16 @@ $client_id = intval($client_id); $sql = "DELETE FROM sys_user WHERE client_id = $client_id"; $app->db->query($sql); + $sql = "DELETE FROM sys_group WHERE client_id = $client_id"; + $app->db->query($sql); } function datalogSave($action,$primary_id, $record_old, $record_new) { global $app,$conf; + + $app->db->datalogSave($this->formDef['db_table'], $action, $this->formDef['db_table_idx'], $primary_id, $record_old, $record_new); + return true; + /* if(stristr($this->formDef['db_table'],'.')) { $escape = ''; @@ -710,11 +765,6 @@ } } - /* - echo "<pre>"; - print_r($diffrec_full); - echo "</pre>"; - */ // Insert the server_id, if the record has a server_id $server_id = (isset($record_old["server_id"]) && $record_old["server_id"] > 0)?$record_old["server_id"]:0; @@ -734,6 +784,7 @@ } return true; + */ } -- Gitblit v1.9.1