summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-08-13 09:41:30 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-08-13 09:41:30 +0000
commit48933ee8048f2c2c95147a836e5fe5d492f7b1e6 (patch)
tree1a7c9b1221a6e9d9eecabe5cd927a4b1e1fc8c0e
parentf8ec2508ed6a4c962bb6cc996881232ab4a2d3f0 (diff)
downloadzabbix-48933ee8048f2c2c95147a836e5fe5d492f7b1e6.tar.gz
zabbix-48933ee8048f2c2c95147a836e5fe5d492f7b1e6.tar.xz
zabbix-48933ee8048f2c2c95147a836e5fe5d492f7b1e6.zip
- [DEV-199] GUI improvements (Artem)
git-svn-id: svn://svn.zabbix.com/trunk@5903 97f52cf1-0a1b-0410-bd0e-c28be96e8082
-rw-r--r--ChangeLog1
-rw-r--r--frontends/php/include/forms.inc.php6
-rw-r--r--frontends/php/include/validate.inc.php2
-rw-r--r--frontends/php/popup.php8
-rw-r--r--frontends/php/users.php47
5 files changed, 43 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 8624c5c8..6f6800f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
Changes for 1.5.4
+ - [DEV-201] improved performance on disabling/enabling, deleting hosts (Artem)
- [DEV-200] Queue for proxies (Sasha)
- [DEV-144] Queue now displays numbers differently (Alexei)
- [DEV-198] added disabled images in the elements of maps (sasha)
diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php
index 3698fd29..7e6b0c3d 100644
--- a/frontends/php/include/forms.inc.php
+++ b/frontends/php/include/forms.inc.php
@@ -4284,7 +4284,7 @@
$frmHost->AddRow(S_NAME,new CTextBox('host',$host,20));
- $grp_tb = new CTweenBox($frmHost,'groups',$groups,6);
+ $grp_tb = new CTweenBox($frmHost,'groups',$groups,10);
$db_groups=DBselect('SELECT DISTINCT groupid,name '.
' FROM groups '.
' WHERE groupid IN ('.get_accessible_groups_by_user($USER_DETAILS,PERM_READ_LIST).') '.
@@ -4540,9 +4540,9 @@
$frmHostG->AddVar("groupid",$_REQUEST["groupid"]);
}
- $frmHostG->AddRow(S_GROUP_NAME,new CTextBox("gname",$name,30));
+ $frmHostG->AddRow(S_GROUP_NAME,new CTextBox("gname",$name,48));
- $cmbHosts = new CTweenBox($frmHostG,'hosts',$hosts);
+ $cmbHosts = new CTweenBox($frmHostG,'hosts',$hosts, 25);
$db_hosts=DBselect('SELECT DISTINCT hostid,host '.
' FROM hosts '.
' WHERE status in ('.HOST_STATUS_MONITORED.','.HOST_STATUS_NOT_MONITORED.','.HOST_STATUS_TEMPLATE.')'.
diff --git a/frontends/php/include/validate.inc.php b/frontends/php/include/validate.inc.php
index ea2d51c8..33e854e0 100644
--- a/frontends/php/include/validate.inc.php
+++ b/frontends/php/include/validate.inc.php
@@ -59,7 +59,7 @@
return "ereg(\"^[a-zA-Z0-9]{1,}$\",{".$var."})&&";
}
function KEY_PARAM($var=NULL){
- return 'ereg(\'^([0-9a-zA-Z\_\.[.'.ZBX_EREG_SPACE_SYMB.'.]\$ ]+)$\',{'.$var.'})&&';
+ return 'ereg(\'^([0-9a-zA-Z\_\.[.'.ZBX_EREG_MINUS_SYMB.'.]\$ ]+)$\',{'.$var.'})&&';
}
function validate_ipv4($str,&$arr){
if( !ereg('^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$', $str, $arr) ) return false;
diff --git a/frontends/php/popup.php b/frontends/php/popup.php
index d74aa148..1df0f8a1 100644
--- a/frontends/php/popup.php
+++ b/frontends/php/popup.php
@@ -172,7 +172,7 @@ include_once "include/page_header.php";
$srcfld2 = get_request("srcfld2", null); // second source table field [can be different from fields of source table]
$monitored_hosts = get_request("monitored_hosts", 0);
- $real_hosts = get_request("real_hosts", 0);
+ $real_hosts = get_request("real_hosts", 0);
$only_hostid = get_request("only_hostid", null);
$host_status = array();
@@ -229,13 +229,13 @@ include_once "include/page_header.php";
unset($_REQUEST["groupid"],$_REQUEST["nodeid"]);
}
- $validation_param = array("allow_all_hosts");
+ $validation_param = array('allow_all_hosts','always_select_first_host');
if($monitored_hosts)
- array_push($validation_param, "monitored_hosts");
+ array_push($validation_param, 'monitored_hosts');
if($real_hosts)
- array_push($validation_param, "real_hosts");
+ array_push($validation_param, 'real_hosts');
if(str_in_array($srctbl,array("graphs","screens","triggers","logitems","items"))){
array_push($validation_param, "always_select_first_host");
diff --git a/frontends/php/users.php b/frontends/php/users.php
index d9f27652..bb481be9 100644
--- a/frontends/php/users.php
+++ b/frontends/php/users.php
@@ -45,7 +45,8 @@ include_once 'include/page_header.php';
/* user */
'userid'=> array(T_ZBX_INT, O_NO, P_SYS, DB_ID,'(isset({config})&&({config}==0))&&(isset({form})&&({form}=="update"))'),
'group_userid'=>array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, null),
-
+ 'filter_usrgrpid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, null),
+
'alias'=> array(T_ZBX_STR, O_OPT, null, NOT_EMPTY, '(isset({config})&&({config}==0))&&isset({save})'),
'name'=> array(T_ZBX_STR, O_OPT, null, NOT_EMPTY, '(isset({config})&&({config}==0))&&isset({save})'),
'surname'=> array(T_ZBX_STR, O_OPT, null, NOT_EMPTY, '(isset({config})&&({config}==0))&&isset({save})'),
@@ -423,6 +424,9 @@ include_once 'include/page_header.php';
}
?>
<?php
+ $_REQUEST['filter_usrgrpid'] = get_request('filter_usrgrpid',get_profile('web.users.filter.usrgrpid',0));
+ update_profile('web.users.filter.usrgrpid',$_REQUEST['filter_usrgrpid'],PROFILE_TYPE_ID);
+
$frmForm = new CForm();
$frmForm->SetMethod('get');
@@ -430,7 +434,14 @@ include_once 'include/page_header.php';
$cmbConf->AddItem(0,S_USERS);
$cmbConf->AddItem(1,S_USER_GROUPS);
- $frmForm->AddItem($cmbConf);
+ $cmbUGrp = new CComboBox('filter_usrgrpid',$_REQUEST['filter_usrgrpid'],'submit()');
+ $cmbUGrp->AddItem(0,S_ALL);
+ $result = DBselect('SELECT * FROM usrgrp ORDER BY name');
+ while($usrgrp = DBfetch($result)){
+ $cmbUGrp->AddItem($usrgrp['usrgrpid'],$usrgrp['name']);
+ }
+
+ $frmForm->AddItem(array($cmbConf,SPACE.SPACE,S_USER_GROUP,$cmbUGrp));
$frmForm->AddItem(SPACE.'|'.SPACE);
$frmForm->AddItem($btnNew = new CButton('form',($_REQUEST['config'] == 0) ? S_CREATE_USER : S_CREATE_GROUP));
show_table_header(S_CONFIGURATION_OF_USERS_AND_USER_GROUPS, $frmForm);
@@ -462,9 +473,18 @@ include_once 'include/page_header.php';
S_ACTIONS
));
- $db_users=DBselect('SELECT u.userid,u.alias,u.name,u.surname,u.type,u.autologout '.
- ' FROM users u'.
+
+ $cond_from = '';
+ $cond_where = '';
+ if($_REQUEST['filter_usrgrpid'] > 0){
+ $cond_from = ', users_groups ug, usrgrp ugrp ';
+ $cond_where = ' AND ug.userid = u.userid '.' AND ug.usrgrpid='.$_REQUEST['filter_usrgrpid'];
+ }
+
+ $db_users=DBselect('SELECT DISTINCT u.userid,u.alias,u.name,u.surname,u.type,u.autologout '.
+ ' FROM users u '.$cond_from.
' WHERE '.DBin_node('u.userid').
+ $cond_where.
order_by('u.alias,u.name,u.surname,u.type','u.userid'));
while($db_user=DBfetch($db_users)){
//Log Out 10min or Autologout time
@@ -550,12 +570,10 @@ include_once 'include/page_header.php';
$table = new CTableInfo(S_NO_USER_GROUPS_DEFINED);
$table->setHeader(array(
- array( new CCheckBox('all_groups',NULL,
- "CheckAll('".$form->GetName()."','all_groups');"),
- make_sorting_link(S_NAME,'ug.name')),
- S_MEMBERS,
+ S_USERS_STATUS,
S_GUI_ACCESS,
- S_USERS_STATUS
+ array( new CCheckBox('all_groups',NULL, "CheckAll('".$form->GetName()."','all_groups');"), make_sorting_link(S_NAME,'ug.name')),
+ S_MEMBERS,
));
$result=DBselect('SELECT ug.usrgrpid, ug.name, ug.users_status, ug.gui_access '.
@@ -574,7 +592,10 @@ include_once 'include/page_header.php';
' ORDER BY u.alias');
while($db_user=DBfetch($db_users)){
- $users[$db_user['userid']] = $db_user['alias'];
+ if(!empty($users)) $users[$db_user['userid']][] = ', ';
+ else $users[$db_user['userid']] = array();
+
+ $users[$db_user['userid']][] = new Clink($db_user['alias'],'users.php?form=update&config=0&userid='.$db_user['userid'].'#form');
}
$gui_access = user_auth_type2str($row['gui_access']);
@@ -612,15 +633,15 @@ include_once 'include/page_header.php';
}
$table->addRow(array(
+ $users_status,
+ $gui_access,
array(
new CCheckBox('group_groupid['.$row['usrgrpid'].']',NULL,NULL,$row['usrgrpid']),
$alias = new CLink($row['name'],
'users.php?form=update'.url_param('config').
'&usrgrpid='.$row['usrgrpid'].'#form', 'action')
),
- implode(', ',$users),
- $gui_access,
- $users_status
+ new CCol($users,'wraptext')
));
}
$table->SetFooter(new CCol(new CButtonQMessage('delete_selected',S_DELETE_SELECTED,S_DELETE_SELECTED_GROUPS_Q)));