From 5ab023e55f2ba605336a5931916fa6acb08ae90f Mon Sep 17 00:00:00 2001 From: sasha Date: Thu, 28 Feb 2008 15:26:46 +0000 Subject: - [DEV-108] GUI - Discovery git-svn-id: svn://svn.zabbix.com/trunk@5413 97f52cf1-0a1b-0410-bd0e-c28be96e8082 --- frontends/php/discoveryconf.php | 31 ++++++++++++++++++++++++----- frontends/php/hosts.php | 1 + frontends/php/include/discovery.inc.php | 10 +++++----- frontends/php/include/forms.inc.php | 26 ++++++++++++++++++++++-- frontends/php/include/locales/en_gb.inc.php | 3 +++ 5 files changed, 59 insertions(+), 12 deletions(-) (limited to 'frontends') diff --git a/frontends/php/discoveryconf.php b/frontends/php/discoveryconf.php index 56f6d22d..313605d2 100644 --- a/frontends/php/discoveryconf.php +++ b/frontends/php/discoveryconf.php @@ -35,6 +35,7 @@ include_once "include/page_header.php"; $fields=array( "druleid"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, 'isset({form})&&{form}=="update"'), "name"=> array(T_ZBX_STR, O_OPT, null, NOT_EMPTY, 'isset({save})'), + 'proxyid'=> array(T_ZBX_INT, O_OPT, null, DB_ID, 'isset({save})'), "iprange"=> array(T_ZBX_IP_RANGE, O_OPT, null, NOT_EMPTY, 'isset({save})'), "delay"=> array(T_ZBX_INT, O_OPT, null, null, 'isset({save})'), "status"=> array(T_ZBX_INT, O_OPT, null, IN("0,1"), 'isset({save})'), @@ -99,7 +100,7 @@ include_once "include/page_header.php"; $msg_ok = S_DISCOVERY_RULE_UPDATED; $msg_fail = S_CANNOT_UPDATE_DISCOVERY_RULE; - $result = update_discovery_rule($_REQUEST["druleid"], $_REQUEST['name'], $_REQUEST['iprange'], + $result = update_discovery_rule($_REQUEST["druleid"], $_REQUEST["proxyid"], $_REQUEST['name'], $_REQUEST['iprange'], $_REQUEST['delay'], $_REQUEST['status'], $_REQUEST['dchecks']); $druleid = $_REQUEST["druleid"]; @@ -109,7 +110,7 @@ include_once "include/page_header.php"; $msg_ok = S_DISCOVERY_RULE_ADDED; $msg_fail = S_CANNOT_ADD_DISCOVERY_RULE; - $druleid = add_discovery_rule($_REQUEST['name'], $_REQUEST['iprange'], + $druleid = add_discovery_rule($_REQUEST["proxyid"], $_REQUEST['name'], $_REQUEST['iprange'], $_REQUEST['delay'], $_REQUEST['status'], $_REQUEST['dchecks']); $result = $druleid; @@ -230,17 +231,37 @@ include_once "include/page_header.php"; ($rule_data["status"] == DRULE_STATUS_ACTIVE ? '&group_disable=1' : '&group_enable=1'), discovery_status2style($rule_data["status"]))); - $tblDiscovery->AddRow(array( - array( + $description = array(); + + if ($rule_data["proxyid"]) { + $proxy = get_proxy_by_proxyid($rule_data["proxyid"]); + array_push($description, $proxy["name"], ":"); + } + + array_push($description, + new CLink($rule_data['name'], "?form=update&druleid=".$rule_data['druleid'],'action')); + + $drule=new CCol(array( new CCheckBox( "g_druleid[]", /* name */ null, /* checked */ null, /* action */ $rule_data["druleid"]), /* value */ SPACE, + $description)); + + $tblDiscovery->AddRow(array( + $drule, +/* array( + new CCheckBox( + "g_druleid[]", + null, + null, + $rule_data["druleid"]), + SPACE, new CLink($rule_data['name'], "?form=update&druleid=".$rule_data['druleid'],'action'), - ), + ),*/ $rule_data['iprange'], $rule_data['delay'], implode(',', $cheks), diff --git a/frontends/php/hosts.php b/frontends/php/hosts.php index a8b4889e..50f524ac 100644 --- a/frontends/php/hosts.php +++ b/frontends/php/hosts.php @@ -67,6 +67,7 @@ include_once "include/page_header.php"; /* host */ "hostid"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, '(isset({config})&&({config}==0))&&(isset({form})&&({form}=="update"))'), "host"=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY, 'isset({config})&&({config}==0||{config}==3)&&isset({save})'), + 'proxyid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, 'isset({config})&&({config}==0)&&isset({save})'), "dns"=> array(T_ZBX_STR, O_OPT, NULL, NULL, '(isset({config})&&({config}==0))&&isset({save})'), "useip"=> array(T_ZBX_STR, O_OPT, NULL, IN('0,1'), '(isset({config})&&({config}==0))&&isset({save})'), "ip"=> array(T_ZBX_IP, O_OPT, NULL, NULL, '(isset({config})&&({config}==0))&&isset({save})'), diff --git a/frontends/php/include/discovery.inc.php b/frontends/php/include/discovery.inc.php index 23636ac1..9c138e2e 100644 --- a/frontends/php/include/discovery.inc.php +++ b/frontends/php/include/discovery.inc.php @@ -115,7 +115,7 @@ return $dcheckid; } - function add_discovery_rule($name, $iprange, $delay, $status, $dchecks) + function add_discovery_rule($proxyid, $name, $iprange, $delay, $status, $dchecks) { if( !validate_ip_range($iprange) ) { @@ -125,8 +125,8 @@ } $druleid = get_dbid('drules', 'druleid'); - $result = DBexecute('insert into drules (druleid,name,iprange,delay,status) '. - ' values ('.$druleid.','.zbx_dbstr($name).','.zbx_dbstr($iprange).','.$delay.','.$status.')'); + $result = DBexecute('insert into drules (druleid,proxyid,name,iprange,delay,status) '. + ' values ('.$druleid.','.$proxyid.','.zbx_dbstr($name).','.zbx_dbstr($iprange).','.$delay.','.$status.')'); if($result) { @@ -140,7 +140,7 @@ return $result; } - function update_discovery_rule($druleid, $name, $iprange, $delay, $status, $dchecks) + function update_discovery_rule($druleid, $proxyid, $name, $iprange, $delay, $status, $dchecks) { if( !validate_ip_range($iprange) ) { @@ -149,7 +149,7 @@ } - $result = DBexecute('update drules set name='.zbx_dbstr($name).',iprange='.zbx_dbstr($iprange).','. + $result = DBexecute('update drules set proxyid='.$proxyid.',name='.zbx_dbstr($name).',iprange='.zbx_dbstr($iprange).','. 'delay='.$delay.',status='.$status.' where druleid='.$druleid); if($result) diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php index 421966ba..e65f18d8 100644 --- a/frontends/php/include/forms.inc.php +++ b/frontends/php/include/forms.inc.php @@ -178,7 +178,7 @@ if(isset($_REQUEST['druleid']) && $rule_data && (!isset($_REQUEST["form_refresh"]) || isset($_REQUEST["register"]))) { - + $proxyid = $rule_data['proxyid']; $name = $rule_data['name']; $iprange = $rule_data['iprange']; $delay = $rule_data['delay']; @@ -195,6 +195,7 @@ } else { + $proxyid = get_request("proxyid",0); $name = get_request('name',''); $iprange = get_request('iprange','192.168.0.1-255'); $delay = get_request('delay',3600); @@ -208,6 +209,16 @@ $new_check_snmp_community= get_request('new_check_snmp_community', ''); $form->AddRow(S_NAME, new CTextBox('name', $name, 40)); +//Proxy + $cmbProxy = new CComboBox("proxyid", $proxyid); + + $cmbProxy->AddItem(0, S_NO_PROXY); + $db_proxies = DBselect('SELECT proxyid,name FROM proxies'); + while ($db_proxy = DBfetch($db_proxies)) + $cmbProxy->AddItem($db_proxy['proxyid'], $db_proxy['name']); + + $form->AddRow(S_DISCOVERY_BY_PROXY,$cmbProxy); +//---------- $form->AddRow(S_IP_RANGE, new CTextBox('iprange', $iprange, 27)); $form->AddRow(S_DELAY.' (seconds)', new CNumericBox('delay', $delay, 8)); @@ -4183,6 +4194,7 @@ include_once 'include/discovery.inc.php'; $newgroup = get_request("newgroup",""); $host = get_request("host", ""); + $proxyid= get_request("proxyis",""); $port = get_request("port", get_profile("HOST_PORT",10050)); $status = get_request("status", HOST_STATUS_MONITORED); $useip = get_request("useip", 0); @@ -4327,7 +4339,6 @@ include_once 'include/discovery.inc.php'; $frmHost->AddRow(S_CONNECT_TO,$cmbConnectBy); } - if($show_only_tmp) { $port = "10050"; @@ -4340,6 +4351,17 @@ include_once 'include/discovery.inc.php'; { $frmHost->AddRow(S_PORT,new CNumericBox("port",$port,5)); +//Proxy + $cmbProxy = new CComboBox("proxyid", $proxyid); + + $cmbProxy->AddItem(0, S_NO_PROXY); + $db_proxies = DBselect('SELECT proxyid,name FROM proxies'); + while ($db_proxy = DBfetch($db_proxies)) + $cmbProxy->AddItem($db_proxy['proxyid'], $db_proxy['name']); + + $frmHost->AddRow(S_MONITORED_BY_PROXY,$cmbProxy); +//---------- + $cmbStatus = new CComboBox("status",$status); $cmbStatus->AddItem(HOST_STATUS_MONITORED, S_MONITORED); $cmbStatus->AddItem(HOST_STATUS_NOT_MONITORED, S_NOT_MONITORED); diff --git a/frontends/php/include/locales/en_gb.inc.php b/frontends/php/include/locales/en_gb.inc.php index 50ea6aca..e61c3e27 100644 --- a/frontends/php/include/locales/en_gb.inc.php +++ b/frontends/php/include/locales/en_gb.inc.php @@ -55,6 +55,8 @@ 'S_DELETE_SELECTED_RULES_Q'=> 'Delete selected rules?', 'S_CREATE_RULE'=> 'Create rule', 'S_DELETE_RULE_Q'=> 'Delete rule?', + 'S_DISCOVERY_BY_PROXY'=> 'Discovery by proxy', + 'S_NO_PROXY'=> '(no proxy)', 'S_EVENT_SOURCE'=> 'Event source', @@ -721,6 +723,7 @@ 'S_UNLINK_AND_CLEAR'=> 'Unlink and clear', 'S_UNLINKED_SMALL'=> 'unlinked', 'S_CLEANED_SMALL'=> 'cleaned', + 'S_MONITORED_BY_PROXY'=> 'Monitored by proxy', // items.php 'S_NO_ITEMS_DEFINED'=> 'No items defined', -- cgit