diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-01-20 11:51:40 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-01-20 11:51:40 +0000 |
| commit | d57d1c42166cd82e6fb91bd0371b077e9e9f381b (patch) | |
| tree | 73d9a9f349d7baf52c02011ae3f03ec61dbae7eb /frontends/php/include | |
| parent | 00ad786c34052a414e1c9d4a19dc4065b76192d8 (diff) | |
| download | zabbix-d57d1c42166cd82e6fb91bd0371b077e9e9f381b.tar.gz zabbix-d57d1c42166cd82e6fb91bd0371b077e9e9f381b.tar.xz zabbix-d57d1c42166cd82e6fb91bd0371b077e9e9f381b.zip | |
- Frontend improvements (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@2547 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include')
| -rw-r--r-- | frontends/php/include/classes/cbutton.inc.php | 58 | ||||
| -rw-r--r-- | frontends/php/include/classes/cspan.inc.php | 32 | ||||
| -rw-r--r-- | frontends/php/include/config.inc.php | 51 | ||||
| -rw-r--r-- | frontends/php/include/forms.inc.php | 98 | ||||
| -rw-r--r-- | frontends/php/include/hosts.inc.php | 11 | ||||
| -rw-r--r-- | frontends/php/include/locales/en_gb.inc.php | 2 |
6 files changed, 183 insertions, 69 deletions
diff --git a/frontends/php/include/classes/cbutton.inc.php b/frontends/php/include/classes/cbutton.inc.php index 9a5801fb..d09afb22 100644 --- a/frontends/php/include/classes/cbutton.inc.php +++ b/frontends/php/include/classes/cbutton.inc.php @@ -82,4 +82,62 @@ return $this->AddOption("value",$value); } } + + class CButtonCancel extends CButton + { + function CButtonCancel($vars=NULL){ + parent::CButton("cancel",S_CANCEL); + $this->SetVars($vars); + } + function SetVars($value=NULL){ + global $page; + + $url = $page["file"]."?cancel=1"; + + if(!is_null($value)) + $url = $url.$value; + + return $this->SetAction("return Redirect('$url')"); + } + } + + class CButtonDelete extends CButton + { + var $vars; + var $msg; + + function CButtonDelete($msg=NULL, $vars=NULL){ + parent::CButton("delete",S_DELETE); + $this->SetMessage($msg); + $this->SetVars($vars); + } + function SetVars($value=NULL){ + if(!is_string($value) && !is_null($value)){ + return $this->error("Incorrect value for SetVars [$value]"); + } + $this->vars = $value; + $this->SetAction(NULL); + } + function SetMessage($value=NULL){ + if(is_null($value)) + $value = "Are You Sure?"; + + if(!is_string($value)){ + return $this->error("Incorrect value for SetMessage [$value]"); + } + $this->msg = $value; + $this->SetAction(NULL); + } + function SetAction($value=NULL){ + if(!is_null($value)) + return parent::SetAction($value); + + global $page; + + $confirmation = "Confirm('".$this->msg."')"; + $redirect = "Redirect('".$page["file"]."?delete=1".$this->vars."')"; + + return parent::SetAction("if(".$confirmation.") return ".$redirect."; else return false;"); + } + } ?> diff --git a/frontends/php/include/classes/cspan.inc.php b/frontends/php/include/classes/cspan.inc.php new file mode 100644 index 00000000..b0a0ffda --- /dev/null +++ b/frontends/php/include/classes/cspan.inc.php @@ -0,0 +1,32 @@ +<?php +/* +** ZABBIX +** Copyright (C) 2000-2005 SIA Zabbix +** +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published by +** the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +**/ +?> +<?php + class CSpan extends CTag + { +/* public */ + function CSpan($items=NULL,$class=NULL) + { + parent::CTag("span","yes"); + $this->SetClass($class); + $this->AddItem($items); + } + } +?> diff --git a/frontends/php/include/config.inc.php b/frontends/php/include/config.inc.php index 8898022c..9871459e 100644 --- a/frontends/php/include/config.inc.php +++ b/frontends/php/include/config.inc.php @@ -55,6 +55,7 @@ function SDI($msg) { echo "DEBUG INFO: $msg ".BR; } # DEBUG INFO!!! // Include Classes include_once("include/classes/ctag.inc.php"); include_once("include/classes/cvar.inc.php"); + include_once("include/classes/cspan.inc.php"); include_once("include/classes/cimg.inc.php"); include_once("include/classes/clink.inc.php"); include_once("include/classes/chelp.inc.php"); @@ -630,21 +631,6 @@ function SDI($msg) { echo "DEBUG INFO: $msg ".BR; } # DEBUG INFO!!! return "$priorities,$md5sum"; } - function get_group_by_groupid($groupid) - { - $sql="select * from groups where groupid=$groupid"; - $result=DBselect($sql); - if(DBnum_rows($result) == 1) - { - return DBfetch($result); - } - else - { - error("No groups with groupid=[$groupid]"); - } - return $result; - } - function get_usergroup_by_usrgrpid($usrgrpid) { $result=DBselect("select usrgrpid,name from usrgrp where usrgrpid=$usrgrpid"); @@ -711,11 +697,17 @@ function SDI($msg) { echo "DEBUG INFO: $msg ".BR; } # DEBUG INFO!!! if(!$bool) { + if(is_null($errmsg)) + return; + $msg="ERROR:".$errmsg; $color="#AA0000"; } else { + if(is_null($msg)) + return; + $color="#223344"; } echo "<p align=center>"; @@ -2824,19 +2816,22 @@ function SDI($msg) { echo "DEBUG INFO: $msg ".BR; } # DEBUG INFO!!! function insert_confirm_javascript() { - echo "<script language=\"JavaScript\" type=\"text/javascript\">\n"; - echo "function Confirm(msg)\n"; - echo "{\n"; - echo " if(confirm( msg))\n"; - echo " {\n"; - echo " return true;\n"; - echo " }\n"; - echo " else\n"; - echo " {\n"; - echo " return false;\n"; - echo " }\n"; - echo "}\n"; - echo "</script>\n"; + echo " +<script language=\"JavaScript\" type=\"text/javascript\"> + function Confirm(msg) + { + if(confirm(msg,'title')) + return true; + else + return false; + } + function Redirect(url) + { + window.location = url; + return false; + } +</script> + "; } /* Use ImageSetStyle+ImageLIne instead of bugged ImageDashedLine */ diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php index 812c3af5..a2c799c9 100644 --- a/frontends/php/include/forms.inc.php +++ b/frontends/php/include/forms.inc.php @@ -98,22 +98,22 @@ # Insert form for User function insert_user_form($userid,$profile=0) { - $frm_title = ""; - if(isset($userid)) + $frm_title = S_USER; + if(isset($userid)&&$_REQUEST["form"]!=1) { $user=get_user_by_userid($userid); - $result=DBselect("select u.alias,u.name,u.surname,u.passwd,u.url,u.autologout,u.lang,u.refresh from users u where u.userid=$userid"); - - $alias = get_request("alias",$user["alias"]); - $name = get_request("name",$user["name"]); - $surname = get_request("surname",$user["surname"]); + $frm_title = S_USER." \"".$user["alias"]."\""; + } + if(isset($userid)&&$_REQUEST["form"]!=1) + { + $alias = $user["alias"]; + $name = $user["name"]; + $surname = $user["surname"]; $password = ""; - $url = get_request("url",$user["url"]); - $autologout = get_request("autologout",$user["autologout"]); - $lang = get_request("lang",$user["lang"]); - $refresh = get_request("refresh",$user["refresh"]); - - $frm_title = SPACE."\"".$user["alias"]."\""; + $url = $user["url"]; + $autologout = $user["autologout"]; + $lang = $user["lang"]; + $refresh = $user["refresh"]; } else { @@ -127,15 +127,15 @@ $refresh = get_request("refresh","30"); } - $frmUser = new CFormTable(S_USER.$frm_title); + $frmUser = new CFormTable($frm_title); $frmUser->SetHelp("web.users.users.php"); + $frmUser->AddVar("config",get_request("config",0)); if($profile==0) $frmUser->SetAction("users.php"); else $frmUser->SetAction("profile.php"); - $frmUser->AddVar("config",$_REQUEST["config"]); if(isset($userid)) $frmUser->AddVar("userid",$userid); if($profile==0) @@ -169,11 +169,11 @@ if(isset($userid)) { $frmUser->AddItemToBottomRow(SPACE); - $frmUser->AddItemToBottomRow(new CButton('delete',S_DELETE, - "return Confirm('Delete selected user?');")); + $frmUser->AddItemToBottomRow(new CButtonDelete( + "Delete selected user?",url_param("config").url_param("userid"))); } $frmUser->AddItemToBottomRow(SPACE); - $frmUser->AddItemToBottomRow(new CButton('cancel',S_CANCEL)); + $frmUser->AddItemToBottomRow(new CButtonCancel(url_param("config"))); $frmUser->Show(); } @@ -452,34 +452,38 @@ { global $_REQUEST; + $frm_title = S_HOST_GROUP; if(isset($groupid)) { $groupid=get_group_by_groupid($groupid); - - $name=$groupid["name"]; + $frm_title = S_HOST_GROUP." \"".$groupid["name"]."\""; + if($_REQUEST["form"]!=1) + $name=$groupid["name"]; + else + $name = get_request("name",""); } else { - $name=""; + $name=get_request("name",""); } - $frmHostG = new CFormTable(S_HOST_GROUP,"hosts.php"); + $frmHostG = new CFormTable($frm_title,"hosts.php"); $frmHostG->SetHelp("web.hosts.group.php"); + $frmHostG->AddVar("config",get_request("config",1)); if(isset($_REQUEST["groupid"])) { $frmHostG->AddVar("groupid",$_REQUEST["groupid"]); } - $frmHostG->AddVar("config",get_request("config",1)); $frmHostG->AddRow(S_GROUP_NAME,new CTextBox("name",$name,30)); $cmbHosts = new CListBox("hosts[]",5); - $hosts=DBselect("select distinct hostid,host from hosts order by host"); + $hosts=DBselect("select distinct hostid,host from hosts where status<>".HOST_STATUS_DELETED." order by host"); while($host=DBfetch($hosts)) { if(isset($_REQUEST["groupid"])) { - $sql="select count(*) as count from hosts_groups where hostid=".$host["hostid"]." and groupid=".$_REQUEST["groupid"]; - $result=DBselect($sql); + $result=DBselect("select count(*) as count from hosts_groups". + " where hostid=".$host["hostid"]." and groupid=".$_REQUEST["groupid"]); $res_row=DBfetch($result); $cmbHosts->AddItem($host["hostid"],$host["host"], ($res_row["count"]==0) ? 'no' : 'yes'); @@ -495,11 +499,14 @@ if(isset($_REQUEST["groupid"])) { $frmHostG->AddItemToBottomRow(SPACE); - $frmHostG->AddItemToBottomRow(new CButton("delete",S_DELETE, - "return Confirm('Delete selected group?');")); + $frmHostG->AddItemToBottomRow( + new CButtonDelete("Delete selected group?", + url_param("config").url_param("groupid") + ) + ); } $frmHostG->AddItemToBottomRow(SPACE); - $frmHostG->AddItemToBottomRow(new CButton("cancel",S_CANCEL)); + $frmHostG->AddItemToBottomRow(new CButtonCancel(url_param("config"))); $frmHostG->Show(); } @@ -508,25 +515,29 @@ { global $_REQUEST; - $frm_title = ""; + $frm_title = S_USER_GROUP; if(isset($usrgrpid)) { $usrgrp=get_usergroup_by_usrgrpid($usrgrpid); - $name = get_request("name",$usrgrp["name"]); - $frm_title = SPACE."\"".$usrgrp["name"]."\""; + $frm_title = S_USER_GROUP." \"".$usrgrp["name"]."\""; + } + + if(isset($usrgrpid)&&$_REQUEST["form"]!=1) + { + $name = $usrgrp["name"]; } else { $name = get_request("name",""); } - $frmUserG = new CFormTable(S_USER_GROUP.$frm_title,"users.php"); + $frmUserG = new CFormTable($frm_title,"users.php"); $frmUserG->SetHelp("web.users.groups.php"); + $frmUserG->AddVar("config",get_request("config",2)); if(isset($usrgrpid)) { $frmUserG->AddVar("usrgrpid",$usrgrpid); } - $frmUserG->AddVar("config",1); $frmUserG->AddRow(S_GROUP_NAME,new CTextBox("name",$name,30)); $form_row = array(); @@ -557,10 +568,11 @@ if(isset($_REQUEST["usrgrpid"])) { $frmUserG->AddItemToBottomRow(SPACE); - $frmUserG->AddItemToBottomRow(new CButton("delete",S_DELETE)); + $frmUserG->AddItemToBottomRow(new CButtonDelete( + "Delete selected group?",url_param("config").url_param("usrgrpid"))); } $frmUserG->AddItemToBottomRow(SPACE); - $frmUserG->AddItemToBottomRow(new CButton("cancel",S_CANCEL)); + $frmUserG->AddItemToBottomRow(new CButtonCancel(url_param("config"))); $frmUserG->Show(); } @@ -1514,12 +1526,12 @@ function insert_image_form() $contact = get_request("contact",""); $location = get_request("location",""); $notes = get_request("notes",""); - $frm_title = S_HOST; if(isset($_REQUEST["hostid"])){ $db_host=get_host_by_hostid($_REQUEST["hostid"]); $frm_title = S_HOST.SPACE."\"".$db_host["host"]."\""; - } + } else + $frm_title = S_HOST; if(isset($_REQUEST["hostid"]) && $_REQUEST["form"]!=1) { @@ -1558,10 +1570,10 @@ function insert_image_form() $frmHost = new CFormTable($frm_title,"hosts.php#form"); $frmHost->SetHelp("web.hosts.host.php"); + $frmHost->AddVar("config",get_request("config",0)); if(isset($_REQUEST["hostid"])) $frmHost->AddVar("hostid",$_REQUEST["hostid"]); if(isset($_REQUEST["groupid"])) $frmHost->AddVar("groupid",$_REQUEST["groupid"]); - $frmHost->AddVar("config",get_request("config",0)); $frmHost->AddRow(S_HOST,new CTextBox("host",$host,20)); @@ -1639,10 +1651,14 @@ function insert_image_form() // $frmHost->AddItemToBottomRow(SPACE); // $frmHost->AddItemToBottomRow(new CButton("register","add items from template")); $frmHost->AddItemToBottomRow(SPACE); - $frmHost->AddItemToBottomRow(new CButton("delete",S_DELETE,"return Confirm('".S_DELETE_SELECTED_HOST_Q."');")); + $frmHost->AddItemToBottomRow( + new CButtonDelete(S_DELETE_SELECTED_HOST_Q, + url_param("config").url_param("hostid") + ) + ); } $frmHost->AddItemToBottomRow(SPACE); - $frmHost->AddItemToBottomRow(new CButton("cancel",S_CANCEL)); + $frmHost->AddItemToBottomRow(new CButtonCancel(url_param("config"))); $frmHost->Show(); } /* diff --git a/frontends/php/include/hosts.inc.php b/frontends/php/include/hosts.inc.php index 147f7f94..70662082 100644 --- a/frontends/php/include/hosts.inc.php +++ b/frontends/php/include/hosts.inc.php @@ -191,6 +191,17 @@ return DBexecute($sql); } + function get_group_by_groupid($groupid) + { + $result=DBselect("select * from groups where groupid=".$groupid); + if(DBnum_rows($result) == 1) + { + return DBfetch($result); + } + error("No groups with groupid=[$groupid]"); + return FALSE; + } + function get_host_by_itemid($itemid) { $sql="select h.* from hosts h, items i where i.hostid=h.hostid and i.itemid=$itemid"; diff --git a/frontends/php/include/locales/en_gb.inc.php b/frontends/php/include/locales/en_gb.inc.php index ae36200b..540ac0af 100644 --- a/frontends/php/include/locales/en_gb.inc.php +++ b/frontends/php/include/locales/en_gb.inc.php @@ -345,6 +345,8 @@ "S_LINK_WITH_HOST"=> "Link with host", "S_USE_PROFILE"=> "Use profile", "S_DELETE_SELECTED_HOST_Q"=> "Delete selected host?", + "S_DELETE_SELECTED_GROUP_Q"=> "Delete selected group?", + "S_DELETE_SELECTED_GROUPS_Q"=> "Delete selected groups?", "S_GROUP_NAME"=> "Group name", "S_HOST_GROUP"=> "Host group", "S_HOST_GROUPS"=> "Host groups", |
