diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-03-16 15:26:21 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-03-16 15:26:21 +0000 |
| commit | d76992f73658df06227395e4a79c4366294efebe (patch) | |
| tree | 20acf2af5d2155e07401c4903b9bb4cddfb4fec2 /frontends/php/include | |
| parent | f9fade8feec4ed06a5f433f87d09adc4098bb51e (diff) | |
| download | zabbix-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')
| -rw-r--r-- | frontends/php/include/actions.inc.php | 3 | ||||
| -rw-r--r-- | frontends/php/include/classes/cform.inc.php | 8 | ||||
| -rw-r--r-- | frontends/php/include/classes/clink.inc.php | 12 | ||||
| -rw-r--r-- | frontends/php/include/classes/ctag.inc.php | 2 | ||||
| -rw-r--r-- | frontends/php/include/forms.inc.php | 63 | ||||
| -rw-r--r-- | frontends/php/include/locales/en_gb.inc.php | 5 | ||||
| -rw-r--r-- | frontends/php/include/services.inc.php | 124 |
7 files changed, 126 insertions, 91 deletions
diff --git a/frontends/php/include/actions.inc.php b/frontends/php/include/actions.inc.php index 3993d2a7..25a64cb0 100644 --- a/frontends/php/include/actions.inc.php +++ b/frontends/php/include/actions.inc.php @@ -298,8 +298,7 @@ } if($conditiontype==CONDITION_TYPE_TRIGGER) { - $trigger=get_trigger_by_triggerid($value); - if($trigger) $desc=S_TRIGGER." $op "."\"".$trigger["description"]."\""; + $desc=S_TRIGGER." $op "."\"".expand_trigger_description($value)."\""; } else if($conditiontype==CONDITION_TYPE_HOST) { diff --git a/frontends/php/include/classes/cform.inc.php b/frontends/php/include/classes/cform.inc.php index 3dee3109..ace2a10b 100644 --- a/frontends/php/include/classes/cform.inc.php +++ b/frontends/php/include/classes/cform.inc.php @@ -39,8 +39,16 @@ } function SetAction($value=NULL) { + global $page; + if(is_null($value)) + { + if(isset($page["file"])) + { + return $this->AddOption("action",$page["file"]); + } return 1; + } elseif(!is_string($value)) { return $this->error("Incorrect value for SetAction [$value]"); diff --git a/frontends/php/include/classes/clink.inc.php b/frontends/php/include/classes/clink.inc.php index dd32db42..354b7579 100644 --- a/frontends/php/include/classes/clink.inc.php +++ b/frontends/php/include/classes/clink.inc.php @@ -35,6 +35,18 @@ $this->AddItem($item); $this->SetUrl($url); } + function SetAction($value=NULL) + { + if(is_null($value)) + { + return $this->AddOption("action",$page["file"]); + } + elseif(!is_string($value)) + { + return $this->error("Incorrect value for SetAction [$value]"); + } + return $this->AddOption("onClick",$value); + } function SetUrl($value) { if(is_null($value)) diff --git a/frontends/php/include/classes/ctag.inc.php b/frontends/php/include/classes/ctag.inc.php index 8a115bde..563ad4eb 100644 --- a/frontends/php/include/classes/ctag.inc.php +++ b/frontends/php/include/classes/ctag.inc.php @@ -119,7 +119,7 @@ } if(!is_string($value) && !is_int($value) && !is_float($value)) { - return $this->error("Incorrect value for AddOption [$value]"); + return $this->error("Incorrect value for AddOption [$name] [$value]"); } $this->options[$name] = htmlspecialchars(strval($value)); diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php index e73db8d7..0e4aa9b3 100644 --- a/frontends/php/include/forms.inc.php +++ b/frontends/php/include/forms.inc.php @@ -1036,9 +1036,9 @@ $frmAutoReg->AddRow(S_PRIORITY,new CTextBox("priority",$priority,4)); $frmAutoReg->AddRow(S_HOST,array( new CTextBox("host",$host,32,NULL,'yes'), - new CButton("btn1","Select", - "return PopUp('popup.php?form=".$frmAutoReg->GetName(). - "&field1=hostid&field2=host','new_win',". + new CButton("btn1",S_SELECT, + "return PopUp('popup.php?dstfrm=".$frmAutoReg->GetName(). + "&dstfld1=hostid&dstfld2=host&srctbl=hosts&srcfld1=hostid&srcfld2=host','new_win',". "'width=450,height=450,resizable=1,scrollbars=1');", 'T') )); @@ -1315,9 +1315,9 @@ $txtCondVal = new CTextBox('host','',20); $txtCondVal->SetReadonly('yes'); - $btnSelect = new CButton('btn1','Select', - "return PopUp('popup.php?form=".$frmAction->GetName(). - "&field1=new_condition_value&field2=host','new_win',". + $btnSelect = new CButton('btn1',S_SELECT, + "return PopUp('popup.php?dstfrm=".$frmAction->GetName(). + "&dstfld1=new_condition_value&dstfld2=host&srctbl=hosts&srcfld1=hostid&srcfld2=host','new_win',". "'width=450,height=450,resizable=1,scrollbars=1');"); $btnSelect->SetAccessKey('T'); @@ -1325,17 +1325,17 @@ } else if($new_condition_type == CONDITION_TYPE_TRIGGER) { - $cmbCondVal = new CComboBox('new_condition_value'); - $triggers = DBselect("select distinct h.host,t.triggerid,t.description". - " from triggers t, functions f,items i, hosts h". - " where t.triggerid=f.triggerid and f.itemid=i.itemid". - " and h.hostid=i.hostid order by h.host"); - while($trigger = DBfetch($triggers)) - { - $cmbCondVal->AddItem($trigger["triggerid"], - $trigger["host"].":".SPACE.$trigger["description"]); - } - array_push($rowCondition,$cmbCondVal); + $frmAction->AddVar('new_condition_value','0'); + + $txtCondVal = new CTextBox('trigger','',20); + $txtCondVal->SetReadonly('yes'); + + $btnSelect = new CButton('btn1',S_SELECT, + "return PopUp('popup.php?dstfrm=".$frmAction->GetName(). + "&dstfld1=new_condition_value&dstfld2=trigger&srctbl=triggers&srcfld1=triggerid&srcfld2=description','new_win',". + "'width=600,height=450,resizable=1,scrollbars=1');"); + $btnSelect->SetAccessKey('T'); + array_push($rowCondition, $txtCondVal, $btnSelect); } else if($new_condition_type == CONDITION_TYPE_TRIGGER_NAME) { @@ -2469,8 +2469,8 @@ $frmEl->AddVar("elementid",$elementid); $frmEl->AddRow(S_HOST, array( new CTextBox("host",$host,32,NULL,'yes'), - new CButton("btn1","Select","return PopUp('popup.php?form=".$frmEl->GetName(). - "&field1=elementid&field2=host','new_win',". + new CButton("btn1",S_SELECT,"return PopUp('popup.php?dstfrm=".$frmEl->GetName(). + "&dstfld1=elementid&dstfld2=host&srctbl=hosts&srcfld1=hostid&srcfld2=host','new_win',". "'width=450,height=450,resizable=1,scrollbars=1');","T") )); } @@ -2588,14 +2588,6 @@ $cmbElements->AddItem($db_selement["selementid"],$label); } - $cmbIndic = new CComboBox("triggerid",$triggerid); - $cmbIndic->AddItem(0,"-"); - $result=DBselect("select triggerid from triggers order by description"); - while($row=DBfetch($result)) - { - $cmbIndic->AddItem($row["triggerid"],expand_trigger_description($row["triggerid"])); - } - $cmbType = new CComboBox("drawtype_off",$drawtype_off); $cmbType->AddItem(0,get_drawtype_description(0)); $cmbType->AddItem(1,get_drawtype_description(1)); @@ -2623,7 +2615,22 @@ $cmbElements->SetValue($selementid2); // rename without recreation $frmCnct->AddRow("Element 2",$cmbElements); - $frmCnct->AddRow("Link status indicator",$cmbIndic); + $frmCnct->AddVar('triggerid',$triggerid); + + if($triggerid > 0) + $trigger = expand_trigger_description($triggerid); + else + $trigger = ""; + + $txtTrigger = new CTextBox('trigger',$trigger,60); + $txtTrigger->SetReadonly('yes'); + + $btnSelect = new CButton('btn1',S_SELECT, + "return PopUp('popup.php?dstfrm=".$frmCnct->GetName(). + "&dstfld1=triggerid&dstfld2=trigger&srctbl=triggers&srcfld1=triggerid&srcfld2=description','new_win',". + "'width=600,height=450,resizable=1,scrollbars=1');"); + $btnSelect->SetAccessKey('T'); + $frmCnct->AddRow("Link status indicator",array($txtTrigger, $btnSelect)); $frmCnct->AddRow("Type (OFF)",$cmbType); $frmCnct->AddRow("Color (OFF)",$cmbColor); diff --git a/frontends/php/include/locales/en_gb.inc.php b/frontends/php/include/locales/en_gb.inc.php index fe7d6406..1c59a4c6 100644 --- a/frontends/php/include/locales/en_gb.inc.php +++ b/frontends/php/include/locales/en_gb.inc.php @@ -749,6 +749,7 @@ "S_SERVER"=> "Server", "S_DELETE"=> "Delete", "S_DELETE_SELECTED_SERVICES"=> "Delete selected services?", + "S_DELETE_SELECTED_LINKS"=> "Delete selected links?", "S_SERVICES_DELETED"=> "Services deleted", "S_CANNOT_DELETE_SERVICES"=> "Cannot delete services", @@ -761,6 +762,7 @@ "S_TRIGGER_BIG"=> "TRIGGER", // triggers.php + "S_NO_TRIGGERS_DEFINED"=> "No triggers defined", "S_CONFIGURATION_OF_TRIGGERS"=> "Configuration of triggers", "S_CONFIGURATION_OF_TRIGGERS_BIG"=> "CONFIGURATION OF TRIGGERS", "S_DEPENDENCY_ADDED"=> "Dependency added", @@ -918,6 +920,9 @@ "S_BULKLOADER_IMPORT_ACTIONS"=> "Import Actions", "S_BULKLOADER_IMPORT_ITSERVICES"=> "Import IT Services", +// popup.php + "S_EMPTY"=> "Empty", + // Menu "S_HELP"=> "Help", 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; + } ?> |
