From 7799a89f4f5d08509b1eb609fff82bd214138055 Mon Sep 17 00:00:00 2001 From: artem Date: Thu, 10 Jul 2008 10:12:25 +0000 Subject: - [DEV-137] removed unnecessary column rights.type (Artem) git-svn-id: svn://svn.zabbix.com/trunk@5823 97f52cf1-0a1b-0410-bd0e-c28be96e8082 --- frontends/php/include/forms.inc.php | 59 +++++++++++++++++-------------------- frontends/php/include/perm.inc.php | 26 +++++++--------- frontends/php/include/users.inc.php | 20 ++++++------- frontends/php/popup_right.php | 5 ++-- frontends/php/users.php | 2 +- 5 files changed, 49 insertions(+), 63 deletions(-) (limited to 'frontends/php') diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php index f7724cff..51160467 100644 --- a/frontends/php/include/forms.inc.php +++ b/frontends/php/include/forms.inc.php @@ -681,8 +681,11 @@ $user_groups = array(); $user_medias = array(); - $db_user_groups = DBselect('SELECT g.* FROM usrgrp g, users_groups ug'. - ' WHERE ug.usrgrpid=g.usrgrpid AND ug.userid='.$userid); + $sql = 'SELECT g.* '. + ' FROM usrgrp g, users_groups ug '. + ' WHERE ug.usrgrpid=g.usrgrpid '. + ' AND ug.userid='.$userid; + $db_user_groups = DBselect($sql); while($db_group = DBfetch($db_user_groups)){ $user_groups[$db_group['usrgrpid']] = $db_group['name']; @@ -895,23 +898,20 @@ $tmp_perm = array(); while($db_right = DBfetch($db_rights)){ - if(isset($tmp_perm[$db_right['type']][$db_right['id']])){ - $tmp_perm[$db_right['type']][$db_right['id']] = min($tmp_perm[$db_right['type']][$db_right['id']],$db_right['permission']); + if(isset($tmp_perm[$db_right['id']])){ + $tmp_perm[$db_right['id']] = min($tmp_perm[$db_right['id']],$db_right['permission']); } else{ - $tmp_perm[$db_right['type']][$db_right['id']] = $db_right['permission']; + $tmp_perm[$db_right['id']] = $db_right['permission']; } } $user_rights = array(); - foreach($tmp_perm as $type => $res){ - foreach($res as $id => $perm){ - array_push($user_rights, array( - 'type' => $type, - 'id' => $id, - 'permission' => $perm - )); - } + foreach($tmp_perm as $id => $perm){ + array_push($user_rights, array( + 'id' => $id, + 'permission' => $perm + )); } //SDI($user_rights); //SDI($user_type); @@ -963,26 +963,21 @@ $group_users[$db_user["userid"]] = $db_user['alias']; $group_rights = array(); - $sqls = array( - 'SELECT r.*,n.name as name FROM rights r, nodes n WHERE r.groupid='.$_REQUEST["usrgrpid"]. - ' AND r.type='.RESOURCE_TYPE_NODE.' AND r.id=n.nodeid', - 'SELECT r.*, n.name as node_name, g.name as name FROM groups g '. - ' LEFT JOIN rights r on r.type='.RESOURCE_TYPE_GROUP.' AND r.id=g.groupid '. - ' LEFT JOIN nodes n on n.nodeid='.DBid2nodeid('g.groupid'). - ' WHERE r.groupid='.$_REQUEST["usrgrpid"], + $sql = 'SELECT r.*, n.name as node_name, g.name as name '. + ' FROM groups g '. + ' LEFT JOIN rights r on r.id=g.groupid '. + ' LEFT JOIN nodes n on n.nodeid='.DBid2nodeid('g.groupid'). + ' WHERE r.groupid='.$_REQUEST["usrgrpid"]; + + $db_rights = DBselect($sql); + while($db_right = DBfetch($db_rights)){ + if(isset($db_right['node_name'])) + $db_right['name'] = $db_right['node_name'].':'.$db_right['name']; + + $group_rights[$db_right['name']] = array( + 'permission' => $db_right['permission'], + 'id' => $db_right['id'] ); - foreach($sqls as $sql){ - $db_rights = DBselect($sql); - while($db_right = DBfetch($db_rights)){ - if(isset($db_right['node_name'])) - $db_right['name'] = $db_right['node_name'].':'.$db_right['name']; - - $group_rights[$db_right['name']] = array( - 'type' => $db_right['type'], - 'permission' => $db_right['permission'], - 'id' => $db_right['id'] - ); - } } } else{ diff --git a/frontends/php/include/perm.inc.php b/frontends/php/include/perm.inc.php index 5fd080c3..9d74caa4 100644 --- a/frontends/php/include/perm.inc.php +++ b/frontends/php/include/perm.inc.php @@ -304,7 +304,7 @@ COpt::counter_up('perm'); ' FROM hosts h '. ' LEFT JOIN hosts_groups hg ON hg.hostid=h.hostid '. ' LEFT JOIN groups g ON g.groupid=hg.groupid '. - ' LEFT JOIN rights r ON r.id=g.groupid and r.type='.RESOURCE_TYPE_GROUP. + ' LEFT JOIN rights r ON r.id=g.groupid '. ' LEFT JOIN users_groups ug ON ug.usrgrpid=r.groupid and ug.userid='.$userid. ' LEFT JOIN nodes n ON '.DBid2nodeid('h.hostid').'=n.nodeid '. $where. @@ -386,7 +386,7 @@ COpt::counter_up('perm'); $sql = 'SELECT n.nodeid as nodeid,n.name as node_name,hg.groupid,hg.name,min(r.permission) as permission,g.userid'. ' FROM groups hg '. - ' LEFT JOIN rights r ON r.id=hg.groupid AND r.type='.RESOURCE_TYPE_GROUP. + ' LEFT JOIN rights r ON r.id=hg.groupid '. ' LEFT JOIN users_groups g ON r.groupid=g.usrgrpid AND g.userid='.$userid. ' LEFT JOIN nodes n ON '.DBid2nodeid('hg.groupid').'=n.nodeid '. $where. @@ -538,8 +538,8 @@ function get_accessible_hosts_by_rights(&$rights,$user_type,$perm,$perm_res=null $result = array(); $res_perm = array(); - foreach($rights as $right){ - $res_perm[$right['type']][$right['id']] = $right['permission']; + foreach($rights as $id => $right){ + $res_perm[$right['id']] = $right['permission']; } $host_perm = array(); @@ -557,14 +557,9 @@ function get_accessible_hosts_by_rights(&$rights,$user_type,$perm,$perm_res=null $db_hosts = DBselect($sql); while($host_data = DBfetch($db_hosts)){ - if(isset($host_data['groupid']) && isset($res_perm[RESOURCE_TYPE_GROUP][$host_data['groupid']])){ - $host_perm[$host_data['hostid']][RESOURCE_TYPE_GROUP][$host_data['groupid']] = $res_perm[RESOURCE_TYPE_GROUP][$host_data['groupid']]; - } - - if(isset($res_perm[RESOURCE_TYPE_NODE][$host_data['nodeid']])){ - $host_perm[$host_data['hostid']][RESOURCE_TYPE_NODE] = $res_perm[RESOURCE_TYPE_NODE][$host_data['nodeid']]; - } - + if(isset($host_data['groupid']) && isset($res_perm[$host_data['groupid']])){ + $host_perm[$host_data['hostid']][$host_data['groupid']] = $res_perm[$host_data['groupid']]; + } $host_perm[$host_data['hostid']]['data'] = $host_data; } @@ -576,8 +571,8 @@ function get_accessible_hosts_by_rights(&$rights,$user_type,$perm,$perm_res=null $host_data['permission'] = PERM_MAX; } else{ - if(isset($host_perm[$hostid][RESOURCE_TYPE_GROUP])){ - $host_data['permission'] = min($host_perm[$hostid][RESOURCE_TYPE_GROUP]); + if(isset($host_perm[$hostid])){ + $host_data['permission'] = min($host_perm[$hostid]); } else{ if(is_null($host_data['nodeid'])) $host_data['nodeid'] = id2nodeid($host_data['groupid']); @@ -619,8 +614,7 @@ function get_accessible_groups_by_rights(&$rights,$user_type,$perm,$perm_res=nul else $where = ''; $group_perm = array(); - foreach($rights as $right){ - if($right['type'] != RESOURCE_TYPE_GROUP) continue; + foreach($rights as $id => $right){ $group_perm[$right['id']] = $right['permission']; } diff --git a/frontends/php/include/users.inc.php b/frontends/php/include/users.inc.php index 402eafb6..2cf72f69 100644 --- a/frontends/php/include/users.inc.php +++ b/frontends/php/include/users.inc.php @@ -97,8 +97,7 @@ # Update User definition - function update_user($userid,$name,$surname,$alias,$passwd,$url,$autologin,$autologout,$lang,$theme,$refresh,$user_type,$user_groups,$user_medias) - { + function update_user($userid,$name,$surname,$alias,$passwd,$url,$autologin,$autologout,$lang,$theme,$refresh,$user_type,$user_groups,$user_medias){ if(DBfetch(DBselect("select * from users where alias=".zbx_dbstr($alias)." and userid<>$userid and ".DBin_node('userid', get_current_nodeid(false))))){ error("User '$alias' already exists"); return 0; @@ -276,10 +275,9 @@ USER GROUPS **************************/ - function add_user_group($name,$users_status,$gui_access,$users=array(),$rights=array()){ + function add_user_group($name,$users_status,$gui_access,$users=array(),$rights=array()){ - if(DBfetch(DBselect('select * from usrgrp where name='.zbx_dbstr($name).' and '.DBin_node('usrgrpid', get_current_nodeid(false))))) - { + if(DBfetch(DBselect('select * from usrgrp where name='.zbx_dbstr($name).' and '.DBin_node('usrgrpid', get_current_nodeid(false))))){ error("Group '$name' already exists"); return 0; } @@ -303,8 +301,8 @@ $result=DBexecute("delete from rights where groupid=".$usrgrpid); foreach($rights as $right){ $id = get_dbid('rights','rightid'); - $result=DBexecute('insert into rights (rightid,groupid,type,permission,id)'. - ' values ('.$id.','.$usrgrpid.','.$right['type'].','.$right['permission'].','.$right['id'].')'); + $result=DBexecute('insert into rights (rightid,groupid,permission,id)'. + ' values ('.$id.','.$usrgrpid.','.$right['permission'].','.$right['id'].')'); if(!$result) return $result; } @@ -312,7 +310,7 @@ return $result; } - function update_user_group($usrgrpid,$name,$users_status,$gui_access,$users=array(),$rights=array()){ + function update_user_group($usrgrpid,$name,$users_status,$gui_access,$users=array(),$rights=array()){ global $USER_DETAILS; if(DBfetch(DBselect('select * from usrgrp where name='.zbx_dbstr($name). @@ -350,13 +348,13 @@ $result=DBexecute("delete from rights where groupid=".$usrgrpid); foreach($rights as $right){ $id = get_dbid('rights','rightid'); - $result=DBexecute('insert into rights (rightid,groupid,type,permission,id)'. - ' values ('.$id.','.$usrgrpid.','.$right['type'].','.$right['permission'].','.$right['id'].')'); + $result=DBexecute('insert into rights (rightid,groupid,permission,id)'. + ' values ('.$id.','.$usrgrpid.','.$right['permission'].','.$right['id'].')'); if(!$result) return $result; } - return $result; + return $result; } function delete_user_group($usrgrpid){ diff --git a/frontends/php/popup_right.php b/frontends/php/popup_right.php index e952b813..c9aa2033 100644 --- a/frontends/php/popup_right.php +++ b/frontends/php/popup_right.php @@ -57,7 +57,7 @@ function add_var_to_opener_obj(obj,name,value){ obj.appendChild(new_variable); } -function add_right(formname,type,id,permission,name){ +function add_right(formname,id,permission,name){ var form = window.opener.document.forms[formname]; if(!form){ @@ -65,7 +65,6 @@ function add_right(formname,type,id,permission,name){ return false; } - add_var_to_opener_obj(form,'new_right[type]',type); add_var_to_opener_obj(form,'new_right[id]',id); add_var_to_opener_obj(form,'new_right[permission]',permission); add_var_to_opener_obj(form,'new_right[name]',name); @@ -114,7 +113,7 @@ function add_right(formname,type,id,permission,name){ $db_resource['name'] = $db_resource['node_name'].':'.$db_resource['name']; $name = new CLink($db_resource['name'],'#','action'); - $name->SetAction("return add_right('".$dstfrm."','".$type."','".$db_resource['id']."','".$permission."','".$db_resource['name']."');"); + $name->SetAction("return add_right('".$dstfrm."','".$db_resource['id']."','".$permission."','".$db_resource['name']."');"); $table->AddRow(array($name)); } diff --git a/frontends/php/users.php b/frontends/php/users.php index ce4b1461..5c9db6bd 100644 --- a/frontends/php/users.php +++ b/frontends/php/users.php @@ -309,7 +309,7 @@ include_once 'include/page_header.php'; } else if(isset($_REQUEST['new_right'])){ $_REQUEST['group_rights'] = get_request('group_rights', array()); - foreach(array('type', 'id', 'permission') as $fld_name) + foreach(array('id', 'permission') as $fld_name) $_REQUEST['group_rights'][$_REQUEST['new_right']['name']][$fld_name] = $_REQUEST['new_right'][$fld_name]; } else if(isset($_REQUEST['new_user'])){ -- cgit