From daff5cb75bce6d6b0cbed092c3b807bb04fade9b Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Thu, 31 May 2007 11:15:12 -0400 Subject: [PATCH] diverse updates. --- interface/lib/classes/tform.inc.php | 29 ++++++++++++++++++----------- 1 files changed, 18 insertions(+), 11 deletions(-) diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php index 0fed37f..bdcbaed 100644 --- a/interface/lib/classes/tform.inc.php +++ b/interface/lib/classes/tform.inc.php @@ -104,10 +104,11 @@ var $errorMessage = ''; var $dateformat = "d.m.Y"; - var $formDef; + var $formDef; var $wordbook; var $module; var $primary_id; + var $diffrec = array(); /** * Laden der Tabellendefinition @@ -611,7 +612,7 @@ $validator_class = $validator['class']; $validator_function = $validator['function']; $app->uses($validator_class); - $this->errorMessage .= $app->$validator_class->$validator_function($validator); + $this->errorMessage .= $app->$validator_class->$validator_function($field_name, $field_value, $validator); } else { $this->errorMessage .= "Custom validator class or function is empty<br>\r\n"; } @@ -643,11 +644,11 @@ if(count($this->formDef['tabs'][$tab]['fields']) == 0) return ''; // checking permissions - if($this->formDef['auth'] == 'yes') { + if($this->formDef['auth'] == 'yes' && $_SESSION["s"]["user"]["typ"] != 'admin') { if($action == "INSERT") { if(!$this->checkPerm($primary_id,'i')) $this->errorMessage .= "Insert denied.<br>\r\n"; } else { - if(!$this->checkPerm($primary_id,'u')) $this->errorMessage .= "Insert denied.<br>\r\n"; + if(!$this->checkPerm($primary_id,'u')) $this->errorMessage .= "Update denied.<br>\r\n"; } } @@ -852,6 +853,9 @@ // Insert the server_id, if the record has a server_id $server_id = ($record_old["server_id"] > 0)?$record_old["server_id"]:0; + if(isset($record_new["server_id"])) $server_id = $record_new["server_id"]; + + $this->diffrec = $diffrec; if(count($diffrec) > 0) { @@ -872,14 +876,17 @@ } function getAuthSQL($perm) { + if($_SESSION["s"]["user"]["typ"] == 'admin') { + return '1'; + } else { + $sql = '('; + $sql .= "(sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND sys_perm_user like '%$perm%') OR "; + $sql .= "(sys_groupid IN (".$_SESSION["s"]["user"]["groups"].") AND sys_perm_group like '%$perm%') OR "; + $sql .= "sys_perm_other like '%$perm%'"; + $sql .= ')'; - $sql = '('; - $sql .= "(sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND sys_perm_user like '%$perm%') OR "; - $sql .= "(sys_groupid IN (".$_SESSION["s"]["user"]["groups"].") AND sys_perm_group like '%$perm%') OR "; - $sql .= "sys_perm_other like '%$perm%'"; - $sql .= ')'; - - return $sql; + return $sql; + } } /* -- Gitblit v1.9.1