From aa78fde6a92f66b84d626e114d8b54a5fb6ece0c Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Wed, 14 Nov 2012 07:19:43 -0500 Subject: [PATCH] - Added function for IPv6 prefixes in multiserver mirror setups to nginx plugin. --- interface/lib/classes/remoting_lib.inc.php | 48 +++++++++++++++++++++++++----------------------- 1 files changed, 25 insertions(+), 23 deletions(-) diff --git a/interface/lib/classes/remoting_lib.inc.php b/interface/lib/classes/remoting_lib.inc.php index 67ad855..9726b75 100644 --- a/interface/lib/classes/remoting_lib.inc.php +++ b/interface/lib/classes/remoting_lib.inc.php @@ -113,6 +113,7 @@ var $sys_userid; var $sys_default_group; var $sys_groups; + var $client_id; //* Load the form definition from file. @@ -136,12 +137,12 @@ } //* Load the user profile - function loadUserProfile($client_id = 0) { + function loadUserProfile($client_id_param = 0) { global $app,$conf; - $client_id = $app->functions->intval($client_id); + $this->client_id = $app->functions->intval($client_id_param); - if($client_id == 0) { + if($this->client_id == 0) { $this->sys_username = 'admin'; $this->sys_userid = 1; $this->sys_default_group = 1; @@ -159,7 +160,7 @@ } }*/ - $user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE client_id = $client_id"); + $user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE client_id = $this->client_id"); $this->sys_username = $user['username']; $this->sys_userid = $user['userid']; $this->sys_default_group = $user['default_group']; @@ -418,18 +419,10 @@ $returnval = strtoupper($field_value); break; case 'IDNTOASCII': - if(function_exists('idn_to_ascii')) { - $returnval = idn_to_ascii($field_value); - } else { - $returnval = $field_value; - } + $returnval = $app->functions->idn_encode($field_value); break; case 'IDNTOUTF8': - if(function_exists('idn_to_utf8')) { - $returnval = idn_to_utf8($field_value); - } else { - $returnval = $field_value; - } + $returnval = $app->functions->idn_decode($field_value); break; default: $this->errorMessage .= "Unknown Filter: ".$filter['type']; @@ -679,13 +672,13 @@ if($action == "INSERT") { if($field['formtype'] == 'PASSWORD') { $sql_insert_key .= "`$key`, "; - if($field['encryption'] == 'CRYPT') { + if ((isset($field['encryption']) && $field['encryption'] == 'CLEARTEXT') || (isset($record['_ispconfig_pw_crypted']) && $record['_ispconfig_pw_crypted'] == 1)) { + $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; + } elseif(isset($field['encryption']) && $field['encryption'] == 'CRYPT') { $record[$key] = $app->auth->crypt_password(stripslashes($record[$key])); $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; - } elseif ($field['encryption'] == 'MYSQL') { + } elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') { $sql_insert_val .= "PASSWORD('".$app->db->quote($record[$key])."'), "; - } elseif ($field['encryption'] == 'CLEARTEXT') { - $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; } else { $record[$key] = md5(stripslashes($record[$key])); $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; @@ -706,14 +699,14 @@ } } else { if($field['formtype'] == 'PASSWORD') { - if(isset($field['encryption']) && $field['encryption'] == 'CRYPT') { + if ((isset($field['encryption']) && $field['encryption'] == 'CLEARTEXT') || (isset($record['_ispconfig_pw_crypted']) && $record['_ispconfig_pw_crypted'] == 1)) { + $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; + } elseif(isset($field['encryption']) && $field['encryption'] == 'CRYPT') { $record[$key] = $app->auth->crypt_password(stripslashes($record[$key])); $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; } elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') { $sql_update .= "`$key` = PASSWORD('".$app->db->quote($record[$key])."'), "; - } elseif (isset($field['encryption']) && $field['encryption'] == 'CLEARTEXT') { - $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; - } else { + } else { $record[$key] = md5(stripslashes($record[$key])); $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; } @@ -766,7 +759,12 @@ $sql = "INSERT INTO ".$escape.$this->formDef['db_table'].$escape." ($sql_insert_key) VALUES ($sql_insert_val)"; } else { if($primary_id != 0) { - $sql_update = substr($sql_update,0,-2); + // update client permissions only if client_id > 0 + if($this->formDef['auth'] == 'yes' && $this->client_id > 0) { + $sql_update .= '`sys_userid` = '.$this->sys_userid.', '; + $sql_update .= '`sys_groupid` = '.$this->sys_default_group.', '; + } + $sql_update = substr($sql_update,0,-2); $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id; if($sql_ext_where != '') $sql .= " and ".$sql_ext_where; } else { @@ -827,6 +825,10 @@ } else { $modules = $app->db->quote($params['modules']); } + if(isset($params['limit_client']) && $params['limit_client'] > 0) { + $modules .= ',client'; + } + if(!isset($params['startmodule'])) { $startmodule = 'dashboard'; } else { -- Gitblit v1.9.1