summaryrefslogtreecommitdiffstats
path: root/frontends
diff options
context:
space:
mode:
authorsasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-02-28 15:26:46 +0000
committersasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-02-28 15:26:46 +0000
commit5ab023e55f2ba605336a5931916fa6acb08ae90f (patch)
treed845ddbab426835d74aad499e3bb5a6d7d3288f3 /frontends
parentd40b9c8636d4838ae6284f60c82c5b67f4bc6954 (diff)
downloadzabbix-5ab023e55f2ba605336a5931916fa6acb08ae90f.tar.gz
zabbix-5ab023e55f2ba605336a5931916fa6acb08ae90f.tar.xz
zabbix-5ab023e55f2ba605336a5931916fa6acb08ae90f.zip
- [DEV-108] GUI - Discovery
git-svn-id: svn://svn.zabbix.com/trunk@5413 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends')
-rw-r--r--frontends/php/discoveryconf.php31
-rw-r--r--frontends/php/hosts.php1
-rw-r--r--frontends/php/include/discovery.inc.php10
-rw-r--r--frontends/php/include/forms.inc.php26
-rw-r--r--frontends/php/include/locales/en_gb.inc.php3
5 files changed, 59 insertions, 12 deletions
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',