summaryrefslogtreecommitdiffstats
path: root/frontends/php/popup.php
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-10-26 13:07:57 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-10-26 13:07:57 +0000
commit3ad9ec2c7d4be13068a49fb19a1fb8f3781dd485 (patch)
treeaa2576f5266f28ddd94a7a22b15270802e1d8339 /frontends/php/popup.php
parent20dfeb5d1966879f9d76e69cab4872831119ba9f (diff)
downloadzabbix-3ad9ec2c7d4be13068a49fb19a1fb8f3781dd485.tar.gz
zabbix-3ad9ec2c7d4be13068a49fb19a1fb8f3781dd485.tar.xz
zabbix-3ad9ec2c7d4be13068a49fb19a1fb8f3781dd485.zip
- [DEV-57] added better "hosts info" selection in screens (Artem)
git-svn-id: svn://svn.zabbix.com/trunk@4920 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/popup.php')
-rw-r--r--frontends/php/popup.php52
1 files changed, 50 insertions, 2 deletions
diff --git a/frontends/php/popup.php b/frontends/php/popup.php
index 1e5e8bf1..7f946de9 100644
--- a/frontends/php/popup.php
+++ b/frontends/php/popup.php
@@ -24,6 +24,7 @@
require_once "include/triggers.inc.php";
require_once "include/items.inc.php";
require_once "include/users.inc.php";
+ require_once "include/nodes.inc.php";
require_once "include/js.inc.php";
$srctbl = get_request("srctbl", ''); // source table name
@@ -99,6 +100,10 @@
$page["title"] = "S_OVERVIEW_BIG";
$min_user_type = USER_TYPE_ZABBIX_ADMIN;
break;
+ case 'host_group_scr':
+ $page["title"] = "S_HOST_GROUPS_BIG";
+ $min_user_type = USER_TYPE_ZABBIX_ADMIN;
+ break;
case 'nodes':
if(ZBX_DISTRIBUTED)
{
@@ -115,7 +120,7 @@
$page["file"] = "popup.php";
define('ZBX_PAGE_NO_MENU', 1);
-
+
include_once "include/page_header.php";
if(isset($error))
@@ -243,7 +248,7 @@ include_once "include/page_header.php";
{
if(in_array($srctbl,array('hosts','host_group','triggers','logitems','items',
'applications','screens','graphs','simple_graph',
- 'sysmaps','plain_text','screens2','overview')))
+ 'sysmaps','plain_text','screens2','overview','host_group_scr')))
{
if(ZBX_DISTRIBUTED)
{
@@ -337,6 +342,7 @@ include_once "include/page_header.php";
$frmTitle->AddItem(array(SPACE,$btnEmpty));
}
}
+
show_table_header($page["title"], $frmTitle);
?>
<?php
@@ -1113,6 +1119,48 @@ include_once "include/page_header.php";
$table->Show();
}
+ else if($srctbl == 'host_group_scr'){
+ $accessible_groups = get_accessible_groups_by_user($USER_DETAILS,PERM_READ_ONLY);
+
+ $table = new CTableInfo(S_NO_GROUPS_DEFINED);
+ $table->SetHeader(array(S_NAME));
+
+ $db_groups = DBselect('SELECT DISTINCT n.name as node_name,g.groupid,g.name,n.nodeid '.
+ ' FROM hosts_groups hg, groups g '.
+ ' LEFT JOIN nodes n ON n.nodeid='.DBid2nodeid('g.groupid').
+ ' WHERE g.groupid IN ('.$accessible_groups.') '.
+ ' AND '.DBin_node('g.groupid',$nodeid).
+ ' ORDER BY n.nodeid,g.name');
+
+ $all = false;
+
+ while($row = DBfetch($db_groups))
+ {
+ $row['node_name'] = isset($row['node_name'])?'('.$row['node_name'].') ':'';
+
+ if(!$all){
+ $name = new CLink(bold(S_MINUS_ALL_GROUPS_MINUS),'#','action');
+ $name->SetAction(
+ get_window_opener($dstfrm, $dstfld1, create_id_by_nodeid(0,$nodeid)).
+ get_window_opener($dstfrm, $dstfld2, $row['node_name'].S_MINUS_ALL_GROUPS_MINUS).
+ ' return close_window();');
+
+ $table->AddRow($name);
+ $all = true;
+ }
+
+ $name = new CLink($row['name'],'#','action');
+ $row['name'] = $row['node_name'].$row['name'];
+
+ $name->SetAction(
+ get_window_opener($dstfrm, $dstfld1, $row[$srcfld1]).
+ get_window_opener($dstfrm, $dstfld2, $row[$srcfld2]).
+ ' return close_window();');
+
+ $table->AddRow($name);
+ }
+ $table->Show();
+ }
?>
<?php