summaryrefslogtreecommitdiffstats
path: root/frontends/php/users.php
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-01-14 12:16:49 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-01-14 12:16:49 +0000
commit6d1c51d9ae6e65a0619b6cb9d2ccefb4a972707f (patch)
tree6e6b00f51f858f9ddc84dc469d9f61086acb7961 /frontends/php/users.php
parent6d47f4278d61e0efde9cafab7d4dd5477f974891 (diff)
downloadzabbix-6d1c51d9ae6e65a0619b6cb9d2ccefb4a972707f.tar.gz
zabbix-6d1c51d9ae6e65a0619b6cb9d2ccefb4a972707f.tar.xz
zabbix-6d1c51d9ae6e65a0619b6cb9d2ccefb4a972707f.zip
- [DEV-95] added user status enabled/disabled (Artem)
git-svn-id: svn://svn.zabbix.com/trunk@5241 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/users.php')
-rw-r--r--frontends/php/users.php52
1 files changed, 43 insertions, 9 deletions
diff --git a/frontends/php/users.php b/frontends/php/users.php
index 3431f9fb..8f9ff3ac 100644
--- a/frontends/php/users.php
+++ b/frontends/php/users.php
@@ -63,6 +63,7 @@ include_once "include/page_header.php";
"autologout"=> array(T_ZBX_INT, O_OPT, null, BETWEEN(0,3600),'(isset({config})&&({config}==0))&&isset({save})'),
"url"=> array(T_ZBX_STR, O_OPT, null, null, '(isset({config})&&({config}==0))&&isset({save})'),
"refresh"=> array(T_ZBX_INT, O_OPT, null, BETWEEN(0,3600),'(isset({config})&&({config}==0))&&isset({save})'),
+ "status"=> array(T_ZBX_INT, O_OPT, null, IN('0,1'),'(isset({config})&&({config}==0))&&isset({save})'),
"right"=> array(T_ZBX_STR, O_NO, null, NOT_EMPTY,
'(isset({register})&&({register}=="add permission"))&&isset({userid})'),
@@ -167,7 +168,7 @@ include_once "include/page_header.php";
$result=update_user($_REQUEST["userid"],
$_REQUEST["name"],$_REQUEST["surname"],$_REQUEST["alias"],
$_REQUEST["password1"],$_REQUEST["url"],$_REQUEST["autologout"],
- $_REQUEST["lang"],$_REQUEST["refresh"],$_REQUEST["user_type"],
+ $_REQUEST["lang"],$_REQUEST["refresh"],$_REQUEST["user_type"],$_REQUEST['status'],
$user_groups, $user_medias);
show_messages($result, S_USER_UPDATED, S_CANNOT_UPDATE_USER);
@@ -176,7 +177,7 @@ include_once "include/page_header.php";
$result=add_user(
$_REQUEST["name"],$_REQUEST["surname"],$_REQUEST["alias"],
$_REQUEST["password1"],$_REQUEST["url"],$_REQUEST["autologout"],
- $_REQUEST["lang"],$_REQUEST["refresh"],$_REQUEST["user_type"],
+ $_REQUEST["lang"],$_REQUEST["refresh"],$_REQUEST["user_type"],$_REQUEST['status'],
$user_groups, $user_medias);
show_messages($result, S_USER_ADDED, S_CANNOT_ADD_USER);
@@ -245,6 +246,24 @@ include_once "include/page_header.php";
unset($_REQUEST["form"]);
}
}
+ elseif(isset($_REQUEST["status"])&&isset($_REQUEST["userid"]))
+ {
+ $user=get_user_by_userid($_REQUEST["userid"]);
+ $result=change_user_status($_REQUEST["userid"],$_REQUEST['status']);
+
+ $status_msg1 = ($_REQUEST['status'] == USER_STATUS_ENABLED)?S_ENABLED:S_DISABLED;
+ $status_msg2 = ($_REQUEST['status'] == USER_STATUS_ENABLED)?S_ENABLE:S_DISABLE;
+ show_messages($result, S_USER.SPACE.$status_msg1, S_CANNOT.SPACE.$status_msg2.SPACE.S_USER);
+ if($result){
+ $audit_action = ($_REQUEST['status'] == USER_STATUS_ENABLED)?AUDIT_ACTION_ENABLE:AUDIT_ACTION_DISABLE;
+ add_audit($audit_action,AUDIT_RESOURCE_USER,
+ "User alias [".$user["alias"]."] name [".$user["name"]."] surname [".
+ $user["surname"]."]");
+
+ unset($_REQUEST["userid"]);
+ }
+ unset($_REQUEST['form']);
+ }
}
else /* config == 1 */
{
@@ -377,17 +396,19 @@ include_once "include/page_header.php";
show_table_header(S_USERS_BIG);
$table=new CTableInfo(S_NO_USERS_DEFINED);
$table->setHeader(array(
- array( new CCheckBox("all_users",NULL,
- "CheckAll('".$form->GetName()."','all_users');"),
+ array(new CCheckBox("all_users",NULL,
+ "CheckAll('".$form->GetName()."','all_users','group_userid');"),
make_sorting_link(S_ALIAS,'u.alias')
),
make_sorting_link(S_NAME,'u.name'),
make_sorting_link(S_SURNAME,'u.surname'),
make_sorting_link(S_USER_TYPE,'u.type'),
S_GROUPS,
- S_IS_ONLINE_Q));
+ S_IS_ONLINE_Q,
+ S_STATUS
+ ));
- $db_users=DBselect('SELECT u.userid,u.alias,u.name,u.surname,u.type,u.autologout '.
+ $db_users=DBselect('SELECT u.userid,u.alias,u.name,u.surname,u.type,u.autologout,u.status '.
' FROM users u'.
' WHERE '.DBin_node('u.userid').
order_by('u.alias,u.name,u.surname,u.type','u.userid'));
@@ -410,11 +431,23 @@ include_once "include/page_header.php";
" where g.usrgrpid=ug.usrgrpid and ug.userid=".$db_user['userid']);
while($db_group = DBfetch($db_groups))
array_push($user_groups,empty($user_groups)?'':BR(),$db_group['name']);
-
+
+ $status = ($db_user['status'] == USER_STATUS_ENABLED)?S_ENABLED:S_DISABLED;
+ if((bccomp($USER_DETAILS['userid'],$db_user['userid']) != 0)){
+ $status = new CLink($status,
+ 'users.php?form=update'.
+ '&status='.((int)(!$db_user['status'])).
+ '&userid='.$db_user["userid"].
+ url_param("config"),
+ ($db_user['status'] == USER_STATUS_ENABLED)?'enabled':'disabled');
+ }
+ else{
+ $status = new CSpan($status,($db_user['status'] == USER_STATUS_ENABLED)?'green':'red');
+ }
$table->addRow(array(
array(
- new CCheckBox("group_userid[]",NULL,NULL,$db_user["userid"]),
+ new CCheckBox("group_userid[".$db_user["userid"]."]",NULL,NULL,$db_user["userid"]),
new CLink($db_user["alias"],
"users.php?form=update".url_param("config").
"&userid=".$db_user["userid"]."#form", 'action')
@@ -423,7 +456,8 @@ include_once "include/page_header.php";
$db_user["surname"],
user_type2str($db_user['type']),
$user_groups,
- $online
+ $online,
+ $status
));
}
$table->SetFooter(new CCol(new CButtonQMessage('delete_selected',S_DELETE_SELECTED,S_DELETE_SELECTED_USERS_Q)));