summaryrefslogtreecommitdiffstats
path: root/frontends/php
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-08-23 13:28:42 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-08-23 13:28:42 +0000
commiteb821e44cd74bcf26ec65976f495a6c6d2fdd486 (patch)
tree57343feccd81333fd8751b5ae198da8a5623f2f7 /frontends/php
parent674e399c0e58a78d3308df9e345419cf53008144 (diff)
downloadzabbix-eb821e44cd74bcf26ec65976f495a6c6d2fdd486.tar.gz
zabbix-eb821e44cd74bcf26ec65976f495a6c6d2fdd486.tar.xz
zabbix-eb821e44cd74bcf26ec65976f495a6c6d2fdd486.zip
- merged rev. 4596:4597 of branches/1.4.j/ (Artem) [improved some javascripts, minor changes]
git-svn-id: svn://svn.zabbix.com/trunk@4643 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php')
-rw-r--r--frontends/php/include/page_header.php26
-rw-r--r--frontends/php/include/services.inc.php6
-rw-r--r--frontends/php/js/common.js46
-rw-r--r--frontends/php/js/services.js341
-rw-r--r--frontends/php/services_form.php22
5 files changed, 237 insertions, 204 deletions
diff --git a/frontends/php/include/page_header.php b/frontends/php/include/page_header.php
index 88038161..9d9a2caf 100644
--- a/frontends/php/include/page_header.php
+++ b/frontends/php/include/page_header.php
@@ -147,32 +147,34 @@ COpt::profiling_start("page");
"default_page_id" => 0,
"forse_disable_subnodes"=> true,
"pages"=>array(
- array("url"=>"config.php" ,"label"=>S_GENERAL ,
+ array("url"=>"config.php" ,"label"=>S_GENERAL,
"sub_pages"=>array("image.php")
),
- array("url"=>"httpconf.php" ,"label"=>S_WEB ,
+ array("url"=>"httpconf.php" ,"label"=>S_WEB,
"sub_pages"=>array("popup_httpstep.php")
),
- array("url"=>"hosts.php" ,"label"=>S_HOSTS ),
- array("url"=>"items.php" ,"label"=>S_ITEMS ),
- array("url"=>"triggers.php" ,"label"=>S_TRIGGERS ,
+ array("url"=>"hosts.php" ,"label"=>S_HOSTS),
+ array("url"=>"items.php" ,"label"=>S_ITEMS,
+ "sub_pages"=>array("tr_logform.php")
+ ),
+ array("url"=>"triggers.php" ,"label"=>S_TRIGGERS,
"sub_pages"=>array("popup_trexpr.php")
),
- array("url"=>"actionconf.php" ,"label"=>S_ACTIONS ),
- array("url"=>"sysmaps.php" ,"label"=>S_MAPS ,
+ array("url"=>"actionconf.php" ,"label"=>S_ACTIONS),
+ array("url"=>"sysmaps.php" ,"label"=>S_MAPS,
"sub_pages"=>array("sysmap.php")
),
- array("url"=>"graphs.php" ,"label"=>S_GRAPHS ,
+ array("url"=>"graphs.php" ,"label"=>S_GRAPHS,
"sub_pages"=>array("popup_gitem.php")
),
- array("url"=>"screenconf.php" ,"label"=>S_SCREENS ,
+ array("url"=>"screenconf.php" ,"label"=>S_SCREENS,
"sub_pages"=>array("screenedit.php")
),
- array("url"=>"services.php" ,"label"=>S_IT_SERVICES ,
+ array("url"=>"services.php" ,"label"=>S_IT_SERVICES,
"sub_pages"=>array("services_form.php")
),
- array('url'=>'discoveryconf.php','label'=>S_DISCOVERY ),
- array("url"=>"exp_imp.php" ,"label"=>S_EXPORT_IMPORT ),
+ array('url'=>'discoveryconf.php','label'=>S_DISCOVERY),
+ array("url"=>"exp_imp.php" ,"label"=>S_EXPORT_IMPORT),
array("url"=>"popup.php")
)
),
diff --git a/frontends/php/include/services.inc.php b/frontends/php/include/services.inc.php
index c9be5f08..32367ce8 100644
--- a/frontends/php/include/services.inc.php
+++ b/frontends/php/include/services.inc.php
@@ -720,11 +720,7 @@ $dt = 0;
}
return ;
}
-
- function closeform(){
- zbx_add_post_js('closeform();');
- }
-
+
function del_empty_nodes($services){
do{
unset($retry);
diff --git a/frontends/php/js/common.js b/frontends/php/js/common.js
index 6a3aa2b1..3cffa7ac 100644
--- a/frontends/php/js/common.js
+++ b/frontends/php/js/common.js
@@ -19,10 +19,26 @@
var OP = window.opera?true:false;
var IE = ((!OP) && (document.all))?true:false;
+if (!Array.prototype.forEach)
+{
+ Array.prototype.forEach = function(fun /*, thisp*/)
+ {
+ var len = this.length;
+ if (typeof fun != "function")
+ throw new TypeError();
+
+ var thisp = arguments[1];
+ for (var i = 0; i < len; i++)
+ {
+ if (i in this)
+ fun.call(thisp, this[i], i, this);
+ }
+ };
+}
function SDI(msg)
{
- alert("DEBUG INFO: \n\r" + msg);
+ alert("DEBUG INFO: " + msg);
}
function close_window()
@@ -225,3 +241,31 @@ function resizeiframe(id){
}
iframe.style.height = (height)+'px';
}
+
+function openWinCentered(loc, winname, iwidth, iheight, params){
+ tp=Math.ceil((screen.height-iheight)/2);
+ lf=Math.ceil((screen.width-iwidth)/2);
+ if (params.length > 0){
+ params = ', ' + params;
+ }
+
+ var WinObjReferer = window.open(loc,winname,"width="+iwidth+",height="+iheight+",top="+tp+",left="+lf+params);
+ WinObjReferer.focus();
+}
+
+function isset(obj){
+ return (typeof(obj) != 'undefined');
+}
+
+function empty(obj){
+ if(isset(obj) && obj) return true;
+ return false;
+}
+
+function is_number(obj){
+ return (typeof(obj) == 'number');
+}
+
+function is_string(obj){
+ return (typeof(obj) == 'string');
+}
diff --git a/frontends/php/js/services.js b/frontends/php/js/services.js
index 6b42a8a2..2d5cbb64 100644
--- a/frontends/php/js/services.js
+++ b/frontends/php/js/services.js
@@ -1,176 +1,167 @@
-// JavaScript Document
-function call_menu(evnt,id,name){
- if(id != 0){
- show_popup_menu(evnt,
- [
- [name,null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],
- ['Add Service',"javascript: openWinCentered('services_form.php?sform=1&parentid="+id+"&parentname="+name+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=yes');", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],
- ['Edit Service',"javascript: openWinCentered('services_form.php?sform=1&serviceid="+id+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=yes');",null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],
- ['Delete Service',"javascript: if(Confirm('Delete selected services?')){ openWinCentered('services_form.php?saction=1&delete=1&serviceid="+id+"','ServiceForm',400,300,'titlebar=no, resizable=yes, scrollbars=yes, dialog=yes');}",null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}]
- ],120);
- } else {
- show_popup_menu(evnt,
- [
- [name,null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],
- ['Add Service',"javascript: openWinCentered('services_form.php?sform=1&parentid="+id+"&parentname="+name+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=yes');", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}]
- ],120);
- }
-return false;
-}
-
-function openWinCentered(loc, winname, iwidth, iheight, params){
- tp=Math.ceil((screen.height-iheight)/2);
- lf=Math.ceil((screen.width-iwidth)/2);
- if (params.length > 0){
- params = ', ' + params;
- }
-
- var WinObjReferer = window.open(loc,winname,"width="+iwidth+",height="+iheight+",top="+tp+",left="+lf+params);
- WinObjReferer.focus();
-}
-
-function services_showsla(sla){
-try{
- if(sla.checked){
- document.getElementById('SLA').style.display = 'none';
- } else {
- document.getElementById('SLA').style.display = (!IE || OP)?('table-row'):('block');
- }
-} catch(e){
- alert(e);
-}
-}
-
-function add_child_service(name,serviceid,trigger,triggerid){
-// alert(name+','+serviceid+','+trigger+','+triggerid);
- var tr = document.createElement('tr');
- tr.setAttribute('class','even_row');
-
- var td = document.createElement('td');
-
- var chkbx = document.createElement('input');
- chkbx.type = 'checkbox';
- chkbx.value = serviceid;
- chkbx.name = 'childs['+serviceid+'][serviceid]';
-
- var input = document.createElement('input');
- input.setAttribute('type','hidden');
- input.setAttribute('value',serviceid);
- input.setAttribute('name','childs['+serviceid+'][serviceid]');
-
- td.appendChild(chkbx);
- td.appendChild(input);
- tr.appendChild(td);
-
- var td = document.createElement('td');
-
- var url = document.createElement('a');
- url.setAttribute('href','services_form.php?sform=1&serviceid='+serviceid);
- url.setAttribute('class','action');
- url.appendChild(document.createTextNode(name));
-
- var input = document.createElement('input');
- input.setAttribute('type','hidden');
- input.setAttribute('value',name);
- input.setAttribute('name','childs['+serviceid+'][name]');
-
- td.appendChild(url);
- td.appendChild(input);
- tr.appendChild(td);
-
- var td = document.createElement('td');
-
- var chkbx = document.createElement('input');
- chkbx.type = 'checkbox';
- chkbx.value = '1';
- chkbx.name = 'childs['+serviceid+'][soft]';
-
- td.appendChild(chkbx);
- tr.appendChild(td);
-
- var td = document.createElement('td');
-
- var input = document.createElement('input');
- input.setAttribute('type','hidden');
- input.setAttribute('value',triggerid);
- input.setAttribute('name','childs['+serviceid+'][triggerid]');
-
- td.appendChild(document.createTextNode(trigger));
- td.appendChild(input);
- tr.appendChild(td);
-
- document.getElementById('service_childs').firstChild.appendChild(tr);
-}
-
-function check_childs(form_name, chkMain, chkName){
- var frmForm = document.forms[form_name];
- var value = frmForm.elements[chkName].checked;
-
- for (var i=0; i < frmForm.length; i++){
- if(frmForm.elements[i].type != 'checkbox') continue;
- if(frmForm.elements[i].disabled == true) continue;
-
- var splt = frmForm.elements[i].name.split('[');
- var name = splt[0];
- var serviceid = splt[1];
-
- if(chkName && chkName == name) continue;
- if(chkMain && chkMain != name) continue;
-
- if(frmForm.elements[i].name != chkMain+'['+serviceid+'[serviceid]') continue;
- frmForm.elements[i].checked = value;
- }
-}
-
-function remove_childs(form_name,rmvbyname,tag){
- tag = tag.toUpperCase();
- var frmForm = document.forms[form_name];
- for (var i=0; i < frmForm.length; i++){
- if(frmForm.elements[i].type != 'checkbox') continue;
- if(frmForm.elements[i].disabled == true) continue;
- if(frmForm.elements[i].checked != true) continue;
-
- var splt = frmForm.elements[i].name.split('[');
- var name = splt[0];
- var serviceid = splt[1];
-
- if(rmvbyname && rmvbyname != name) continue;
- if(frmForm.elements[i].name != rmvbyname+'['+serviceid+'[serviceid]') continue;
-
- remove_element(frmForm.elements[i],tag);
- i--;
- }
-}
-
-function remove_element(elmnt,tag){
- if(elmnt.nodeName == tag){
- elmnt.parentNode.removeChild(elmnt);
- } else if(elmnt.nodeType == 9){
- return;
- } else {
- remove_element(elmnt.parentNode,tag);
- }
-}
-
-
-function display_element(name){
- var elmnt = document.getElementById(name);
- if(typeof(elmnt) == 'undefined'){
- return;
- }else if(elmnt.offsetWidth == 0){
- elmnt.style.display = (!IE || OP)?("table-row"):('block');
- }else {
- elmnt.style.display = 'none';
- }
-}
-
-function closeform(){
- var msg="";
- try{
- msg = (IE)?(document.getElementsByTagName('p')[0].innerText):(document.getElementsByTagName('p')[0].textContent);
- } catch(e){
- alert(e);
- }
- opener.location.replace('services.php?msg='+encodeURI(msg));
- self.close();
+// JavaScript Document
+function call_menu(evnt,id,name){
+ if(id != 0){
+ show_popup_menu(evnt,
+ [
+ [name,null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],
+ ['Add Service',"javascript: openWinCentered('services_form.php?sform=1&parentid="+id+"&parentname="+name+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],
+ ['Edit Service',"javascript: openWinCentered('services_form.php?sform=1&serviceid="+id+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');",null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],
+ ['Delete Service',"javascript: if(Confirm('Delete selected services?')){ openWinCentered('services_form.php?saction=1&delete=1&serviceid="+id+"','ServiceForm',400,300,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');}",null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}]
+ ],120);
+ } else {
+ show_popup_menu(evnt,
+ [
+ [name,null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],
+ ['Add Service',"javascript: openWinCentered('services_form.php?sform=1&parentid="+id+"&parentname="+name+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}]
+ ],120);
+ }
+return false;
+}
+
+function services_showsla(sla){
+try{
+ if(sla.checked){
+ document.getElementById('SLA').style.display = 'none';
+ } else {
+ document.getElementById('SLA').style.display = (!IE || OP)?('table-row'):('block');
+ }
+} catch(e){
+ alert(e);
+}
+}
+
+function add_child_service(name,serviceid,trigger,triggerid){
+// alert(name+','+serviceid+','+trigger+','+triggerid);
+ var tr = document.createElement('tr');
+ document.getElementById('service_childs').firstChild.appendChild(tr);
+
+ var classattr = (IE)?'className':'class';
+
+ tr.setAttribute(classattr,'even_row');
+
+ var td = document.createElement('td');
+
+ var chkbx = document.createElement('input');
+ chkbx.type = 'checkbox';
+ chkbx.value = serviceid;
+ chkbx.name = 'childs['+serviceid+'][serviceid]';
+
+ var input = document.createElement('input');
+ input.setAttribute('type','hidden');
+ input.setAttribute('value',serviceid);
+ input.setAttribute('name','childs['+serviceid+'][serviceid]');
+
+ td.appendChild(chkbx);
+ td.appendChild(input);
+ tr.appendChild(td);
+
+ var td = document.createElement('td');
+
+ var url = document.createElement('a');
+ url.setAttribute('href','services_form.php?sform=1&serviceid='+serviceid);
+ url.setAttribute(classattr,'action');
+ url.appendChild(document.createTextNode(name));
+
+ var input = document.createElement('input');
+ input.setAttribute('type','hidden');
+ input.setAttribute('value',name);
+ input.setAttribute('name','childs['+serviceid+'][name]');
+
+ td.appendChild(url);
+ td.appendChild(input);
+ tr.appendChild(td);
+
+ var td = document.createElement('td');
+
+ var chkbx = document.createElement('input');
+ chkbx.type = 'checkbox';
+ chkbx.value = '1';
+ chkbx.name = 'childs['+serviceid+'][soft]';
+
+ td.appendChild(chkbx);
+ tr.appendChild(td);
+
+ var td = document.createElement('td');
+
+ var input = document.createElement('input');
+ input.setAttribute('type','hidden');
+ input.setAttribute('value',triggerid);
+ input.setAttribute('name','childs['+serviceid+'][triggerid]');
+
+ td.appendChild(document.createTextNode(trigger));
+ td.appendChild(input);
+ tr.appendChild(td);
+}
+
+function check_childs(form_name, chkMain, chkName){
+ var frmForm = document.forms[form_name];
+ var value = frmForm.elements[chkName].checked;
+
+ for (var i=0; i < frmForm.length; i++){
+ if(frmForm.elements[i].type != 'checkbox') continue;
+ if(frmForm.elements[i].disabled == true) continue;
+
+ var splt = frmForm.elements[i].name.split('[');
+ var name = splt[0];
+ var serviceid = splt[1];
+
+ if(chkName && chkName == name) continue;
+ if(chkMain && chkMain != name) continue;
+
+ if(frmForm.elements[i].name != chkMain+'['+serviceid+'[serviceid]') continue;
+ frmForm.elements[i].checked = value;
+ }
+}
+
+function remove_childs(form_name,rmvbyname,tag){
+ tag = tag.toUpperCase();
+ var frmForm = document.forms[form_name];
+ for (var i=0; i < frmForm.length; i++){
+ if(frmForm.elements[i].type != 'checkbox') continue;
+ if(frmForm.elements[i].disabled == true) continue;
+ if(frmForm.elements[i].checked != true) continue;
+
+ var splt = frmForm.elements[i].name.split('[');
+ var name = splt[0];
+ var serviceid = splt[1];
+
+ if(rmvbyname && rmvbyname != name) continue;
+ if(frmForm.elements[i].name != rmvbyname+'['+serviceid+'[serviceid]') continue;
+
+ remove_element(frmForm.elements[i],tag);
+ i--;
+ }
+}
+
+function remove_element(elmnt,tag){
+ if(elmnt.nodeName == tag){
+ elmnt.parentNode.removeChild(elmnt);
+ } else if(elmnt.nodeType == 9){
+ return;
+ } else {
+ remove_element(elmnt.parentNode,tag);
+ }
+}
+
+
+function display_element(name){
+ var elmnt = document.getElementById(name);
+ if(typeof(elmnt) == 'undefined'){
+ return;
+ }else if(elmnt.offsetWidth == 0){
+ elmnt.style.display = (!IE || OP)?("table-row"):('block');
+ }else {
+ elmnt.style.display = 'none';
+ }
+}
+
+function closeform(page){
+ var msg="";
+ try{
+ msg = (IE)?(document.getElementsByTagName('p')[0].innerText):(document.getElementsByTagName('p')[0].textContent);
+ } catch(e){
+ alert(e);
+ }
+ opener.location.replace('services.php?msg='+encodeURI(msg));
+ self.close();
} \ No newline at end of file
diff --git a/frontends/php/services_form.php b/frontends/php/services_form.php
index aff6e1e2..9b240e8b 100644
--- a/frontends/php/services_form.php
+++ b/frontends/php/services_form.php
@@ -154,7 +154,7 @@ if(isset($_REQUEST['saction'])){
show_messages($result, S_TRIGGER_ADDED, S_CANNOT_ADD_TRIGGER);
}
if($result){
- closeform();
+ zbx_add_post_js('closeform("services.php");');
include_once "include/page_footer.php";
}
}
@@ -401,14 +401,14 @@ if(isset($_REQUEST['sform'])){
array_push($service_times, $stime);
}
//links
- $query = 'SELECT DISTINCT
- 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 NOT(sl.soft=1)
- AND sl.servicedownid='.$service['serviceid'];
+ $query = 'SELECT DISTINCT '.
+ ' 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 NOT(sl.soft=1) '.
+ ' AND sl.servicedownid='.$service['serviceid'];
if($link=DBFetch(DBSelect($query))){
$parentid = $link["serviceupid"];
@@ -479,7 +479,7 @@ if(isset($_REQUEST['sform'])){
$cb = new CButton('select_parent',S_CHANGE);
$cb->SetType('button');
- $cb->SetAction("javascript: openWinCentered('services_form.php?pservices=1".url_param('serviceid')."','ZBX_Services_List',720,420,'toolbar=0, menubar=0, resizable=0');");
+ $cb->SetAction("javascript: openWinCentered('services_form.php?pservices=1".url_param('serviceid')."','ZBX_Services_List',740,420,'scrollbars=1, toolbar=0, menubar=0, resizable=1, dialog=0');");
$frmService->AddRow('Parent Service',array($ctb,$cb));
//----------
@@ -533,7 +533,7 @@ if(isset($_REQUEST['sform'])){
$cb = new CButton('add_child_service',S_ADD);
$cb->SetType('button');
- $cb->SetAction("javascript: openWinCentered('services_form.php?cservices=1".url_param('serviceid')."','ZBX_Services_List',620,520,'toolbar=0, menubar=0, resizable=0');");
+ $cb->SetAction("javascript: openWinCentered('services_form.php?cservices=1".url_param('serviceid')."','ZBX_Services_List',640,520,'scrollbars=1, toolbar=0, menubar=0, resizable=0');");
$cb2 = new CButton('del_child_service',S_REMOVE);
$cb2->SetType('button');