summaryrefslogtreecommitdiffstats
path: root/frontends/php/include/services.inc.php
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-03-16 15:26:21 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-03-16 15:26:21 +0000
commitd76992f73658df06227395e4a79c4366294efebe (patch)
tree20acf2af5d2155e07401c4903b9bb4cddfb4fec2 /frontends/php/include/services.inc.php
parentf9fade8feec4ed06a5f433f87d09adc4098bb51e (diff)
downloadzabbix-d76992f73658df06227395e4a79c4366294efebe.tar.gz
zabbix-d76992f73658df06227395e4a79c4366294efebe.tar.xz
zabbix-d76992f73658df06227395e4a79c4366294efebe.zip
- added trigger selecton from popup (Eugene)
- improved popup selection (Eugene) - improved "IT services" configuration (Eugene) git-svn-id: svn://svn.zabbix.com/trunk@2702 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include/services.inc.php')
-rw-r--r--frontends/php/include/services.inc.php124
1 files changed, 64 insertions, 60 deletions
diff --git a/frontends/php/include/services.inc.php b/frontends/php/include/services.inc.php
index c5a36eed..5a830e16 100644
--- a/frontends/php/include/services.inc.php
+++ b/frontends/php/include/services.inc.php
@@ -19,46 +19,26 @@
**/
?>
<?php
- function add_service($serviceid,$name,$triggerid,$linktrigger,$algorithm,$showsla,$goodsla,$sortorder)
+ function add_service($name,$triggerid,$algorithm,$showsla,$goodsla,$sortorder)
{
- if( isset($showsla)&&($showsla=="on") )
- {
- $showsla=1;
- }
- else
- {
- $showsla=0;
- }
- if( isset($linktrigger)&&($linktrigger=="on") )
- {
- if(!isset($triggerid))
- {
- error("Choose trigger first");
- return false;
- }
-// $trigger=get_trigger_by_triggerid($triggerid);
-// $description=$trigger["description"];
-// if( strstr($description,"%s"))
-// {
- $description=expand_trigger_description($triggerid);
-// }
- $sql="insert into services (name,triggerid,status,algorithm,showsla,goodsla,sortorder) values (".zbx_dbstr($description).",$triggerid,0,$algorithm,$showsla,$goodsla,$sortorder)";
- }
- else
- {
- $sql="insert into services (name,status,algorithm,showsla,goodsla,sortorder) values (".zbx_dbstr($name).",0,$algorithm,$showsla,$goodsla,$sortorder)";
- }
+ if(is_null($triggerid)) $triggerid = 'NULL';
+
+ $sql="insert into services (name,status,triggerid,algorithm,showsla,goodsla,sortorder)".
+ " values (".zbx_dbstr($name).",0,$triggerid,$algorithm,$showsla,$goodsla,$sortorder)";
$result=DBexecute($sql);
if(!$result)
{
return FALSE;
}
- $id=DBinsert_id($result,"services","serviceid");
- if(isset($serviceid))
- {
- add_service_link($id,$serviceid,0);
- }
- return $id;
+ return DBinsert_id($result,"services","serviceid");
+ }
+
+ function update_service($serviceid,$name,$triggerid,$algorithm,$showsla,$goodsla,$sortorder)
+ {
+ if(is_null($triggerid)) $triggerid = 'NULL';
+
+ $sql="update services set name=".zbx_dbstr($name).",triggerid=$triggerid,status=0,algorithm=$algorithm,showsla=$showsla,goodsla=$goodsla,sortorder=$sortorder where serviceid=$serviceid";
+ return DBexecute($sql);
}
function add_host_to_services($hostid,$serviceid)
@@ -67,8 +47,8 @@
$result=DBselect($sql);
while($row=DBfetch($result))
{
- $serviceid2=add_service($serviceid,$row["description"],$row["triggerid"],"on",0,"off",99,0);
-// add_service_link($serviceid2,$serviceid,0);
+ $serviceid2=add_service($row["description"],$row["triggerid"],"on",0,"off",99,0);
+ add_service_link($serviceid2,$serviceid,0);
}
return 1;
}
@@ -160,44 +140,37 @@
return TRUE;
}
- function update_service($serviceid,$name,$triggerid,$linktrigger,$algorithm,$showsla,$goodsla,$sortorder)
+ function add_service_link($servicedownid,$serviceupid,$softlink)
{
- if( isset($linktrigger)&&($linktrigger=="on") )
+ if( ($softlink==0) && (is_service_hardlinked($servicedownid)==true) )
{
- // No mistake here
- $triggerid=$triggerid;
+ return false;
}
- else
- {
- $triggerid='NULL';
- }
- if( isset($showsla)&&($showsla=="on") )
- {
- $showsla=1;
- }
- else
+
+ if($servicedownid==$serviceupid)
{
- $showsla=0;
+ error("cannot link service to itself.");
+ return false;
}
- $sql="update services set name=".zbx_dbstr($name).",triggerid=$triggerid,status=0,algorithm=$algorithm,showsla=$showsla,goodsla=$goodsla,sortorder=$sortorder where serviceid=$serviceid";
- return DBexecute($sql);
- }
- function add_service_link($servicedownid,$serviceupid,$softlink)
+ $sql="insert into services_links (servicedownid,serviceupid,soft) values ($servicedownid,$serviceupid,$softlink)";
+ return dbexecute($sql);
+ }
+ function update_service_link($linkid,$servicedownid,$serviceupid,$softlink)
{
- if( ($softlink==0) && (is_service_hardlinked($servicedownid)==TRUE) )
+ if( ($softlink==0) && (is_service_hardlinked($servicedownid)==true) )
{
- return FALSE;
+ return false;
}
if($servicedownid==$serviceupid)
{
- error("Cannot link service to itself.");
- return FALSE;
+ error("cannot link service to itself.");
+ return false;
}
- $sql="insert into services_links (servicedownid,serviceupid,soft) values ($servicedownid,$serviceupid,$softlink)";
- return DBexecute($sql);
+ $sql="update services_links set servicedownid=$servicedownid, serviceupid=$serviceupid, soft=$softlink where linkid=$linkid";
+ return dbexecute($sql);
}
function get_last_service_value($serviceid,$clock)
@@ -351,4 +324,35 @@
}
return FALSE;
}
+
+ function get_services_links_by_linkid($linkid)
+ {
+ $result=DBselect("select * from services_links where linkid=$linkid");
+ if(Dbnum_rows($result) == 1)
+ {
+ return DBfetch($result);
+ }
+ else
+ {
+ error("No service linkage with linkid=[$linkid]");
+ }
+ return FALSE;
+ }
+
+ function algorithm2str($algorithm)
+ {
+ if($algorithm == SERVICE_ALGORITHM_NONE)
+ {
+ return S_NONE;
+ }
+ elseif($algorithm == SERVICE_ALGORITHM_MAX)
+ {
+ return S_MAX_OF_CHILDS;
+ }
+ elseif($algorithm == SERVICE_ALGORITHM_MIN)
+ {
+ return S_MIN_OF_CHILDS;
+ }
+ return S_UNKNOWN;
+ }
?>