array(T_ZBX_STR, O_MAND,P_SYS, NOT_EMPTY, NULL), "permission"=> array(T_ZBX_INT, O_MAND,P_SYS, IN(PERM_DENY.','.PERM_READ_ONLY.','.PERM_READ_WRITE), NULL), 'nodeid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL), ); check_fields($fields); $dstfrm = get_request("dstfrm", 0); // destination form $permission = get_request("permission", PERM_DENY); // right $nodeid = get_request('nodeid', get_profile('web.popup_right.nodeid.last',get_current_nodeid(false))); update_profile('web.popup_right.nodeid.last', $nodeid); ?> AddVar('dstfrm',$dstfrm); $frmTitle->AddVar('permission', $permission); if(ZBX_DISTRIBUTED){ $available_nodes = get_accessible_nodes_by_user($USER_DETAILS, PERM_READ_WRITE,PERM_RES_IDS_ARRAY); $cmbResourceNode = new CComboBox('nodeid',$nodeid,'submit();'); $cmbResourceNode->AddItem(0, S_ALL); $sql = 'SELECT name,nodeid FROM nodes WHERE '.DBcondition('nodeid',$available_nodes); $db_nodes = DBselect($sql); while($node = DBfetch($db_nodes)){ $cmbResourceNode->AddItem($node['nodeid'], $node['name']); } $frmTitle->AddItem(array(S_NODE, SPACE, $cmbResourceNode)); } show_table_header(permission2str($permission),$frmTitle); $table = new CTableInfo(S_NO_RESOURCES_DEFINED); $table->SetHeader(array(S_NAME)); $db_resources = null; $db_resources = DBselect('SELECT n.name as node_name, g.name as name, g.groupid as id'. ' FROM groups g '. ' LEFT JOIN nodes n on '.DBid2nodeid('g.groupid').'=n.nodeid '. ($nodeid?' WHERE nodeid='.$nodeid:''). ' ORDER BY n.name, g.name'); while($db_resource = DBfetch($db_resources)){ if(isset($db_resource['node_name'])) $db_resource['name'] = $db_resource['node_name'].':'.$db_resource['name']; $name = new CLink($db_resource['name'],'#','action'); $name->SetAction("return add_right('".$dstfrm."','".$db_resource['id']."','".$permission."','".$db_resource['name']."');"); $table->AddRow(array($name)); } $table->Show(); ?>