".S_NO_PERMISSIONS.""); show_page_footer(); exit; } $_REQUEST["config"]=get_request("config",get_profile("web.users.config",0)); update_profile("web.users.config",$_REQUEST["config"]); ?> array(T_ZBX_INT, O_OPT, NULL, IN("0,1"), NULL), /* user */ "userid"=> array(T_ZBX_INT, O_NO, P_SYS, DB_ID,'{config}==0&&{form}=="update"'), "alias"=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY, '{config}==0&&isset({save})'), "name"=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY, '{config}==0&&isset({save})'), "surname"=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY, '{config}==0&&isset({save})'), "password1"=> array(T_ZBX_STR, O_OPT, NULL, NULL, '{config}==0&&isset({save})'), "password2"=> array(T_ZBX_STR, O_OPT, NULL, NULL, '{config}==0&&isset({save})'), "lang"=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY, '{config}==0&&isset({save})'), "autologout"=> array(T_ZBX_INT, O_OPT, NULL, BETWEEN(0,3600),'{config}==0&&isset({save})'), "url"=> array(T_ZBX_STR, O_OPT, NULL, NULL, '{config}==0&&isset({save})'), "refresh"=> array(T_ZBX_INT, O_OPT, NULL, BETWEEN(0,3600),'{config}==0&&isset({save})'), "right"=> array(T_ZBX_STR, O_NO, NULL, NOT_EMPTY, '{register}=="add permission"&&isset({userid})'), "permission"=> array(T_ZBX_STR, O_NO, NULL, NOT_EMPTY, '{register}=="add permission"&&isset({userid})'), "id"=> array(T_ZBX_INT, O_NO, NULL, DB_ID, '{register}=="add permission"&&isset({userid})'), "rightid"=> array(T_ZBX_INT, O_NO, NULL, DB_ID, '{register}=="delete permission"&&isset({userid})'), /* group */ "usrgrpid"=> array(T_ZBX_INT, O_NO, P_SYS, DB_ID,'{config}==1&&{form}=="update"'), "gname"=> array(T_ZBX_STR, O_NO, NULL, NOT_EMPTY, '{config}==1&&isset({save})'), "users"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL), /* actions */ "register"=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, IN('"add permission","delete permission"'), NULL), "save"=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL), "delete"=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL), "cancel"=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), /* other */ "form"=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), "form_refresh"=>array(T_ZBX_STR, O_OPT, NULL, NULL, NULL) ); check_fields($fields); ?> AddItem(0,S_USERS); $cmbConf->AddItem(1,S_USER_GROUPS); if($_REQUEST["config"] == 0){ $btnNew = new CButton("form",S_CREATE_USER); }else if($_REQUEST["config"] == 1){ $btnNew = new CButton("form",S_CREATE_GROUP); }else{ $btnNew = SPACE; } $frmForm = new CForm("users.php"); $frmForm->AddItem($cmbConf); $frmForm->AddItem(SPACE."|".SPACE); $frmForm->AddItem($btnNew); show_header2(S_CONFIGURATION_OF_USERS_AND_USER_GROUPS, $frmForm); echo BR; ?> setHeader(array(S_ID,S_ALIAS,S_NAME,S_SURNAME,S_IS_ONLINE_Q,S_ACTIONS)); $db_users=DBselect("select u.userid,u.alias,u.name,u.surname ". "from users u order by u.alias"); while($db_user=DBfetch($db_users)) { if(!check_right("User","R",$db_user["userid"])) continue; $alias = new CLink($db_user["alias"], "users.php?form=update".url_param("config"). "&userid=".$db_user["userid"]."#form", 'action'); $db_sessions = DBselect("select count(*) as count from sessions". " where userid=".$db_user["userid"]." and lastaccess-600<".time()); $db_ses_cnt=DBfetch($db_sessions); if($db_ses_cnt["count"]>0) $online=new CCol(S_YES,"on"); else $online=new CCol(S_NO,"off"); if(check_right("User","U",$db_user["userid"])) { $actions = S_MEDIA; if(get_media_count_by_userid($db_user["userid"])>0) { $actions = bfirst($actions); } $actions = new CLink($actions,"media.php?userid=".$db_user["userid"]); } else { $actions=S_CHANGE.SPACE."-".SPACE.S_MEDIA; } $table->addRow(array( $db_user["userid"], $alias, $db_user["name"], $db_user["surname"], $online, $actions )); } $table->show(); } else { insert_user_form(get_request("userid",NULL)); if(isset($_REQUEST["userid"])) { echo BR; show_table_header("USER PERMISSIONS"); $table = new CTableInfo(); $table->setHeader(array(S_PERMISSION,S_RIGHT,S_RESOURCE_NAME,S_ACTIONS)); $db_rights = DBselect("select rightid,name,permission,id from rights ". "where userid=".$_REQUEST["userid"]." order by name,permission,id"); while($db_right = DBfetch($db_rights)) { if($db_right["permission"]=="R") $permission=S_READ_ONLY; else if($db_right["permission"]=="U") $permission=S_READ_WRITE; else if($db_right["permission"]=="H") $permission=S_HIDE; else if($db_right["permission"]=="A") $permission=S_ADD; else $permission=$db_right["permission"]; $actions= new CLink( S_DELETE, "users.php?".url_param("userid")."&rightid=".$db_right["rightid"]. "®ister=delete+permission".url_param("form"). url_param("config")."#form"); $table->addRow(array( $db_right["name"], $permission, get_resource_name($db_right["name"],$db_right["id"]), $actions )); } $table->show(); echo BR; insert_permissions_form(); } } } elseif($_REQUEST["config"]==1) { if(!isset($_REQUEST["form"])) { show_table_header(S_USER_GROUPS_BIG); $table = new CTableInfo(S_NO_USER_GROUPS_DEFINED); $table->setHeader(array(S_ID,S_NAME,S_MEMBERS)); $result=DBselect("select usrgrpid,name from usrgrp order by name"); while($row=DBfetch($result)) { if(!check_right("User group","R",$row["usrgrpid"])) continue; $name = new CLink( $row["name"], "users.php?".url_param("config")."&form=update". "&usrgrpid=".$row["usrgrpid"]."#form", 'action'); $users=SPACE; $db_users=DBselect("select distinct u.alias from users u,users_groups ug ". "where u.userid=ug.userid and ug.usrgrpid=".$row["usrgrpid"]. " order by alias"); if($db_user=DBfetch($db_users)) $users .= $db_user["alias"]; while($db_user=DBfetch($db_users)) $users .= ", ".$db_user["alias"]; $table->addRow(array( $row["usrgrpid"], $name, $users)); } $table->show(); } else { insert_usergroups_form(isset($_REQUEST["usrgrpid"]) ? $_REQUEST["usrgrpid"] : NULL); } } ?>