From d76992f73658df06227395e4a79c4366294efebe Mon Sep 17 00:00:00 2001 From: osmiy Date: Thu, 16 Mar 2006 15:26:21 +0000 Subject: - 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 --- frontends/php/services.php | 679 +++++++++++++++++++-------------------------- 1 file changed, 280 insertions(+), 399 deletions(-) (limited to 'frontends/php/services.php') diff --git a/frontends/php/services.php b/frontends/php/services.php index 35168d54..28ab683e 100644 --- a/frontends/php/services.php +++ b/frontends/php/services.php @@ -35,508 +35,389 @@ show_page_footer(); exit; } + + $_REQUEST["serviceid"] = get_request("serviceid",0); + if($_REQUEST["serviceid"] == 0) unset($_REQUEST["serviceid"]); + + $_REQUEST["parentid"] = get_request("parentid", 0); + update_profile("web.menu.config.last",$page["file"]); ?> "; - echo ""; - echo "".S_ID.""; - echo "".S_SERVICE.""; - echo "".S_STATUS_CALCULATION.""; - echo ""; + $form = new CForm(); + $form->SetName("services"); - echo "
"; - if(isset($_REQUEST["serviceid"])) - { - echo ""; - } + $table = new CTableInfo(); + $table->SetHeader(array( + array(new CCheckBox("all_services",NULL,NULL, + "CheckAll('".$form->GetName()."','all_services');"), + S_ID), + S_SERVICE, + S_STATUS_CALCULATION, + S_TRIGGER + )); - $col=0; + $sql = "select serviceid,name,algorithm,triggerid from services order by sortorder,name"; if(isset($_REQUEST["serviceid"])) { - echo ""; + $form->AddVar("serviceid",$_REQUEST["serviceid"]); - $service=get_service_by_serviceid($_REQUEST["serviceid"]); - - $input=" ".$service["serviceid"]; - echo "$input"; - - echo "".$service["name"].""; - if($service["algorithm"] == SERVICE_ALGORITHM_NONE) - { - echo "".S_NONE.""; - } - else if($service["algorithm"] == SERVICE_ALGORITHM_MAX) - { - echo "".S_MAX_OF_CHILDS.""; - } - else if($service["algorithm"] == SERVICE_ALGORITHM_MIN) + $service = get_service_by_serviceid($_REQUEST["serviceid"]); + if($service) { - echo "".S_MIN_OF_CHILDS.""; + $childs=get_num_of_service_childs($service["serviceid"]); + + if(isset($service["triggerid"])) + $trigger = expand_trigger_description($service["triggerid"]); + else + $trigger = "-"; + + $table->AddRow(array( + array( + new CCheckBox("group_serviceid[]",NULL,NULL,NULL,$_REQUEST["serviceid"]), + $_REQUEST["serviceid"] + ), + new CLink(new CSpan($service["name"]." [$childs]","bold"),"services.php?serviceid=".$_REQUEST["parentid"]."#form"), + algorithm2str($service["algorithm"]), + $trigger + )); + $sql = "select s.serviceid,s.name,s.algorithm,triggerid from services s, services_links sl". + " where s.serviceid=sl.servicedownid and sl.serviceupid=".$_REQUEST["serviceid"]. + " order by s.sortorder,s.name"; } else { - echo "".S_UNKNOWN.""; + unset($_REQUEST["serviceid"]); } - echo ""; - $col++; } - while($row=DBfetch($result)) + $db_services = DBselect($sql); + while($service = DBfetch($db_services)) { - if(!isset($_REQUEST["serviceid"]) && service_has_parent($row["serviceid"])) - { - continue; - } - if(isset($_REQUEST["serviceid"]) && service_has_no_this_parent($_REQUEST["serviceid"],$row["serviceid"])) - { - continue; - } - if(isset($_REQUEST["serviceid"])&&($_REQUEST["serviceid"]==$row["serviceid"])) + $prefix = NULL; + if(!isset($_REQUEST["serviceid"])) { - echo ""; + if(service_has_parent($service["serviceid"])) + continue; } else { - if($col++%2==0) { echo ""; } - else { echo ""; } + $prefix = " - "; } + $childs=get_num_of_service_childs($service["serviceid"]); - $input=" ".$row["serviceid"]; - - echo "$input"; - - $childs=get_num_of_service_childs($row["serviceid"]); - if(isset($_REQUEST["serviceid"])) - { - echo " - ".$row["name"]." [$childs]"; - } - else - { - echo "".$row["name"]." [$childs]"; - } - if($row["algorithm"] == SERVICE_ALGORITHM_NONE) - { - echo "".S_NONE.""; - } - else if($row["algorithm"] == SERVICE_ALGORITHM_MAX) - { - echo "".S_MAX_OF_CHILDS.""; - } - else if($row["algorithm"] == SERVICE_ALGORITHM_MIN) - { - echo "".S_MIN_OF_CHILDS.""; - } + if(isset($service["triggerid"])) + $trigger = expand_trigger_description($service["triggerid"]); else - { - echo "".S_UNKNOWN.""; - } - echo ""; + $trigger = "-"; + + $parrent = get_request("serviceid",0); + $table->AddRow(array( + array(new CCheckBox("group_serviceid[]",NULL,NULL,NULL,$service["serviceid"]),$service["serviceid"]), + array($prefix, new CLink($service["name"]." [$childs]", + "services.php?serviceid=".$service["serviceid"]."&parentid=$parrent#form")), + algorithm2str($service["algorithm"]), + $trigger + )); } - echo ""; -?> -"; - show_table2_header_end(); - echo "
"; + $table->SetFooter(new CCol(new CButton("delete","Delete selected","return Confirm('".S_DELETE_SELECTED_SERVICES."');"))); + $form->AddItem($table); + $form->Show(); ?> - "; - echo ""; - echo "".S_SERVICE_1.""; - echo "".S_SERVICE_2.""; - echo "".S_SOFT_HARD_LINK.""; - echo "".S_ACTIONS.""; - echo ""; - $sql="select linkid,servicedownid,serviceupid,soft from services_links where serviceupid=".$_REQUEST["serviceid"]." or servicedownid=".$_REQUEST["serviceid"]; - $result=DBselect($sql); - $col=0; + + $form = new CForm(); + $form->SetName("Links"); + $form->AddVar("serviceid",$_REQUEST["serviceid"]); + $form->AddVar("parentid",$_REQUEST["parentid"]); + + $table = new CTableInfo(); + $table->SetHeader(array( + array(new CCheckBox("all_services",NULL,NULL, + "CheckAll('".$form->GetName()."','all_services');"), + S_LINK), + S_SERVICE_1, + S_SERVICE_2, + S_SOFT_HARD_LINK + )); + + $result=DBselect("select sl.linkid, sl.soft, sl.serviceupid, sl.servicedownid,". + " s1.name as serviceupname, s2.name as servicedownname". + " from services s1, services s2, services_links sl". + " where sl.serviceupid=s1.serviceid and sl.servicedownid=s2.serviceid". + " and (sl.serviceupid=".$_REQUEST["serviceid"]." or sl.servicedownid=".$_REQUEST["serviceid"].")"); + $i = 1; while($row=DBfetch($result)) { - if($col++%2==0) { echo ""; } - else { echo ""; } - $service=get_service_by_serviceid($row["serviceupid"]); - echo "".$service["name"].""; - $service=get_service_by_serviceid($row["servicedownid"]); - echo "".$service["name"].""; - if($row["soft"] == 0) - { - echo "".S_HARD.""; - } - else - { - echo "".S_SOFT.""; - } - echo "".S_DELETE.""; - echo ""; + $table->AddRow(array( + array( + new CCheckBox("group_linkid[]",NULL,NULL,NULL,$row["linkid"]), + new CLink(S_LINK.SPACE.$i++, + "services.php?form=update&linkid=".$row["linkid"].url_param("serviceid"), + "action"), + ), + new CLink($row["serviceupname"],"services.php?serviceid=".$row["serviceupid"]), + new CLink($row["servicedownname"],"services.php?serviceid=".$row["servicedownid"]), + $row["soft"] == 0 ? S_HARD : S_SOFT + )); } - echo ""; + $table->SetFooter(new CCol(new CButton("delete","Delete selected","return Confirm('".S_DELETE_SELECTED_LINKS."');"))); + $form->AddItem($table); + $form->Show(); } ?> SetHelp("web.services.service.php"); + $frmService->AddVar("parentid",$_REQUEST["parentid"]); + if(isset($_REQUEST["serviceid"])) { - $service=get_service_by_serviceid($_REQUEST["serviceid"]); - $triggerid=$service["triggerid"]; - $name=$service["name"]; - $algorithm=$service["algorithm"]; - $showsla=$service["showsla"]; - $goodsla=$service["goodsla"]; - $sortorder=$service["sortorder"]; - } - else - { - $name=""; - $showsla=0; - $goodsla=99.05; - $sortorder=0; - $algorithm=0; - unset($triggerid); - } + $frmService->AddVar("serviceid",$_REQUEST["serviceid"]); - echo ""; - show_form_begin("services.service"); - echo S_SERVICE; - $col=0; - - if(isset($_REQUEST["groupid"])&&($_REQUEST["groupid"]==0)) - { - unset($_REQUEST["groupid"]); - } + $service=get_service_by_serviceid($_REQUEST["serviceid"]); - show_table2_v_delimiter($col++); - echo "
"; - if(isset($_REQUEST["serviceid"])) - { - echo ""; - } - echo S_NAME; - show_table2_h_delimiter(); - echo ""; - - show_table2_v_delimiter($col++); - echo nbsp(S_STATUS_CALCULATION_ALGORITHM); - show_table2_h_delimiter(); - echo ""; - show_table2_v_delimiter($col++); - echo nbsp(S_SHOW_SLA); - show_table2_h_delimiter(); - if($showsla==1) + if(isset($_REQUEST["serviceid"]) && !isset($_REQUEST["form_refresh"])) { - // echo ""; - echo ""; + $name =$service["name"]; + $algorithm =$service["algorithm"]; + $showsla =$service["showsla"]; + $goodsla =$service["goodsla"]; + $sortorder =$service["sortorder"]; + $triggerid =$service["triggerid"]; + $linktrigger = isset($triggerid) ? 'yes' : 'no'; + if(!isset($triggerid)) $triggerid = 0; } else { - echo ""; + $name = get_request("name",""); + $showsla = get_request("showsla",0); + $goodsla = get_request("goodsla",99.05); + $sortorder = get_request("sortorder",0); + $algorithm = get_request("algorithm",0); + $triggerid = get_request("triggerid",0); + $linktrigger = isset($_REQUEST["linktrigger"]) ? 'yes' : 'no'; } - show_table2_v_delimiter($col++); - echo nbsp(S_ACCEPTABLE_SLA_IN_PERCENT); - show_table2_h_delimiter(); - echo ""; - - show_table2_v_delimiter($col++); - echo nbsp(S_LINK_TO_TRIGGER_Q); - show_table2_h_delimiter(); - if(isset($triggerid)&&($triggerid!="")) - { - echo ""; - } - else + if(isset($_REQUEST["serviceid"])) { - echo ""; + $frmService->AddVar("serviceid",$_REQUEST["serviceid"]); } + $frmService->AddRow(S_NAME,new CTextBox("name",$name)); - show_table2_v_delimiter($col++); - echo S_TRIGGER; - show_table2_h_delimiter(); - $h2="".SPACE; + $cmbAlg = new CComboBox("algorithm",$algorithm); + $cmbAlg->AddItem(0,S_DO_NOT_CALCULATE); + $cmbAlg->AddItem(1,S_MAX_BIG); + $cmbAlg->AddItem(2,S_MIN_BIG); + $frmService->AddRow(S_STATUS_CALCULATION_ALGORITHM, $cmbAlg); - $h2=$h2."".SPACE; - echo $h2; + $frmService->AddRow(S_LINK_TO_TRIGGER_Q, new CCheckBox("linktrigger",$linktrigger,NULL,"submit();")); - if(isset($_REQUEST["hostid"])) + if($linktrigger == 'yes') { - show_table2_v_delimiter($col++); - echo SPACE; - show_table2_h_delimiter(); - $result=DBselect("select t.triggerid,t.description from triggers t,functions f, hosts h, items i where h.hostid=i.hostid and f.itemid=i.itemid and t.triggerid=f.triggerid and h.hostid=".$_REQUEST["hostid"]." order by t.description"); - echo ""; + if($triggerid > 0) + $trigger = expand_trigger_description($triggerid); + else + $trigger = ""; + + $frmService->AddRow(S_TRIGGER,array( + new CTextBox("trigger",$trigger,32,NULL,'yes'), + new CButton("btn1",S_SELECT, + "return PopUp('popup.php?". + "dstfrm=".$frmService->GetName()."&dstfld1=triggerid&dstfld2=trigger". + "&srctbl=triggers&srcfld1=triggerid&&srcfld2=description','new_win',". + "'width=600,height=450,resizable=1,scrollbars=1');", + 'T') + )); + $frmService->AddVar("triggerid",$triggerid); } - show_table2_v_delimiter($col++); - echo nbsp(S_SORT_ORDER_0_999); - show_table2_h_delimiter(); - echo ""; - + $frmService->AddRow(S_SORT_ORDER_0_999, new CTextBox("sortorder",$sortorder,3)); - show_table2_v_delimiter2(); - if(!isset($triggerid)||($triggerid=="")) - { - echo ""; - } + $frmService->AddItemToBottomRow(new CButton("save_service",S_SAVE)); if(isset($_REQUEST["serviceid"])) { - echo ""; - echo ""; + $frmService->AddItemToBottomRow(SPACE); + $frmService->AddItemToBottomRow(new CButtonDelete( + "Delete selected service?", + url_param("form").url_param("serviceid")."&delete_service=1" + )); } - - show_table2_header_end(); + $frmService->AddItemToBottomRow(SPACE); + $frmService->AddItemToBottomRow(new CButtonCancel("&serviceid=".get_request("parentid",0))); + $frmService->Show(); ?> SetHelp("web.services.link.php"); + $frmLink->AddVar("serviceid",$_REQUEST["serviceid"]); + $frmLink->AddVar("parentid",$_REQUEST["parentid"]); + + if(isset($_REQUEST["linkid"])) + { + $frmLink->AddVar("linkid",$_REQUEST["linkid"]); - show_form_begin("services.link"); - echo nbsp(S_LINK_TO); - $col=0; + $link = get_services_links_by_linkid($_REQUEST["linkid"]); + $serviceupid = $link["serviceupid"]; + $servicedownid = $link["servicedownid"]; + $soft = $link["soft"]; + } + else + { + $serviceupid = get_request("serviceupid",$_REQUEST["serviceid"]); + $servicedownid = get_request("servicedownid",0); + $soft = get_request("soft",1); + } - show_table2_v_delimiter($col++); - echo ""; - if(isset($_REQUEST["serviceid"])) - { - echo ""; - echo ""; - } - echo S_NAME; - show_table2_h_delimiter(); - $result=DBselect("select serviceid,triggerid,name from services order by name"); - echo ""; - - show_table2_v_delimiter($col++); - echo nbsp(S_SOFT_LINK_Q); - show_table2_h_delimiter(); -// if(isset($_REQUEST["softlink"])&&($_REQUEST["triggerid"]!="")) -// { -// echo ""; -// } -// else -// { -// echo ""; -// } - echo ""; - - show_table2_v_delimiter2(); - echo ""; - - show_table2_header_end(); + $frmLink->AddItemToBottomRow(SPACE); + $frmLink->AddItemToBottomRow(new CButtonCancel(url_param("serviceid"))); + $frmLink->Show(); + } ?> SetHelp("web.services.server.php"); + $frmDetails->AddVar("serviceid",$_REQUEST["serviceid"]); + $frmDetails->AddVar("parentid",$_REQUEST["parentid"]); + + $cmbServers = new CComboBox("serverid"); + $result=DBselect("select hostid,host from hosts order by host"); + while($row=DBfetch($result)) + { + $cmbServers->AddItem($row["hostid"],$row["host"]); + } + $frmDetails->AddRow(S_SERVER,$cmbServers); - show_form_begin("services.server"); - echo nbsp(S_ADD_SERVER_DETAILS); - $col=0; - - show_table2_v_delimiter($col++); - echo ""; - if(isset($_REQUEST["serviceid"])) - { - echo ""; - } - echo S_SERVER; - show_table2_h_delimiter(); - $result=DBselect("select hostid,host from hosts order by host"); - echo ""; - - show_table2_v_delimiter2(); - echo ""; - - show_table2_header_end(); + $frmDetails->AddItemToBottomRow(new CButton("add_server","Add server")); + $frmDetails->Show(); } ?> -- cgit