diff options
Diffstat (limited to 'net-mgmt')
-rw-r--r-- | net-mgmt/zabbix/Makefile | 5 | ||||
-rw-r--r-- | net-mgmt/zabbix/distinfo | 6 | ||||
-rw-r--r-- | net-mgmt/zabbix/files/patch-USH-162.1 | 135 | ||||
-rw-r--r-- | net-mgmt/zabbix/files/patch-USH-162.2 | 2622 | ||||
-rw-r--r-- | net-mgmt/zabbix/files/patch-configure | 8 | ||||
-rw-r--r-- | net-mgmt/zabbix/pkg-plist | 591 | ||||
-rw-r--r-- | net-mgmt/zabbix2/Makefile | 5 | ||||
-rw-r--r-- | net-mgmt/zabbix2/distinfo | 6 | ||||
-rw-r--r-- | net-mgmt/zabbix2/files/patch-USH-162.1 | 135 | ||||
-rw-r--r-- | net-mgmt/zabbix2/files/patch-USH-162.2 | 2622 | ||||
-rw-r--r-- | net-mgmt/zabbix2/files/patch-configure | 8 | ||||
-rw-r--r-- | net-mgmt/zabbix2/pkg-plist | 591 |
12 files changed, 606 insertions, 6128 deletions
diff --git a/net-mgmt/zabbix/Makefile b/net-mgmt/zabbix/Makefile index d003ff56212d..82721d590423 100644 --- a/net-mgmt/zabbix/Makefile +++ b/net-mgmt/zabbix/Makefile @@ -6,13 +6,12 @@ # PORTNAME= zabbix -PORTVERSION= 1.6.2 -PORTREVISION= 1 +PORTVERSION= 1.6.4 PORTEPOCH= 1 CATEGORIES= net-mgmt MASTER_SITES= SF -MAINTAINER= d.lohansky@zsupport.ru +MAINTAINER= ports@christianserving.org COMMENT= Application and network monitoring solution LIB_DEPENDS= netsnmp.16:${PORTSDIR}/net-mgmt/net-snmp \ diff --git a/net-mgmt/zabbix/distinfo b/net-mgmt/zabbix/distinfo index cdd2ca0881bf..a6a62efde6dc 100644 --- a/net-mgmt/zabbix/distinfo +++ b/net-mgmt/zabbix/distinfo @@ -1,3 +1,3 @@ -MD5 (zabbix-1.6.2.tar.gz) = 33da3661868a04042c596a819896446f -SHA256 (zabbix-1.6.2.tar.gz) = e982419f45b2ac814e804a1a340c7e563fe5230bb5295b17e5767c89fa25550e -SIZE (zabbix-1.6.2.tar.gz) = 8229465 +MD5 (zabbix-1.6.4.tar.gz) = e1e15f3ab9f2c0ec9e6fde145a5a3b6e +SHA256 (zabbix-1.6.4.tar.gz) = 16009d22908f2bb6b135e7972607efd9e4bc6363f4d4d9c68b0de384e41dc5cd +SIZE (zabbix-1.6.4.tar.gz) = 8326175 diff --git a/net-mgmt/zabbix/files/patch-USH-162.1 b/net-mgmt/zabbix/files/patch-USH-162.1 deleted file mode 100644 index df11a28e251d..000000000000 --- a/net-mgmt/zabbix/files/patch-USH-162.1 +++ /dev/null @@ -1,135 +0,0 @@ -Index: include/validate.inc.php -=================================================================== ---- frontends/php/include/validate.inc.php (revision 6592) -+++ frontends/php/include/validate.inc.php (revision 6593) -@@ -198,19 +198,21 @@ - return $ret; - } - -- function calc_exp($fields,$field,$expression){ -+ function calc_exp($fields,$field,$expression){ - //SDI("$field - expression: ".$expression); - -- if(zbx_strstr($expression,"{}") && !isset($_REQUEST[$field])) -+ if(zbx_strstr($expression,'{}') && !isset($_REQUEST[$field])) - return FALSE; - -- if(zbx_strstr($expression,"{}") && !is_array($_REQUEST[$field])) -- $expression = str_replace("{}",'$_REQUEST["'.$field.'"]',$expression); -+ if(zbx_strstr($expression,'{}') && !is_array($_REQUEST[$field])) -+ $expression = str_replace('{}','$_REQUEST["'.$field.'"]',$expression); - -- if(zbx_strstr($expression,"{}") && is_array($_REQUEST[$field])){ -+ if(zbx_strstr($expression,'{}') && is_array($_REQUEST[$field])){ - foreach($_REQUEST[$field] as $key => $val){ -- $expression2 = str_replace("{}",'$_REQUEST["'.$field.'"]["'.$key.'"]',$expression); -- if(calc_exp2($fields,$field,$expression2)==FALSE) -+ if(!ereg('^[a-zA-Z0-9_]+$',$key)) return FALSE; -+ -+ $expression2 = str_replace('{}','$_REQUEST["'.$field.'"]["'.$key.'"]',$expression); -+ if(calc_exp2($fields,$field,$expression2)==FALSE) - return FALSE; - } - return TRUE; -@@ -219,7 +221,7 @@ - return calc_exp2($fields,$field,$expression); - } - -- function unset_not_in_list(&$fields){ -+ function unset_not_in_list(&$fields){ - foreach($_REQUEST as $key => $val){ - if(!isset($fields[$key])){ - unset_request($key,'unset_not_in_list'); -@@ -382,7 +384,7 @@ - } - } - -- function check_field(&$fields, &$field, $checks){ -+ function check_field(&$fields, &$field, $checks){ - list($type,$opt,$flags,$validation,$exception)=$checks; - - if($flags&P_UNSET_EMPTY && isset($_REQUEST[$field]) && $_REQUEST[$field]==''){ -@@ -473,9 +475,7 @@ - include_once "include/page_footer.php"; - } - -- function check_fields(&$fields, $show_messages=true){ -- -- global $_REQUEST; -+ function check_fields(&$fields, $show_messages=true){ - global $system_fields; - - $err = ZBX_VALID_OK; -Index: locales.php -=================================================================== ---- frontends/php/locales.php (revision 6592) -+++ frontends/php/locales.php (revision 6593) -@@ -19,11 +19,11 @@ - **/ - ?> - <?php --include_once "include/config.inc.php"; -+include_once('include/config.inc.php'); - - if(isset($_REQUEST['download'])){ -- $page["type"] = PAGE_TYPE_XML; -- $page["file"] = "new_locale.inc.php"; -+ $page['type'] = PAGE_TYPE_XML; -+ $page['file'] = 'new_locale.inc.php'; - } - else{ - $page['title'] = "S_LOCALES"; -@@ -181,26 +181,25 @@ - $frmLcls->AddOption('id','locales'); - $frmLcls->SetHelp($help); - -- $fileFrom = 'include/locales/'.$_REQUEST['srclang'].".inc.php"; -- if(file_exists($fileFrom)){ -- include($fileFrom); - -+ $fileFrom = 'include/locales/'.$_REQUEST['srclang'].'.inc.php'; -+ if(ereg('^[A-Za-z0-9_]+$', $_REQUEST['srclang']) && file_exists($fileFrom)){ -+ include($fileFrom); - if(!isset($TRANSLATION) || !is_array($TRANSLATION)){ -- error("Passed SOURCE is NOT valid PHP file."); -+ error('Passed SOURCE is NOT valid PHP file.'); - } - $transFrom = $TRANSLATION; - } - unset($TRANSLATION); - -- $frmLcls->AddVar('extlang',$_REQUEST['extlang']); -- -- if($_REQUEST['extlang'] != 'new'){ -- $fileTo = 'include/locales/'.$_REQUEST['extlang'].".inc.php"; -+ $frmLcls->addVar('extlang',$_REQUEST['extlang']); -+ if(ereg('^[A-Za-z0-9_]+$', $_REQUEST['srclang']) && ($_REQUEST['extlang'] != 'new')){ -+ $fileTo = 'include/locales/'.$_REQUEST['extlang'].'.inc.php'; - if(file_exists($fileTo)){ - include($fileTo); - - if(!isset($TRANSLATION) || !is_array($TRANSLATION)){ -- error("Passed DEST is NOT valid PHP file."); -+ error('Passed DEST is NOT valid PHP file.'); - } - $transTo = $TRANSLATION; - // header('Content-Type: text/html; charset='.$TRANSLATION['S_HTML_CHARSET']); - ------ - -This hunk fixes typo in the bugfix for local file inclusion inside -locales.php - -Index: branches/1.6/frontends/php/locales.php -=================================================================== ---- frontends/php/locales.php (revision 6885) -+++ frontends/php/locales.php (revision 6886) -@@ -193,7 +193,7 @@ - unset($TRANSLATION); - - $frmLcls->addVar('extlang',$_REQUEST['extlang']); -- if(ereg('^[A-Za-z0-9_]+$', $_REQUEST['srclang']) && ($_REQUEST['extlang'] != 'new')){ -+ if(ereg('^[A-Za-z0-9_]+$', $_REQUEST['extlang']) && ($_REQUEST['extlang'] != 'new')){ - $fileTo = 'include/locales/'.$_REQUEST['extlang'].'.inc.php'; - if(file_exists($fileTo)){ - include($fileTo); diff --git a/net-mgmt/zabbix/files/patch-USH-162.2 b/net-mgmt/zabbix/files/patch-USH-162.2 deleted file mode 100644 index 22d5d1112dca..000000000000 --- a/net-mgmt/zabbix/files/patch-USH-162.2 +++ /dev/null @@ -1,2622 +0,0 @@ -Index: frontends/php/include/perm.inc.php -=================================================================== ---- frontends/php/include/perm.inc.php (revision 6620) -+++ frontends/php/include/perm.inc.php (revision 6621) -@@ -44,7 +44,7 @@ - $USER_DETAILS = NULL; - $login = FALSE; - -- $sessionid = get_cookie('zbx_sessionid'); -+ $sessionid = get_request('sessionid',get_cookie('zbx_sessionid')); - - if(!is_null($sessionid)){ - $sql = 'SELECT u.*,s.* '. -Index: frontends/php/include/validate.inc.php -=================================================================== ---- frontends/php/include/validate.inc.php (revision 6620) -+++ frontends/php/include/validate.inc.php (revision 6621) -@@ -428,8 +429,12 @@ - } - } - else if($opt == O_OPT){ -- if(!isset($_REQUEST[$field])) -+ if(!isset($_REQUEST[$field])){ - return ZBX_VALID_OK; -+ } -+ else if(($flags&P_ACT) && !isset($_REQUEST['zbx_form'])){ -+ return ZBX_VALID_ERROR; -+ } - } - - check_trim($_REQUEST[$field]); -@@ -458,17 +463,21 @@ - return ZBX_VALID_OK; - } - --// VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION -+// VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION - $system_fields=array( -- "sessionid"=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(),NULL), -- "switch_node"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL), -- "triggers_hash"=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY,NULL), -- 'print'=> array(T_ZBX_INT, O_OPT, P_SYS, IN("1"),NULL), -+ 'sessionid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), 'isset({zbx_form})'), -+ 'zbx_form'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY, NULL), -+// -+ 'switch_node'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL), -+ 'triggers_hash'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY,NULL), -+ 'print'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('1'),NULL), -+ -+// table sorting - 'sort'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL,NULL), - 'sortorder'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL,NULL) - ); - -- function invalid_url(){ -+ function invalid_url(){ - include_once "include/page_header.php"; - unset_all(); - show_error_message(S_INVALID_URL); -Index: frontends/php/include/classes/cform.inc.php -=================================================================== ---- frontends/php/include/classes/cform.inc.php (revision 6620) -+++ frontends/php/include/classes/cform.inc.php (revision 6621) -@@ -22,46 +22,44 @@ - class CForm extends CTag{ - /* public */ - function CForm($action=NULL, $method='post', $enctype=NULL){ -- parent::CTag("form","yes"); -- $this->SetMethod($method); -- $this->SetAction($action); -- $this->SetEnctype($enctype); -+ parent::CTag('form','yes'); -+ $this->setMethod($method); -+ $this->setAction($action); -+ $this->setEnctype($enctype); -+ -+ $this->addVar('zbx_form', 'action'); -+ $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); - } - -- function SetMethod($value='post'){ -+ function setMethod($value='post'){ - return $this->options['method'] = $value; - } - -- function SetAction($value){ -+ function setAction($value){ - global $page; - - if(is_null($value)){ -- if(isset($page['file'])){ -- $value = $page['file']; -- } -- else{ -- $value = "#"; -- } -+ $value = isset($page['file'])?$page['file']:'#'; - } - - return $this->options['action'] = $value; - } - -- function SetEnctype($value=NULL){ -+ function setEnctype($value=NULL){ - if(is_null($value)){ -- return $this->DelOption("enctype"); -+ return $this->DelOption('enctype'); - } - else if(!is_string($value)){ - return $this->error("Incorrect value for SetEnctype [$value]"); - } - -- return $this->AddOption("enctype",$value); -+ return $this->addOption('enctype',$value); - } - -- function AddVar($name, $value){ -+ function addVar($name, $value){ - if(empty($value) && $value != 0) return $value; - -- return $this->AddItem(new CVar($name, $value)); -+ return $this->addItem(new CVar($name, $value)); - } - } - ?> -Index: frontends/php/include/classes/cformtable.inc.php -=================================================================== ---- frontends/php/include/classes/cformtable.inc.php (revision 6620) -+++ frontends/php/include/classes/cformtable.inc.php (revision 6621) -@@ -46,48 +46,48 @@ - } - - parent::CForm($action,$method,$enctype); -- $this->SetTitle($title); -- $this->SetAlign('center'); -- $this->SetHelp(); -+ $this->setTitle($title); -+ $this->setAlign('center'); -+ $this->setHelp(); - - // $frm_link = new CLink(); --// $frm_link->SetName("formtable"); --// $this->AddItemToTopRow($frm_link); -+// $frm_link->setName("formtable"); -+// $this->addItemToTopRow($frm_link); - -- $this->AddVar($form_variable, get_request($form_variable, 1)); -- $this->AddVar('form_refresh',get_request('form_refresh',0)+1); -+ $this->addVar($form_variable, get_request($form_variable, 1)); -+ $this->addVar('form_refresh',get_request('form_refresh',0)+1); - - $this->bottom_items = new CCol(SPACE,'form_row_last'); -- $this->bottom_items->SetColSpan(2); -+ $this->bottom_items->setColSpan(2); - } - -- function SetAction($value){ -+ function setAction($value){ - - if(is_string($value)) -- return parent::SetAction($value); -+ return parent::setAction($value); - elseif(is_null($value)) -- return parent::SetAction($value); -+ return parent::setAction($value); - else - return $this->error("Incorrect value for SetAction [$value]"); - } - -- function SetName($value){ -+ function setName($value){ - if(!is_string($value)){ - return $this->error("Incorrect value for SetAlign [$value]"); - } -- $this->AddOption('name',$value); -- $this->AddOption('id',$value); -+ $this->addOption('name',$value); -+ $this->addOption('id',$value); - return true; - } - -- function SetAlign($value){ -+ function setAlign($value){ - if(!is_string($value)){ - return $this->error("Incorrect value for SetAlign [$value]"); - } - return $this->align = $value; - } - -- function SetTitle($value=NULL){ -+ function setTitle($value=NULL){ - if(is_null($value)){ - unset($this->title); - return 0; -@@ -101,7 +101,7 @@ - $this->title = unpack_object($value); - } - -- function SetHelp($value=NULL){ -+ function setHelp($value=NULL){ - if(is_null($value)) { - $this->help = new CHelp(); - } -@@ -110,8 +110,8 @@ - } - else if(is_string($value)) { - $this->help = new CHelp($value); -- if($this->GetName()==NULL) -- $this->SetName($value); -+ if($this->getName()==NULL) -+ $this->setName($value); - } - else { - return $this->error("Incorrect value for SetHelp [$value]"); -@@ -119,21 +119,21 @@ - return 0; - } - -- function AddVar($name, $value){ -- $this->AddItemToTopRow(new CVar($name, $value)); -+ function addVar($name, $value){ -+ $this->addItemToTopRow(new CVar($name, $value)); - } - -- function AddItemToTopRow($value){ -+ function addItemToTopRow($value){ - array_push($this->top_items, $value); - } - -- function AddRow($item1, $item2=NULL, $class=NULL){ -+ function addRow($item1, $item2=NULL, $class=NULL){ - if(strtolower(get_class($item1)) == 'crow'){ - - } - else if(strtolower(get_class($item1)) == 'ctable'){ - $td = new CCol($item1,'form_row_c'); -- $td->SetColSpan(2); -+ $td->setColSpan(2); - - $item1 = new CRow($td); - } -@@ -157,7 +157,7 @@ - array_push($this->center_items, $item1); - } - -- function AddSpanRow($value, $class=NULL){ -+ function addSpanRow($value, $class=NULL){ - if(is_string($value)) - $item1=nbsp($value); - -@@ -165,16 +165,16 @@ - if(is_null($class)) $class = 'form_row_c'; - - $col = new CCol($value,$class); -- $col->SetColSpan(2); -+ $col->setColSpan(2); - array_push($this->center_items,new CRow($col)); - } - - -- function AddItemToBottomRow($value){ -- $this->bottom_items->AddItem($value); -+ function addItemToBottomRow($value){ -+ $this->bottom_items->addItem($value); - } - -- function SetTableClass($class){ -+ function setTableClass($class){ - if(is_string($class)){ - $this->tableclass = $class; - } -@@ -186,25 +186,25 @@ - - $tbl = new CTable(NULL,$this->tableclass); - -- $tbl->SetOddRowClass('form_odd_row'); -- $tbl->SetEvenRowClass('form_even_row'); -- $tbl->SetCellSpacing(0); -- $tbl->SetCellPadding(1); -- $tbl->SetAlign($this->align); -+ $tbl->setOddRowClass('form_odd_row'); -+ $tbl->setEvenRowClass('form_even_row'); -+ $tbl->setCellSpacing(0); -+ $tbl->setCellPadding(1); -+ $tbl->setAlign($this->align); - # add first row - $col = new CCol(NULL,'form_row_first'); -- $col->SetColSpan(2); -+ $col->setColSpan(2); - -- if(isset($this->help)) $col->AddItem($this->help); -- if(isset($this->title)) $col->AddItem($this->title); -- foreach($this->top_items as $item) $col->AddItem($item); -+ if(isset($this->help)) $col->addItem($this->help); -+ if(isset($this->title)) $col->addItem($this->title); -+ foreach($this->top_items as $item) $col->addItem($item); - -- $tbl->SetHeader($col); -+ $tbl->setHeader($col); - # add last row -- $tbl->SetFooter($this->bottom_items); -+ $tbl->setFooter($this->bottom_items); - # add center rows - foreach($this->center_items as $item){ -- $tbl->AddRow($item); -+ $tbl->addRow($item); - } - return $tbl->ToString(); - } - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Obtained from svn://svn.zabbix.com/branches/1.6/frontends/php/ - -This hunk adds session identifier transmission during Ajax requests. -It also reshuffles some JavaScript functions and adds many whitespace -changes. - -Index: frontends/php/js/cookies.js -=================================================================== ---- frontends/php/js/cookies.js (revision 6622) -+++ frontends/php/js/cookies.js (revision 6623) -@@ -1,78 +0,0 @@ --//Javascript document --/* --** 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. --**/ --// Title: cookies class --// Description: to manipulate cookies on client side --// Author: Aly -- --var cookie ={ --cookies: new Array(), -- --init: function () { -- var allCookies = document.cookie.split('; '); -- for (var i=0;i<allCookies.length;i++) { -- var cookiePair = allCookies[i].split('='); -- this.cookies[cookiePair[0]] = cookiePair[1]; -- } --}, -- --create: function (name,value,days) { -- if(days) { -- var date = new Date(); -- date.setTime(date.getTime()+(days*24*60*60*1000)); -- var expires = "; expires="+date.toGMTString(); -- }else{ -- var expires = ""; -- } -- -- document.cookie = name+"="+value+expires+"; path=/"; -- this.cookies[name] = value; --}, -- --read : function(name){ -- if(typeof(this.cookies[name]) != 'undefined'){ -- return this.cookies[name]; -- } else { -- var nameEQ = name + "="; -- var ca = document.cookie.split(';'); -- for(var i=0;i < ca.length;i++) { -- var c = ca[i]; -- while (c.charAt(0)==' ') c = c.substring(1,c.length); -- if(c.indexOf(nameEQ) == 0) return this.cookies[name] = c.substring(nameEQ.length,c.length); -- } -- } -- return null; --}, -- --printall: function() { -- var allCookies = document.cookie.split('; '); -- for (var i=0;i<allCookies.length;i++) { -- var cookiePair = allCookies[i].split('='); -- -- alert("[" + cookiePair[0] + "] is " + cookiePair[1]); // assumes print is already defined -- } --}, -- --erase: function (name) { -- this.create(name,'',-1); -- this.cookies[name] = undefined; --} --} -- --cookie.init(); -\ No newline at end of file -Index: frontends/php/js/url.js -=================================================================== ---- frontends/php/js/url.js (revision 6622) -+++ frontends/php/js/url.js (revision 6623) -@@ -1,256 +0,0 @@ --// JavaScript Document --/* --** ZABBIX --** Copyright (C) 2000-2007 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. --** --*/ -- --// Title: url manipulation class --// Author: Aly -- -- --var url = Class.create(); -- --url.prototype = { --url: '', // actually, it's depricated/private variable --port: -1, --host: '', --protocol: '', --username: '', --password: '', --filr: '', --reference: '', --path: '', --query: '', --arguments: new Array(), -- --initialize: function(url){ -- this.url=unescape(url); -- -- this.query=(this.url.indexOf('?')>=0)?this.url.substring(this.url.indexOf('?')+1):''; -- if(this.query.indexOf('#')>=0) this.query=this.query.substring(0,this.query.indexOf('#')); -- -- var protocolSepIndex=this.url.indexOf('://'); -- if(protocolSepIndex>=0){ -- this.protocol=this.url.substring(0,protocolSepIndex).toLowerCase(); -- this.host=this.url.substring(protocolSepIndex+3); -- if(this.host.indexOf('/')>=0) this.host=this.host.substring(0,this.host.indexOf('/')); -- var atIndex=this.host.indexOf('@'); -- if(atIndex>=0){ -- var credentials=this.host.substring(0,atIndex); -- var colonIndex=credentials.indexOf(':'); -- if(colonIndex>=0){ -- this.username=credentials.substring(0,colonIndex); -- this.password=credentials.substring(colonIndex); -- }else{ -- this.username=credentials; -- } -- this.host=this.host.substring(atIndex+1); -- } -- -- var host_ipv6 = this.host.indexOf(']'); -- if(host_ipv6>=0){ -- if(host_ipv6 < (this.host.length-1)){ -- host_ipv6++; -- var host_less = this.host.substring(host_ipv6); -- -- var portColonIndex=host_less.indexOf(':'); -- if(portColonIndex>=0){ -- this.port=host_less.substring(portColonIndex+1); -- this.host=this.host.substring(0,host_ipv6); -- } -- } -- } -- else{ -- var portColonIndex=this.host.indexOf(':'); -- if(portColonIndex>=0){ -- this.port=this.host.substring(portColonIndex+1); -- this.host=this.host.substring(0,portColonIndex); -- } -- } -- this.file=this.url.substring(protocolSepIndex+3); -- this.file=this.file.substring(this.file.indexOf('/')); -- }else{ -- this.file=this.url; -- } -- if(this.file.indexOf('?')>=0) this.file=this.file.substring(0, this.file.indexOf('?')); -- -- var refSepIndex=url.indexOf('#'); -- if(refSepIndex>=0){ -- this.file=this.file.substring(0,refSepIndex); -- this.reference=this.url.substring(this.url.indexOf('#')); -- } -- this.path=this.file; -- if(this.query.length>0) this.file+='?'+this.query; -- if(this.reference.length>0) this.file+='#'+this.reference; -- if(this.query.length > 0) this.getArguments(); --}, -- --getArguments: function(){ -- var args=this.query.split('&'); -- var keyval=''; -- -- if(args.length<1) return; -- -- for(i=0;i<args.length;i++){ -- keyval=args[i].split('='); -- this.arguments[i] = new Array(keyval[0],(keyval.length==1)?keyval[0]:keyval[1]); -- } --}, -- --getArgumentValue: function(key){ -- if(key.length<1) return ''; -- for(i=0; i < this.arguments.length; i++){ -- if(this.arguments[i][0] == key) return this.arguments[i][1]; -- } -- --return ''; --}, -- --getArgumentValues: function(){ -- var a=new Array(); -- var b=this.query.split('&'); -- var c=''; -- if(b.length<1) return a; -- for(i=0;i<b.length;i++){ -- c=b[i].split('='); -- a[i]=new Array(c[0],((c.length==1)?c[0]:c[1])); -- } --return a; --}, -- --getUrl: function(){ -- var uri = (this.protocol.length > 0)?(this.protocol+'://'):''; -- uri += encodeURI((this.username.length > 0)?(this.username):''); -- uri += encodeURI((this.password.length > 0)?(':'+this.password):''); -- uri += (this.host.length > 0)?(this.host):''; -- uri += (this.port.length > 0)?(':'+this.port):''; -- uri += encodeURI((this.path.length > 0)?(this.path):''); -- uri += encodeURI((this.query.length > 0)?('?'+this.query):''); -- uri += encodeURI((this.reference.length > 0)?('#'+this.reference):''); --// alert(uri.getProtocol()+' : '+uri.getHost()+' : '+uri.getPort()+' : '+uri.getPath()+' : '+uri.getQuery()); --return uri; --}, -- --setArgument: function(key,value){ -- -- var valueisset = false; -- if(typeof(key) == 'undefined') throw 'Invalid argument past for setArgument'; -- -- value =('undefined' != typeof(value))?value:''; -- -- for(i=0; i < this.arguments.length; i++){ -- if(this.arguments[i][0] == key){ -- valueisset = true; -- this.arguments[i][1] = value; -- } -- } -- if(!valueisset) this.arguments[this.arguments.length] = new Array(key,value); -- this.formatQuery(); --}, -- --formatQuery: function(){ -- if(this.arguments.lenght < 1) return; -- -- var query = ''; -- for(i=0; i < this.arguments.length; i++){ -- query+=this.arguments[i][0]+'='+this.arguments[i][1]+'&'; -- } -- this.query = query.substring(0,query.length-1); --}, -- --getPort: function(){ -- return this.port; --}, -- --setPort: function(port){ -- this.port = port; --}, -- --getQuery: function(){ -- return this.query; --}, -- --setQuery: function(query){ -- this.query = query; -- this.getArgumentValues(); -- this.formatQuery(); --}, -- --/* Returns the protocol of this URL, i.e. 'http' in the url 'http://server/' */ --getProtocol: function(){ -- return this.protocol; --}, -- --setProtocol: function(protocol){ -- this.protocol = protocol; --}, --/* Returns the host name of this URL, i.e. 'server.com' in the url 'http://server.com/' */ --getHost: function(){ -- return this.host; --}, -- --setHost: function(set){ -- this.host = host; --}, -- --/* Returns the user name part of this URL, i.e. 'joe' in the url 'http://joe@server.com/' */ --getUserName: function(){ -- return this.username; --}, -- --setUserName: function(username){ -- this.username = username; --}, -- --/* Returns the password part of this url, i.e. 'secret' in the url 'http://joe:secret@server.com/' */ --getPassword: function(){ -- return this.password; --}, -- --setPassword: function(password){ -- this.password = password; --}, -- --/* Returns the file part of this url, i.e. everything after the host name. */ --getFile: function(){ -- return this.file = file; --}, -- --setFile: function(file){ -- this.file = file; --}, -- --/* Returns the reference of this url, i.e. 'bookmark' in the url 'http://server/file.html#bookmark' */ --getReference: function(){ -- return this.reference; --}, -- --setReference: function(reference){ -- this.reference = reference; --}, -- --/* Returns the file path of this url, i.e. '/dir/file.html' in the url 'http://server/dir/file.html' */ --getPath: function(){ -- return this.path; --}, -- --setPath: function(path){ -- this.path = path; --} -- --} -\ No newline at end of file -Index: frontends/php/js/updater.js -=================================================================== ---- frontends/php/js/updater.js (revision 6622) -+++ frontends/php/js/updater.js (revision 6623) -@@ -27,7 +27,7 @@ - - setObj4Update: function(id,frequency,url,params){ - var obj = document.getElementById(id); -- if((typeof(obj) == 'undefined')) return false; -+ if(typeof(obj) == 'undefined') return false; - - var obj4update = { - 'id': id, -@@ -65,7 +65,9 @@ - obj4update.ready = false; - - var uri = new url(obj4update.url); -- new Ajax.Updater(obj4update.id, obj4update.url, -+ uri.setArgument('sessionid', cookie.read('zbx_sessionid')); -+ -+ new Ajax.Updater(obj4update.id, uri.getUrl(),//obj4update.url, - { - method: 'post', - 'parameters': obj4update.params, -Index: frontends/php/js/gpc.js -=================================================================== ---- frontends/php/js/gpc.js (revision 0) -+++ frontends/php/js/gpc.js (revision 6623) -@@ -0,0 +1,315 @@ -+//Javascript document -+/* -+** ZABBIX -+** Copyright (C) 2000-2009 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. -+**/ -+ -+// Title: cookies class -+// Description: to manipulate cookies on client side -+// Author: Aly -+var cookie ={ -+cookies: new Array(), -+ -+init: function () { -+ var allCookies = document.cookie.split('; '); -+ for (var i=0;i<allCookies.length;i++) { -+ var cookiePair = allCookies[i].split('='); -+ this.cookies[cookiePair[0]] = cookiePair[1]; -+ } -+}, -+ -+create: function (name,value,days) { -+ if(days) { -+ var date = new Date(); -+ date.setTime(date.getTime()+(days*24*60*60*1000)); -+ var expires = "; expires="+date.toGMTString(); -+ } -+ else{ -+ var expires = ""; -+ } -+ -+ document.cookie = name+"="+value+expires+"; path=/"; -+ this.cookies[name] = value; -+}, -+ -+read : function(name){ -+ if(typeof(this.cookies[name]) != 'undefined'){ -+ return this.cookies[name]; -+ } -+ else { -+ var nameEQ = name + "="; -+ var ca = document.cookie.split(';'); -+ for(var i=0;i < ca.length;i++) { -+ var c = ca[i]; -+ while (c.charAt(0)==' ') c = c.substring(1,c.length); -+ if(c.indexOf(nameEQ) == 0) return this.cookies[name] = c.substring(nameEQ.length,c.length); -+ } -+ } -+ return null; -+}, -+ -+printall: function() { -+ var allCookies = document.cookie.split('; '); -+ for(var i=0;i<allCookies.length;i++){ -+ var cookiePair = allCookies[i].split('='); -+ -+ alert("[" + cookiePair[0] + "] is " + cookiePair[1]); // assumes print is already defined -+ } -+}, -+ -+erase: function (name) { -+ this.create(name,'',-1); -+ this.cookies[name] = undefined; -+} -+} -+ -+cookie.init(); -+ -+ -+ -+// Title: url manipulation class -+// Author: Aly -+var url = Class.create(); -+ -+url.prototype = { -+url: '', // actually, it's depricated/private variable -+port: -1, -+host: '', -+protocol: '', -+username: '', -+password: '', -+filr: '', -+reference: '', -+path: '', -+query: '', -+arguments: new Array(), -+ -+initialize: function(url){ -+ this.url=unescape(url); -+ -+ this.query=(this.url.indexOf('?')>=0)?this.url.substring(this.url.indexOf('?')+1):''; -+ if(this.query.indexOf('#')>=0) this.query=this.query.substring(0,this.query.indexOf('#')); -+ -+ var protocolSepIndex=this.url.indexOf('://'); -+ if(protocolSepIndex>=0){ -+ this.protocol=this.url.substring(0,protocolSepIndex).toLowerCase(); -+ this.host=this.url.substring(protocolSepIndex+3); -+ if(this.host.indexOf('/')>=0) this.host=this.host.substring(0,this.host.indexOf('/')); -+ var atIndex=this.host.indexOf('@'); -+ if(atIndex>=0){ -+ var credentials=this.host.substring(0,atIndex); -+ var colonIndex=credentials.indexOf(':'); -+ if(colonIndex>=0){ -+ this.username=credentials.substring(0,colonIndex); -+ this.password=credentials.substring(colonIndex); -+ }else{ -+ this.username=credentials; -+ } -+ this.host=this.host.substring(atIndex+1); -+ } -+ -+ var host_ipv6 = this.host.indexOf(']'); -+ if(host_ipv6>=0){ -+ if(host_ipv6 < (this.host.length-1)){ -+ host_ipv6++; -+ var host_less = this.host.substring(host_ipv6); -+ -+ var portColonIndex=host_less.indexOf(':'); -+ if(portColonIndex>=0){ -+ this.port=host_less.substring(portColonIndex+1); -+ this.host=this.host.substring(0,host_ipv6); -+ } -+ } -+ } -+ else{ -+ var portColonIndex=this.host.indexOf(':'); -+ if(portColonIndex>=0){ -+ this.port=this.host.substring(portColonIndex+1); -+ this.host=this.host.substring(0,portColonIndex); -+ } -+ } -+ this.file=this.url.substring(protocolSepIndex+3); -+ this.file=this.file.substring(this.file.indexOf('/')); -+ }else{ -+ this.file=this.url; -+ } -+ if(this.file.indexOf('?')>=0) this.file=this.file.substring(0, this.file.indexOf('?')); -+ -+ var refSepIndex=url.indexOf('#'); -+ if(refSepIndex>=0){ -+ this.file=this.file.substring(0,refSepIndex); -+ this.reference=this.url.substring(this.url.indexOf('#')); -+ } -+ this.path=this.file; -+ if(this.query.length>0) this.file+='?'+this.query; -+ if(this.reference.length>0) this.file+='#'+this.reference; -+ if(this.query.length > 0) this.getArguments(); -+}, -+ -+getArguments: function(){ -+ var args=this.query.split('&'); -+ var keyval=''; -+ -+ if(args.length<1) return; -+ -+ for(i=0;i<args.length;i++){ -+ keyval=args[i].split('='); -+ this.arguments[i] = new Array(keyval[0],(keyval.length==1)?keyval[0]:keyval[1]); -+ } -+}, -+ -+getArgumentValue: function(key){ -+ if(key.length<1) return ''; -+ for(i=0; i < this.arguments.length; i++){ -+ if(this.arguments[i][0] == key) return this.arguments[i][1]; -+ } -+ -+return ''; -+}, -+ -+getArgumentValues: function(){ -+ var a=new Array(); -+ var b=this.query.split('&'); -+ var c=''; -+ if(b.length<1) return a; -+ for(i=0;i<b.length;i++){ -+ c=b[i].split('='); -+ a[i]=new Array(c[0],((c.length==1)?c[0]:c[1])); -+ } -+return a; -+}, -+ -+getUrl: function(){ -+ var uri = (this.protocol.length > 0)?(this.protocol+'://'):''; -+ uri += encodeURI((this.username.length > 0)?(this.username):''); -+ uri += encodeURI((this.password.length > 0)?(':'+this.password):''); -+ uri += (this.host.length > 0)?(this.host):''; -+ uri += (this.port.length > 0)?(':'+this.port):''; -+ uri += encodeURI((this.path.length > 0)?(this.path):''); -+ uri += encodeURI((this.query.length > 0)?('?'+this.query):''); -+ uri += encodeURI((this.reference.length > 0)?('#'+this.reference):''); -+// alert(uri.getProtocol()+' : '+uri.getHost()+' : '+uri.getPort()+' : '+uri.getPath()+' : '+uri.getQuery()); -+return uri; -+}, -+ -+setArgument: function(key,value){ -+ -+ var valueisset = false; -+ if(typeof(key) == 'undefined') throw 'Invalid argument past for setArgument'; -+ -+ value =('undefined' != typeof(value))?value:''; -+ -+ for(i=0; i < this.arguments.length; i++){ -+ if(this.arguments[i][0] == key){ -+ valueisset = true; -+ this.arguments[i][1] = value; -+ } -+ } -+ if(!valueisset) this.arguments[this.arguments.length] = new Array(key,value); -+ this.formatQuery(); -+}, -+ -+formatQuery: function(){ -+ if(this.arguments.lenght < 1) return; -+ -+ var query = ''; -+ for(i=0; i < this.arguments.length; i++){ -+ query+=this.arguments[i][0]+'='+this.arguments[i][1]+'&'; -+ } -+ this.query = query.substring(0,query.length-1); -+}, -+ -+getPort: function(){ -+ return this.port; -+}, -+ -+setPort: function(port){ -+ this.port = port; -+}, -+ -+getQuery: function(){ -+ return this.query; -+}, -+ -+setQuery: function(query){ -+ this.query = query; -+ this.getArgumentValues(); -+ this.formatQuery(); -+}, -+ -+/* Returns the protocol of this URL, i.e. 'http' in the url 'http://server/' */ -+getProtocol: function(){ -+ return this.protocol; -+}, -+ -+setProtocol: function(protocol){ -+ this.protocol = protocol; -+}, -+/* Returns the host name of this URL, i.e. 'server.com' in the url 'http://server.com/' */ -+getHost: function(){ -+ return this.host; -+}, -+ -+setHost: function(set){ -+ this.host = host; -+}, -+ -+/* Returns the user name part of this URL, i.e. 'joe' in the url 'http://joe@server.com/' */ -+getUserName: function(){ -+ return this.username; -+}, -+ -+setUserName: function(username){ -+ this.username = username; -+}, -+ -+/* Returns the password part of this url, i.e. 'secret' in the url 'http://joe:secret@server.com/' */ -+getPassword: function(){ -+ return this.password; -+}, -+ -+setPassword: function(password){ -+ this.password = password; -+}, -+ -+/* Returns the file part of this url, i.e. everything after the host name. */ -+getFile: function(){ -+ return this.file = file; -+}, -+ -+setFile: function(file){ -+ this.file = file; -+}, -+ -+/* Returns the reference of this url, i.e. 'bookmark' in the url 'http://server/file.html#bookmark' */ -+getReference: function(){ -+ return this.reference; -+}, -+ -+setReference: function(reference){ -+ this.reference = reference; -+}, -+ -+/* Returns the file path of this url, i.e. '/dir/file.html' in the url 'http://server/dir/file.html' */ -+getPath: function(){ -+ return this.path; -+}, -+ -+setPath: function(path){ -+ this.path = path; -+} -+} -\ No newline at end of file -Index: frontends/php/js/ajax_req.js -=================================================================== ---- frontends/php/js/ajax_req.js (revision 6622) -+++ frontends/php/js/ajax_req.js (revision 6623) -@@ -19,6 +19,8 @@ - **/ - - function send_params(params){ -+ if(typeof(params) == 'undefined') var params = new Array(); -+ params['sessionid'] = cookie.read('zbx_sessionid'); - - var uri = new url(location.href); - new Ajax.Request(uri.getPath()+"?output=ajax", -Index: frontends/php/dashboard.php -=================================================================== ---- frontends/php/dashboard.php (revision 6622) -+++ frontends/php/dashboard.php (revision 6623) -@@ -42,8 +42,8 @@ - 'view_style'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'), NULL), - 'type'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'), NULL), - -- 'output'=> array(T_ZBX_STR, O_OPT, P_ACT, NULL, NULL), -- 'jsscriptid'=> array(T_ZBX_STR, O_OPT, P_ACT, NULL, NULL), -+ 'output'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), -+ 'jsscriptid'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), - 'fullscreen'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'), NULL), - - //ajax -@@ -56,7 +56,7 @@ - ); - - check_fields($fields); -- -+ - $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY, PERM_RES_IDS_ARRAY); - // ACTION ///////////////////////////////////////////////////////////////////////////// - if(isset($_REQUEST['favobj'])){ -Index: frontends/php/include/page_header.php -=================================================================== ---- frontends/php/include/page_header.php (revision 6622) -+++ frontends/php/include/page_header.php (revision 6623) -@@ -428,8 +428,8 @@ - - <script type="text/javascript" src="js/prototype.js"></script> - <script type="text/javascript" src="js/common.js"></script> -+<script type="text/javascript" src="js/gpc.js"></script> - <script type="text/javascript" src="js/ajax_req.js"></script> --<script type="text/javascript" src="js/url.js"></script> - <script type="text/javascript" src="js/chkbxrange.js"></script> - <?php - if(isset($page['scripts']) && is_array($page['scripts'])){ -Index: frontends/php/include/validate.inc.php -=================================================================== ---- frontends/php/include/validate.inc.php (revision 6622) -+++ frontends/php/include/validate.inc.php (revision 6623) -@@ -432,7 +432,7 @@ - if(!isset($_REQUEST[$field])){ - return ZBX_VALID_OK; - } -- else if(($flags&P_ACT) && !isset($_REQUEST['zbx_form'])){ -+ else if(($flags&P_ACT) && !isset($_REQUEST['sessionid'])){ - return ZBX_VALID_ERROR; - } - } -@@ -465,8 +465,7 @@ - - // VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION - $system_fields=array( -- 'sessionid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), 'isset({zbx_form})'), -- 'zbx_form'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY, NULL), -+ 'sessionid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), NULL), - // - 'switch_node'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL), - 'triggers_hash'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY,NULL), -Index: frontends/php/include/classes/ctree.inc.php -=================================================================== ---- frontends/php/include/classes/ctree.inc.php (revision 6622) -+++ frontends/php/include/classes/ctree.inc.php (revision 6623) -@@ -214,7 +214,6 @@ - global $page; - $js = ' - <script src="js/tree.js" type="text/javascript"></script> -- <script src="js/cookies.js" type="text/javascript"></script> - <script type="text/javascript"> - var treenode = new Array(0); - var tree_name = "tree_'.$this->getUserAlias().'_'.$page["file"].'"; -Index: frontends/php/include/classes/cform.inc.php -=================================================================== ---- frontends/php/include/classes/cform.inc.php (revision 6622) -+++ frontends/php/include/classes/cform.inc.php (revision 6623) -@@ -27,7 +27,6 @@ - $this->setAction($action); - $this->setEnctype($enctype); - -- $this->addVar('zbx_form', 'action'); - $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); - } - -Index: frontends/php/index.php -=================================================================== ---- frontends/php/index.php (revision 6622) -+++ frontends/php/index.php (revision 6623) -@@ -33,8 +33,8 @@ - "password"=> array(T_ZBX_STR, O_OPT, NULL, NULL, 'isset({enter})'), - "sessionid"=> array(T_ZBX_STR, O_OPT, NULL, NULL, NULL), - "message"=> array(T_ZBX_STR, O_OPT, NULL, NULL, NULL), -- "reconnect"=> array(T_ZBX_INT, O_OPT, P_ACT, BETWEEN(0,65535),NULL), -- "enter"=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL), -+ "reconnect"=> array(T_ZBX_INT, O_OPT, NULL, BETWEEN(0,65535),NULL), -+ "enter"=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), - "form"=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), - "form_refresh"=> array(T_ZBX_INT, O_OPT, NULL, NULL, NULL) - ); - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Obtained from svn://svn.zabbix.com/branches/1.6/frontends/php/ - -Checks if 'zbx_sessionid' cookie is really here before setting -'sessionid' variable. - -Index: frontends/php/include/classes/cform.inc.php -=================================================================== ---- frontends/php/include/classes/cform.inc.php (revision 6624) -+++ frontends/php/include/classes/cform.inc.php (revision 6625) -@@ -27,7 +27,8 @@ - $this->setAction($action); - $this->setEnctype($enctype); - -- $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); -+ if(isset($_COOKIE['zbx_sessionid'])) -+ $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); - } - - function setMethod($value='post'){ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Obtained from svn://svn.zabbix.com/branches/1.6/frontends/php/ - -This hunk basically trades the name 'sessionid' for 'sid'. It also -reshuffles many functions, adds many whitespace changes and implants -URL manipulation tools for JavaScript. - -Index: frontends/php/users.php -=================================================================== ---- frontends/php/users.php (revision 6643) -+++ frontends/php/users.php (revision 6644) -@@ -1,7 +1,7 @@ - <?php - /* - ** ZABBIX --** Copyright (C) 2000-2005 SIA Zabbix -+** Copyright (C) 2000-2009 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 -@@ -24,6 +24,7 @@ - require_once('include/media.inc.php'); - require_once('include/users.inc.php'); - require_once('include/forms.inc.php'); -+ require_once('include/classes/curl.inc.php'); - require_once('include/js.inc.php'); - - $page['title'] = 'S_USERS'; -@@ -32,7 +33,6 @@ - $page['scripts'] = array('menu_scripts.js'); - - include_once('include/page_header.php'); -- - ?> - <?php - $_REQUEST['config']=get_request('config',get_profile('web.users.config',0)); -Index: frontends/php/js/menu.js -=================================================================== ---- frontends/php/js/menu.js (revision 6643) -+++ frontends/php/js/menu.js (revision 6644) -@@ -386,8 +386,13 @@ - this.n_y -= this.getprop('height') * (o_parent.a_config.length - item_offset); - } - -+ if(!is_null(this.a_config[1]) && (this.a_config[1].indexOf('javascript') == -1)){ -+ var uri = new url(this.a_config[1]); -+ this.a_config[1] = uri.getUrl(); -+ } -+ - // generate item's HMTL -- var el = document.createElement("a"); -+ var el = document.createElement('a'); - el.setAttribute('id', 'e' + o_root.n_id + '_' + this.n_id + 'o'); - el.setAttribute('href', this.a_config[1]); - -Index: frontends/php/js/updater.js -=================================================================== ---- frontends/php/js/updater.js (revision 6643) -+++ frontends/php/js/updater.js (revision 6644) -@@ -65,8 +65,6 @@ - obj4update.ready = false; - - var uri = new url(obj4update.url); -- uri.setArgument('sessionid', cookie.read('zbx_sessionid')); -- - new Ajax.Updater(obj4update.id, uri.getUrl(),//obj4update.url, - { - method: 'post', -Index: frontends/php/js/gpc.js -=================================================================== ---- frontends/php/js/gpc.js (revision 6643) -+++ frontends/php/js/gpc.js (revision 6644) -@@ -96,7 +96,7 @@ - reference: '', - path: '', - query: '', --arguments: new Array(), -+arguments: {}, - - initialize: function(url){ - this.url=unescape(url); -@@ -116,7 +116,8 @@ - if(colonIndex>=0){ - this.username=credentials.substring(0,colonIndex); - this.password=credentials.substring(colonIndex); -- }else{ -+ } -+ else{ - this.username=credentials; - } - this.host=this.host.substring(atIndex+1); -@@ -144,9 +145,11 @@ - } - this.file=this.url.substring(protocolSepIndex+3); - this.file=this.file.substring(this.file.indexOf('/')); -- }else{ -+ } -+ else{ - this.file=this.url; - } -+ - if(this.file.indexOf('?')>=0) this.file=this.file.substring(0, this.file.indexOf('?')); - - var refSepIndex=url.indexOf('#'); -@@ -157,42 +160,51 @@ - this.path=this.file; - if(this.query.length>0) this.file+='?'+this.query; - if(this.reference.length>0) this.file+='#'+this.reference; -- if(this.query.length > 0) this.getArguments(); -+ if(this.query.length > 0) this.formatArguments(); -+ -+ var sid = cookie.read('zbx_sessionid'); -+ this.setArgument('sid', sid.substring(16)); - }, - --getArguments: function(){ -+ -+formatQuery: function(){ -+ if(this.arguments.lenght < 1) return; -+ -+ var query = ''; -+ for(var key in this.arguments){ -+ if(typeof(this.arguments[key]) != 'undefined'){ -+ query+=key+'='+this.arguments[key]+'&'; -+ } -+ } -+ this.query = query.substring(0,query.length-1); -+}, -+ -+formatArguments: function(){ - var args=this.query.split('&'); - var keyval=''; -- -+ - if(args.length<1) return; - -- for(i=0;i<args.length;i++){ -- keyval=args[i].split('='); -- this.arguments[i] = new Array(keyval[0],(keyval.length==1)?keyval[0]:keyval[1]); -+ for(i=0; i<args.length; i++){ -+ keyval = args[i].split('='); -+ this.arguments[keyval[0]] = (keyval.length>1)?keyval[1]:''; - } - }, - --getArgumentValue: function(key){ -- if(key.length<1) return ''; -- for(i=0; i < this.arguments.length; i++){ -- if(this.arguments[i][0] == key) return this.arguments[i][1]; -- } -- --return ''; -+setArgument: function(key,value){ -+ this.arguments[key] = value; -+ this.formatQuery(); - }, - --getArgumentValues: function(){ -- var a=new Array(); -- var b=this.query.split('&'); -- var c=''; -- if(b.length<1) return a; -- for(i=0;i<b.length;i++){ -- c=b[i].split('='); -- a[i]=new Array(c[0],((c.length==1)?c[0]:c[1])); -- } --return a; -+getArgument: function(key){ -+ if(typeof(this.arguments[key]) != 'undefined') return this.arguments[key]; -+ else return null; - }, - -+getArguments: function(){ -+ return this.arguments; -+}, -+ - getUrl: function(){ - var uri = (this.protocol.length > 0)?(this.protocol+'://'):''; - uri += encodeURI((this.username.length > 0)?(this.username):''); -@@ -206,51 +218,30 @@ - return uri; - }, - --setArgument: function(key,value){ -- -- var valueisset = false; -- if(typeof(key) == 'undefined') throw 'Invalid argument past for setArgument'; -- -- value =('undefined' != typeof(value))?value:''; -- -- for(i=0; i < this.arguments.length; i++){ -- if(this.arguments[i][0] == key){ -- valueisset = true; -- this.arguments[i][1] = value; -- } -- } -- if(!valueisset) this.arguments[this.arguments.length] = new Array(key,value); -- this.formatQuery(); -+setPort: function(port){ -+ this.port = port; - }, - --formatQuery: function(){ -- if(this.arguments.lenght < 1) return; -- -- var query = ''; -- for(i=0; i < this.arguments.length; i++){ -- query+=this.arguments[i][0]+'='+this.arguments[i][1]+'&'; -- } -- this.query = query.substring(0,query.length-1); --}, -- - getPort: function(){ - return this.port; - }, - --setPort: function(port){ -- this.port = port; -+setQuery: function(query){ -+ this.query = query; -+ if(this.query.indexOf('?')>=0){ -+ this.query= this.query.substring(this.query.indexOf('?')+1); -+ } -+ -+ this.formatArguments(); -+ -+ var sid = cookie.read('zbx_sessionid'); -+ this.setArgument('sid', sid.substring(16)); - }, - - getQuery: function(){ - return this.query; - }, - --setQuery: function(query){ -- this.query = query; -- this.getArgumentValues(); -- this.formatQuery(); --}, -- - /* Returns the protocol of this URL, i.e. 'http' in the url 'http://server/' */ - getProtocol: function(){ - return this.protocol; -@@ -264,7 +255,7 @@ - return this.host; - }, - --setHost: function(set){ -+setHost: function(host){ - this.host = host; - }, - -@@ -288,7 +279,7 @@ - - /* Returns the file part of this url, i.e. everything after the host name. */ - getFile: function(){ -- return this.file = file; -+ return this.file; - }, - - setFile: function(file){ -Index: frontends/php/js/menu_scripts.js -=================================================================== ---- frontends/php/js/menu_scripts.js (revision 6643) -+++ frontends/php/js/menu_scripts.js (revision 6644) -@@ -64,7 +64,7 @@ - for(var i=0; i < menu_usrgrp_gui.length; i++){ - if((typeof(menu_usrgrp_gui[i]) != 'undefined') && !empty(menu_usrgrp_gui[i])){ - var row = menu_usrgrp_gui[i]; -- var menu_row = new Array(row.name,"users.php?config=0&form=update&grpaction=1&userid="+userid+"&usrgrpid="+row.usrgrpid); -+ var menu_row = new Array(row.name,'users.php?config=0&form=update&grpaction=1&userid='+userid+'&usrgrpid='+row.usrgrpid); - grp_gui_add_to.push(menu_row); - } - } -@@ -73,7 +73,7 @@ - for(var i=0; i < usr_grp_gui_in.length; i++){ - if((typeof(usr_grp_all_in[i]) != 'undefined') && !empty(usr_grp_gui_in[i])){ - var row = usr_grp_gui_in[i]; -- var menu_row = new Array(row.name,"users.php?config=0&form=update&grpaction=0&userid="+userid+"&usrgrpid="+row.usrgrpid); -+ var menu_row = new Array(row.name,'users.php?config=0&form=update&grpaction=0&userid='+userid+'&usrgrpid='+row.usrgrpid); - grp_gui_rmv_frm.push(menu_row); - } - } -@@ -89,7 +89,7 @@ - for(var i=0; i < menu_usrgrp_status.length; i++){ - if((typeof(menu_usrgrp_status[i]) != 'undefined') && !empty(menu_usrgrp_status[i])){ - var row = menu_usrgrp_status[i]; -- var menu_row = new Array(row.name,"users.php?config=0&form=update&grpaction=1&userid="+userid+"&usrgrpid="+row.usrgrpid); -+ var menu_row = new Array(row.name,'users.php?config=0&form=update&grpaction=1&userid='+userid+'&usrgrpid='+row.usrgrpid); - grp_status_add_to.push(menu_row); - } - } -@@ -98,7 +98,7 @@ - for(var i=0; i < usr_grp_status_in.length; i++){ - if((typeof(usr_grp_status_in[i]) != 'undefined') && !empty(usr_grp_status_in[i])){ - var row = usr_grp_status_in[i]; -- var menu_row = new Array(row.name,"users.php?config=0&form=update&grpaction=0&userid="+userid+"&usrgrpid="+row.usrgrpid); -+ var menu_row = new Array(row.name,'users.php?config=0&form=update&grpaction=0&userid='+userid+'&usrgrpid='+row.usrgrpid); - grp_status_rmv_frm.push(menu_row); - } - } -Index: frontends/php/js/common.js -=================================================================== ---- frontends/php/js/common.js (revision 6643) -+++ frontends/php/js/common.js (revision 6644) -@@ -82,6 +82,16 @@ - div_help.appendChild(document.createElement("br")); - } - -+function SDJ(obj){ -+ var debug = ''; -+ for(var key in obj) { -+ var value = obj[key]; -+ debug+=key+': '+value+'\n'; -+ } -+ SDI('\n'+debug); -+} -+ -+ - /// Alpha-Betic sorting - - function addListener(element, eventname, expression, bubbling){ -Index: frontends/php/js/ajax_req.js -=================================================================== ---- frontends/php/js/ajax_req.js (revision 6643) -+++ frontends/php/js/ajax_req.js (revision 6644) -@@ -20,14 +20,16 @@ - - function send_params(params){ - if(typeof(params) == 'undefined') var params = new Array(); -- params['sessionid'] = cookie.read('zbx_sessionid'); - - var uri = new url(location.href); -- new Ajax.Request(uri.getPath()+"?output=ajax", -+ uri.setQuery('?output=ajax'); -+ -+ new Ajax.Request(uri.getUrl(), - { - 'method': 'post', - 'parameters':params, -- 'onSuccess': function(resp){ },//alert(resp.responseText); -+ 'onSuccess': function(resp){ }, -+// 'onSuccess': function(resp){ alert(resp.responseText); }, - 'onFailure': function(){ document.location = uri.getPath()+'?'+Object.toQueryString(params); } - } - ); -Index: frontends/php/dashboard.php -=================================================================== ---- frontends/php/dashboard.php (revision 6643) -+++ frontends/php/dashboard.php (revision 6644) -@@ -54,7 +54,7 @@ - 'action'=> array(T_ZBX_STR, O_OPT, P_ACT, IN("'add','remove'"),NULL), - 'state'=> array(T_ZBX_INT, O_OPT, P_ACT, NOT_EMPTY, 'isset({favobj}) && ("hat"=={favobj})'), - ); -- -+ - check_fields($fields); - - $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY, PERM_RES_IDS_ARRAY); -@@ -179,11 +179,11 @@ - $p_elements = array(); - // Header - -- $url = '?fullscreen='.($_REQUEST['fullscreen']?'0':'1'); -+ $url = new Curl('?fullscreen='.($_REQUEST['fullscreen']?'0':'1')); - - $fs_icon = new CDiv(SPACE,'fullscreen'); - $fs_icon->AddOption('title',$_REQUEST['fullscreen']?S_NORMAL.' '.S_VIEW:S_FULLSCREEN); -- $fs_icon->AddAction('onclick',new CScript("javascript: document.location = '".$url."';")); -+ $fs_icon->AddAction('onclick',new CScript("javascript: document.location = '".$url->getUrl()."';")); - //------------- - - $left_tab = new CTable(); -Index: frontends/php/include/func.inc.php -=================================================================== ---- frontends/php/include/func.inc.php (revision 6643) -+++ frontends/php/include/func.inc.php (revision 6644) -@@ -344,6 +344,18 @@ - return $pos; - } - -+function zbx_substring($haystack, $start, $end=null){ -+ if($end < $start) return ''; -+ -+ $len = zbx_strlen($haystack); -+ if(is_null($end)) -+ $result = substr($haystack, $start); -+ else -+ $result = substr($haystack, $start, ($end - $start)); -+ -+return $result; -+} -+ - function uint_in_array($needle,$haystack){ - foreach($haystack as $id => $value) - if(bccomp($needle,$value) == 0) return true; -Index: frontends/php/include/screens.inc.php -=================================================================== ---- frontends/php/include/screens.inc.php (revision 6643) -+++ frontends/php/include/screens.inc.php (revision 6644) -@@ -886,7 +886,7 @@ - $action = 'screenedit.php?form=update'.url_param('screenid').'&x='.$c.'&y='.$r.'#form'; - else - $action = NULL; -- -+ - if($editmode == 1 && isset($_REQUEST["form"]) && - isset($_REQUEST["x"]) && $_REQUEST["x"]==$c && - isset($_REQUEST["y"]) && $_REQUEST["y"]==$r) -Index: frontends/php/include/perm.inc.php -=================================================================== ---- frontends/php/include/perm.inc.php (revision 6643) -+++ frontends/php/include/perm.inc.php (revision 6644) -@@ -44,7 +44,7 @@ - $USER_DETAILS = NULL; - $login = FALSE; - -- $sessionid = get_request('sessionid',get_cookie('zbx_sessionid')); -+ $sessionid = get_cookie('zbx_sessionid'); - - if(!is_null($sessionid)){ - $sql = 'SELECT u.*,s.* '. -Index: frontends/php/include/config.inc.php -=================================================================== ---- frontends/php/include/config.inc.php (revision 6643) -+++ frontends/php/include/config.inc.php (revision 6644) -@@ -65,6 +65,7 @@ - require_once('include/classes/cpumenu.inc.php'); - require_once('include/classes/graph.inc.php'); - require_once('include/classes/cscript.inc.php'); -+ require_once('include/classes/curl.inc.php'); - - // Include Tactical Overview modules - -Index: frontends/php/include/validate.inc.php -=================================================================== ---- frontends/php/include/validate.inc.php (revision 6643) -+++ frontends/php/include/validate.inc.php (revision 6644) -@@ -432,8 +432,13 @@ - if(!isset($_REQUEST[$field])){ - return ZBX_VALID_OK; - } -- else if(($flags&P_ACT) && !isset($_REQUEST['sessionid'])){ -- return ZBX_VALID_ERROR; -+ else if($flags&P_ACT){ -+ if(!isset($_REQUEST['sid'])){ -+ return ZBX_VALID_ERROR; -+ } -+ else if(isset($_COOKIE['zbx_sessionid']) && ($_REQUEST['sid'] != substr($_COOKIE['zbx_sessionid'],16,16))){ -+ return ZBX_VALID_ERROR; -+ } - } - } - -@@ -465,7 +470,7 @@ - - // VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION - $system_fields=array( -- 'sessionid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), NULL), -+ 'sid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), NULL), - // - 'switch_node'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL), - 'triggers_hash'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY,NULL), -Index: frontends/php/include/classes/clink.inc.php -=================================================================== ---- frontends/php/include/classes/clink.inc.php (revision 6643) -+++ frontends/php/include/classes/clink.inc.php (revision 6644) -@@ -19,12 +19,14 @@ - **/ - ?> - <?php -- class CLink extends CTag -- { -+ class CLink extends CTag{ - /* public */ - function CLink($item=NULL,$url=NULL,$class=NULL,$action=NULL){ - parent::CTag('a','yes'); -- -+ -+ $uri = new Curl($url); -+ $url = $uri->getUrl(); -+ - $this->tag_start= ''; - $this->tag_end = ''; - $this->tag_body_start = ''; -@@ -36,14 +38,14 @@ - if(!is_null($action)) $this->SetAction($action); - } - -- function SetAction($value=NULL){ -+ function setAction($value=NULL){ - if(is_null($value)) - return $this->options['action'] = $page['file']; - - return parent::AddAction('onclick', $value); - } - -- function SetUrl($value){ -+ function setUrl($value){ - $this->AddOption('href', $value); - } - -@@ -54,7 +56,7 @@ - return null; - } - -- function SetTarget($value=NULL){ -+ function setTarget($value=NULL){ - if(is_null($value)){ - unset($this->options['target']); - } -Index: frontends/php/include/classes/curl.inc.php -=================================================================== ---- frontends/php/include/classes/curl.inc.php (revision 0) -+++ frontends/php/include/classes/curl.inc.php (revision 6644) -@@ -0,0 +1,273 @@ -+<?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 -+// Title: url manipulation class -+// Author: Aly -+ -+class Curl{ -+/* -+private $url = ''; // actually, it's depricated/private variable -+private $port = false; -+private $host = ''; -+private $protocol = ''; -+private $username = ''; -+private $password = ''; -+private $filr = ''; -+private $reference = ''; -+private $path = ''; -+private $query = ''; -+private $arguments = array(); -+//*/ -+ -+function curl($url=null){ -+ global $USER_DETAILS; -+ -+ $this->url = ''; // actually, it's depricated/private variable -+ $this->port = false; -+ $this->host = ''; -+ $this->protocol = ''; -+ $this->username = ''; -+ $this->password = ''; -+ $this->filr = ''; -+ $this->reference = ''; -+ $this->path = ''; -+ $this->query = ''; -+ $this->arguments = array(); -+ -+ if(empty($url)){ -+ $this->formatArguments(); -+ $this->url = $url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME'].'?'.$this->getQuery(); -+ } -+ else{ -+ $this->url=urldecode($url); -+ -+ $tmp_pos = strpos($this->url,'?'); -+ $this->query=($tmp_pos!==false)?(substr($this->url,$tmp_pos+1)):''; -+ -+ $tmp_pos = strpos($this->query,'#'); -+ if($tmp_pos!==false) $this->query=zbx_substring($this->query,0,$tmp_pos); -+ -+ $this->formatArguments($this->query); -+ } -+ -+ $protocolSepIndex=strpos($this->url,'://'); -+ if($protocolSepIndex!==false){ -+ $this->protocol= strtolower(zbx_substring($this->url,0,$protocolSepIndex)); -+ -+ $this->host=substr($this->url, $protocolSepIndex+3); -+ -+ $tmp_pos = strpos($this->host,'/'); -+ if($tmp_pos!==false) $this->host=zbx_substring($this->host,0,$tmp_pos); -+ -+ $atIndex=strpos($this->host,'@'); -+ if($atIndex!==false){ -+ $credentials=zbx_substring($this->host,0,$atIndex); -+ -+ $colonIndex=strpos(credentials,':'); -+ if($colonIndex!==false){ -+ $this->username=zbx_substring($credentials,0,$colonIndex); -+ $this->password=substr($credentials,$colonIndex); -+ } -+ else{ -+ $this->username=$credentials; -+ } -+ $this->host=substr($this->host,$atIndex+1); -+ } -+ -+ $host_ipv6 = strpos($this->host,']'); -+ if($host_ipv6!==false){ -+ if($host_ipv6 < (zbx_strlen($this->host)-1)){ -+ $host_ipv6++; -+ $host_less = substr($this->host,$host_ipv6); -+ -+ $portColonIndex=strpos($host_less,':'); -+ if($portColonIndex!==false){ -+ $this->host=zbx_substring($this->host,0,$host_ipv6); -+ $this->port=substr($host_less,$portColonIndex+1); -+ } -+ } -+ } -+ else{ -+ $portColonIndex=strpos($this->host,':'); -+ if($portColonIndex!==false){ -+ $this->host=zbx_substring($this->host,0,$portColonIndex); -+ $this->port=substr($this->host,$portColonIndex+1); -+ } -+ } -+ -+ $this->file = substr($this->url,$protocolSepIndex+3); -+ $this->file = substr($this->file, strpos($this->file,'/')); -+ } -+ else{ -+ $this->file = $this->url; -+ } -+ -+ $tmp_pos = strpos($this->file,'?'); -+ if($tmp_pos!==false) $this->file=zbx_substring($this->file, 0, $tmp_pos); -+ -+ $refSepIndex=strpos($url,'#'); -+ if($refSepIndex!==false){ -+ $this->file = zbx_substring($this->file,0,$refSepIndex); -+ $this->reference = substr($url,strpos($url,'#')+1); -+ } -+ -+ $this->path=$this->file; -+ if(zbx_strlen($this->query)>0) $this->file.='?'.$this->query; -+ if(zbx_strlen($this->reference)>0) $this->file.='#'.$this->reference; -+ -+ if(isset($_COOKIE['zbx_sessionid'])) -+ $this->setArgument('sid', substr($_COOKIE['zbx_sessionid'],16,16)); -+} -+ -+function formatQuery(){ -+ $query = ''; -+ foreach($this->arguments as $key => $value){ -+ $query.= $key.'='.$value.'&'; -+ } -+ $this->query = rtrim($query,'&'); -+} -+ -+function formatArguments($query=null){ -+ if(is_null($query)){ -+ $this->arguments = $_REQUEST; -+ } -+ else{ -+ $query=ltrim($query,'?'); -+ $args = explode('&',$query); -+ foreach($args as $id => $arg){ -+ if(empty($arg)) continue; -+ -+ $tmp = explode('=',$arg); -+ $this->arguments[$tmp[0]] = isset($tmp[1])?$tmp[1]:''; -+ } -+ } -+ $this->formatQuery(); -+} -+ -+function getUrl(){ -+ $url = (zbx_strlen($this->protocol) > 0)?($this->protocol.'://'):''; -+ $url .= (zbx_strlen($this->username) > 0)?$this->username:''; -+ $url .= (zbx_strlen($this->password) > 0)?':'.$this->password:''; -+ $url .= (zbx_strlen($this->host) > 0)?$this->host:''; -+ $url .= $this->port?(':'.$this->port):''; -+ $url .= (zbx_strlen($this->path) > 0)?$this->path:''; -+ $url .= (zbx_strlen($this->query) > 0)?('?'.$this->query):''; -+ $url .= (zbx_strlen($this->reference) > 0)?('#'.urlencode($this->reference)):''; -+ -+//SDI($this->getProtocol().' : '.$this->getHost().' : '.$this->getPort().' : '.$this->getPath().' : '.$this->getQuery()); -+return $url; -+} -+ -+function setPort($port){ -+ $this->port = $port; -+} -+ -+function getPort(){ -+ return $this->port; -+} -+ -+function setArgument($key,$value=''){ -+ $this->arguments[$key] = $value; -+ $this->formatQuery(); -+} -+ -+function getArgument($key){ -+ if(isset($this->arguments[$key])) return $this->arguments[$key]; -+ else return NULL; -+} -+ -+function setQuery($query){ -+ $this->query = $query; -+ $this->formatArguments(); -+ $this->formatQuery(); -+} -+ -+function getQuery(){ -+ return $this->query; -+} -+ -+function setProtocol($protocol){ -+ $this->protocol = $protocol; -+} -+ -+/* Returns the protocol of $this URL, i.e. 'http' in the url 'http://server/' */ -+function getProtocol(){ -+ return $this->protocol; -+} -+ -+function setHost($host){ -+ $this->host = $host; -+} -+ -+/* Returns the host name of $this URL, i.e. 'server.com' in the url 'http://server.com/' */ -+function getHost(){ -+ return $this->host; -+} -+ -+function setUserName($username){ -+ $this->username = $username; -+} -+ -+/* Returns the user name part of $this URL, i.e. 'joe' in the url 'http://joe@server.com/' */ -+function getUserName(){ -+ return $this->username; -+} -+ -+function setPassword($password){ -+ $this->password = $password; -+} -+ -+/* Returns the password part of $this url, i.e. 'secret' in the url 'http://joe:secret@server.com/' */ -+function getPassword(){ -+ return $this->password; -+} -+ -+function setFile($file){ -+ $this->file = $file; -+} -+ -+/* Returns the file part of $this url, i.e. everything after the host name. */ -+function getFile(){ -+ return $this->file; -+} -+ -+function setReference($reference){ -+ $this->reference = $reference; -+} -+ -+/* Returns the reference of $this url, i.e. 'bookmark' in the url 'http://server/file.html#bookmark' */ -+function getReference(){ -+ return $this->reference; -+} -+ -+function setPath($path){ -+ $this->path = $path; -+} -+ -+/* Returns the file path of $this url, i.e. '/dir/file.html' in the url 'http://server/dir/file.html' */ -+function getPath(){ -+ return $this->path; -+} -+ -+function toString(){ -+ return $this->getUrl(); -+} -+} -\ No newline at end of file -Index: frontends/php/include/classes/cform.inc.php -=================================================================== ---- frontends/php/include/classes/cform.inc.php (revision 6643) -+++ frontends/php/include/classes/cform.inc.php (revision 6644) -@@ -28,7 +28,7 @@ - $this->setEnctype($enctype); - - if(isset($_COOKIE['zbx_sessionid'])) -- $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); -+ $this->addVar('sid', substr($_COOKIE['zbx_sessionid'],16,16)); - } - - function setMethod($value='post'){ -Index: frontends/php/include/classes/ctag.inc.php -=================================================================== ---- frontends/php/include/classes/ctag.inc.php (revision 6643) -+++ frontends/php/include/classes/ctag.inc.php (revision 6644) -@@ -1,7 +1,7 @@ - <?php - /* - ** ZABBIX --** Copyright (C) 2000-2005 SIA Zabbix -+** Copyright (C) 2000-2009 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 -@@ -19,272 +19,258 @@ - **/ - ?> - <?php -- function destroy_objects() -- { -- global $GLOBALS; -- -- if(isset($GLOBALS)) foreach($GLOBALS as $name => $value) -- { -- if(!is_object($GLOBALS[$name])) continue; -- unset($GLOBALS[$name]); -- } -+function destroy_objects(){ -+ if(isset($GLOBALS)) foreach($GLOBALS as $name => $value){ -+ if(!is_object($GLOBALS[$name])) continue; -+ unset($GLOBALS[$name]); - } -- -- function unpack_object(&$item) -- { -- $res = ""; -+} - -- if(is_object($item)) -- { -- $res = $item->ToString(false); -- } -- elseif(is_array($item)) -- { -- foreach($item as $id => $dat) -- $res .= unpack_object($item[$id]); // Attention, recursion !!! -- } -- elseif(!is_null($item)) -- { -- $res = strval($item); -- unset($item); -- } -- return $res; -+function unpack_object(&$item){ -+ $res = ''; -+ -+ if(is_object($item)){ -+ $res = $item->toString(false); - } -+ else if(is_array($item)){ -+ foreach($item as $id => $dat) -+ $res .= unpack_object($item[$id]); // Attention, recursion !!! -+ } -+ else if(!is_null($item)){ -+ $res = strval($item); -+ unset($item); -+ } -+return $res; -+} - -- function implode_objects($glue, &$pieces) -- { -- if( !is_array($pieces) ) return unpack_object($pieces); -+function implode_objects($glue, &$pieces){ -+ if( !is_array($pieces) ) return unpack_object($pieces); - -- foreach($pieces as $id => $piece) -- $pieces[$id] = unpack_object($piece); -+ foreach($pieces as $id => $piece) -+ $pieces[$id] = unpack_object($piece); - -- return implode($glue, $pieces); -- } -+return implode($glue, $pieces); -+} - -- class CObject -- { -- function CObject($items=null) -- { -- $this->items = array(); -- if(isset($items)) -- { -- $this->AddItem($items); -- } -+class CObject{ -+ function CObject($items=null){ -+ $this->items = array(); -+ if(isset($items)){ -+ $this->addItem($items); - } -- -- function ToString($destroy=true) -- { -- $res = implode('',$this->items); -- if($destroy) $this->Destroy(); -- return $res; -- } -+ } -+ -+ function toString($destroy=true){ -+ $res = implode('',$this->items); -+ if($destroy) $this->destroy(); -+ return $res; -+ } - -- function Show($destroy=true){ -- echo $this->ToString($destroy); -- } -+ function show($destroy=true){ -+ echo $this->toString($destroy); -+ } - -- function Destroy() -- { -+ function destroy(){ - // TODO Problem under PHP 5.0 "Fatal error: Cannot re-assign $this in ..." - // $this = null; -- $this->CleanItems(); -- } -+ $this->cleanItems(); -+ } - -- function CleanItems(){ -- $this->items = array(); -+ function cleanItems(){ -+ $this->items = array(); -+ } -+ -+ function itemsCount(){ -+ return count($this->items); -+ } -+ -+ function addItem($value){ -+ -+ if(is_object($value)){ -+ array_push($this->items,unpack_object($value)); - } -- -- function ItemsCount(){ -- return count($this->items); -+ else if(is_string($value)){ -+ array_push($this->items,str_replace(array('<','>','"'),array('<','>','"'),$value)); -+// array_push($this->items,htmlspecialchars($value)); - } -- -- function AddItem($value){ -- -- if(is_object($value)){ -- array_push($this->items,unpack_object($value)); -+ else if(is_array($value)){ -+ foreach($value as $item){ -+ $this->addItem($item); // Attention, recursion !!! - } -- else if(is_string($value)){ -- array_push($this->items,str_replace(array('<','>','"'),array('<','>','"'),$value)); --// array_push($this->items,htmlspecialchars($value)); -- } -- else if(is_array($value)){ -- foreach($value as $item){ -- $this->AddItem($item); // Attention, recursion !!! -- } -- } -- else if(!is_null($value)){ -- array_push($this->items,unpack_object($value)); -- } - } -+ else if(!is_null($value)){ -+ array_push($this->items,unpack_object($value)); -+ } - } -+} - -- class CTag extends CObject{ -+class CTag extends CObject{ - /* private *//* -- var $tagname; -- var $options = array(); -- var $paired;*/ -+ var $tagname; -+ var $options = array(); -+ var $paired;*/ - /* protected *//* -- var $items = array(); -+ var $items = array(); - -- var $tag_body_start; -- var $tag_body_end; -- var $tag_start; -- var $tag_end;*/ -+ var $tag_body_start; -+ var $tag_body_end; -+ var $tag_start; -+ var $tag_end;*/ - - /* public */ -- function CTag($tagname=NULL, $paired='no', $body=NULL, $class=null){ -- parent::CObject(); -+ function CTag($tagname=NULL, $paired='no', $body=NULL, $class=null){ -+ parent::CObject(); - -- $this->options = array(); -+ $this->options = array(); - -- if(!is_string($tagname)){ -- return $this->error('Incorrect tagname for CTag ['.$tagname.']'); -- } -- -- $this->tagname = $tagname; -- $this->paired = $paired; -- -- $this->tag_start = $this->tag_end = $this->tag_body_start = $this->tag_body_end = ''; -- -- if(is_null($body)){ -- $this->tag_end = $this->tag_body_start = "\n"; -- } -- else{ -- CTag::AddItem($body); -- } -- -- $this->SetClass($class); -+ if(!is_string($tagname)){ -+ return $this->error('Incorrect tagname for CTag ['.$tagname.']'); - } - -- function ShowStart() { echo $this->StartToString(); } -- function ShowBody() { echo $this->BodyToString(); } -- function ShowEnd() { echo $this->EndToString(); } -+ $this->tagname = $tagname; -+ $this->paired = $paired; - -- function StartToString(){ -- $res = $this->tag_start.'<'.$this->tagname; -- foreach($this->options as $key => $value){ -- $res .= ' '.$key.'="'.$value.'"'; -- } -- $res .= ($this->paired=='yes')?'>':' />'; -- return $res; -- } -+ $this->tag_start = $this->tag_end = $this->tag_body_start = $this->tag_body_end = ''; - -- function BodyToString(){ -- $res = $this->tag_body_start; -- return $res.parent::ToString(false); -- -- /*foreach($this->items as $item) -- $res .= $item; -- return $res;*/ -+ if(is_null($body)){ -+ $this->tag_end = $this->tag_body_start = "\n"; - } -- -- function EndToString(){ -- $res = ($this->paired=='yes') ? $this->tag_body_end.'</'.$this->tagname.'>' : ''; -- $res .= $this->tag_end; -- return $res; -+ else{ -+ CTag::addItem($body); - } -- -- function ToString($destroy=true){ -- $res = $this->StartToString(); -- $res .= $this->BodyToString(); -- $res .= $this->EndToString(); - -- if($destroy) $this->Destroy(); -+ $this->setClass($class); -+ } -+ -+ function showStart() { echo $this->startToString(); } -+ function showBody() { echo $this->bodyToString(); } -+ function showEnd() { echo $this->endToString(); } - -- return $res; -+ function startToString(){ -+ $res = $this->tag_start.'<'.$this->tagname; -+ foreach($this->options as $key => $value){ -+ $res .= ' '.$key.'="'.$value.'"'; - } -- -- function SetName($value){ -- if(is_null($value)) return $value; -+ $res .= ($this->paired=='yes')?'>':' />'; -+ return $res; -+ } - -- if(!is_string($value)){ -- return $this->error("Incorrect value for SetName [$value]"); -- } -- return $this->AddOption("name",$value); -- } -+ function bodyToString(){ -+ $res = $this->tag_body_start; -+ return $res.parent::ToString(false); - -- function GetName(){ -- if(isset($this->options['name'])) -- return $this->options['name']; -- return NULL; -- } -- -- function SetClass($value){ -- if(isset($value)) -- $this->options['class'] = $value; -- else -- unset($this->options['class']); -+ /*foreach($this->items as $item) -+ $res .= $item; -+ return $res;*/ -+ } -+ -+ function endToString(){ -+ $res = ($this->paired=='yes') ? $this->tag_body_end.'</'.$this->tagname.'>' : ''; -+ $res .= $this->tag_end; -+ return $res; -+ } -+ -+ function toString($destroy=true){ -+ $res = $this->startToString(); -+ $res .= $this->bodyToString(); -+ $res .= $this->endToString(); - -- return $value; -+ if($destroy) $this->Destroy(); -+ -+ return $res; -+ } -+ -+ function setName($value){ -+ if(is_null($value)) return $value; -+ -+ if(!is_string($value)){ -+ return $this->error("Incorrect value for setName [$value]"); - } -- -- function DelOption($name){ -- unset($this->options[$name]); -- } -- -- function GetOption($name){ -- $ret = NULL; -- if(isset($this->options[$name])) -- $ret =& $this->options[$name]; -- return $ret; -- } -+ return $this->addOption("name",$value); -+ } -+ -+ function getName(){ -+ if(isset($this->options['name'])) -+ return $this->options['name']; -+ return NULL; -+ } -+ -+ function setClass($value){ -+ if(isset($value)) -+ $this->options['class'] = $value; -+ else -+ unset($this->options['class']); - -- function SetHint($text, $width='', $class=''){ -- if(empty($text)) return false; -+ return $value; -+ } -+ -+ function DelOption($name){ -+ unset($this->options[$name]); -+ } -+ -+ function getOption($name){ -+ $ret = NULL; -+ if(isset($this->options[$name])) -+ $ret =& $this->options[$name]; -+ return $ret; -+ } - -- insert_showhint_javascript(); -+ function setHint($text, $width='', $class=''){ -+ if(empty($text)) return false; - -- $text = unpack_object($text); -- if($width != '' || $class != ''){ -- $code = "show_hint_ext(this,event,'".$text."','".$width."','".$class."');"; -- } -- else{ -- $code = "show_hint(this,event,'".$text."');"; -- } -+ insert_showhint_javascript(); - -- $this->AddAction('onMouseOver', $code); -- $this->AddAction('onMouseMove', 'update_hint(this,event);'); -+ $text = unpack_object($text); -+ if($width != '' || $class != ''){ -+ $code = "show_hint_ext(this,event,'".$text."','".$width."','".$class."');"; - } -- -- function OnClick($handle_code){ -- $this->AddAction('onclick', $handle_code); -+ else{ -+ $code = "show_hint(this,event,'".$text."');"; - } - -- function AddAction($name, $value){ -- if(is_object($value)){ -- $this->options[$name] = unpack_object($value); -- } -- else if(!empty($value)){ -- $this->options[$name] = htmlentities(str_replace(array("\r", "\n"), '', strval($value)),ENT_COMPAT,S_HTML_CHARSET); -- } -+ $this->addAction('onMouseOver', $code); -+ $this->addAction('onMouseMove', 'update_hint(this,event);'); -+ } -+ -+ function onClick($handle_code){ -+ $this->addAction('onclick', $handle_code); -+ } -+ -+ function addAction($name, $value){ -+ if(is_object($value)){ -+ $this->options[$name] = unpack_object($value); - } -+ else if(!empty($value)){ -+ $this->options[$name] = htmlentities(str_replace(array("\r", "\n"), '', strval($value)),ENT_COMPAT,S_HTML_CHARSET); -+ } -+ } - -- function AddOption($name, $value){ -- if(is_object($value)){ -- $this->options[$name] = unpack_object($value); -- } -- else if(isset($value)) -- $this->options[$name] = htmlspecialchars(strval($value)); -- else -- unset($this->options[$name]); -+ function addOption($name, $value){ -+ if(is_object($value)){ -+ $this->options[$name] = unpack_object($value); - } -+ else if(isset($value)) -+ $this->options[$name] = htmlspecialchars(strval($value)); -+ else -+ unset($this->options[$name]); -+ } - -- function SetEnabled($value='yes'){ -- if((is_string($value) && ($value == 'yes' || $value == 'enabled' || $value=='on') || $value=='1') -- || (is_int($value) && $value<>0)) -- { -- unset($this->options['disabled']); -- } -- else if((is_string($value) && ($value == 'no' || $value == 'disabled' || $value=='off') || $value=='0') -- || (is_int($value) && $value==0)) -- { -- $this->options['disabled'] = 'disabled'; -- } -+ function setEnabled($value='yes'){ -+ if((is_string($value) && ($value == 'yes' || $value == 'enabled' || $value=='on') || $value=='1') -+ || (is_int($value) && $value<>0)) -+ { -+ unset($this->options['disabled']); - } -- -- function error($value){ -- error('class('.get_class($this).') - '.$value); -- return 1; -+ else if((is_string($value) && ($value == 'no' || $value == 'disabled' || $value=='off') || $value=='0') -+ || (is_int($value) && $value==0)) -+ { -+ $this->options['disabled'] = 'disabled'; - } - } --?> -+ -+ function error($value){ -+ error('class('.get_class($this).') - '.$value); -+ return 1; -+ } -+} -+?> -\ No newline at end of file -Index: frontends/php/include/classes/cmap.inc.php -=================================================================== ---- frontends/php/include/classes/cmap.inc.php (revision 6643) -+++ frontends/php/include/classes/cmap.inc.php (revision 6644) -@@ -19,78 +19,75 @@ - **/ - ?> - <?php -- class CMap extends CTag -- { -+class CMap extends CTag{ - /* public */ -- function CMap($name="") -- { -- parent::CTag("map","yes"); -- $this->SetName($name); -- } -- function AddRectArea($x1,$y1,$x2,$y2,$href,$alt) -- { -- return $this->AddArea(array($x1,$y1,$x2,$y2),$href,$alt,'rect'); -- } -- function AddArea($coords,$href,$alt,$shape) -- { -- return $this->AddItem(new CArea($coords,$href,$alt,$shape)); -- } -- function AddItem($value) -- { -- if(strtolower(get_class($value)) != 'carea') -- return $this->error("Incorrect value for AddItem [$value]"); -+ function CMap($name=''){ -+ parent::CTag('map','yes'); -+ $this->setName($name); -+ } -+ -+ function addRectArea($x1,$y1,$x2,$y2,$href,$alt){ -+ return $this->addArea(array($x1,$y1,$x2,$y2),$href,$alt,'rect'); -+ } -+ -+ function addArea($coords,$href,$alt,$shape){ -+ return $this->addItem(new CArea($coords,$href,$alt,$shape)); -+ } -+ -+ function addItem($value){ -+ if(strtolower(get_class($value)) != 'carea') -+ return $this->error('Incorrect value for addItem ['.$value.']'); - -- return parent::AddItem($value); -- } -+ return parent::addItem($value); - } -+} - -- class CArea extends CTag -- { -- function CArea($coords,$href,$alt,$shape) -- { -- parent::CTag("area","no"); -- $this->SetCoords($coords); -- $this->SetShape($shape); -- $this->SetHref($href); -- $this->SetAlt($alt); -- } -- function SetCoords($value) -- { -- if(!is_array($value)) -- return $this->error("Incorrect value for SetCoords [$value]"); -- if(count($value)<3) -- return $this->error("Incorrect values count for SetCoords [".count($value)."]"); -+class CArea extends CTag{ -+ function CArea($coords,$href,$alt,$shape){ -+ parent::CTag('area','no'); -+ $this->setCoords($coords); -+ $this->setShape($shape); -+ $this->setHref($href); -+ $this->setAlt($alt); -+ } -+ -+ function setCoords($value){ -+ if(!is_array($value)) -+ return $this->error('Incorrect value for setCoords ['.$value.']'); -+ if(count($value)<3) -+ return $this->error('Incorrect values count for setCoords ['.count($value).']'); - -- $str_val = ""; -- foreach($value as $val) -- { -- if(!is_numeric($val)) -- return $this->error("Incorrect value for SetCoords [$val]"); -+ $str_val = ''; -+ foreach($value as $val){ -+ if(!is_numeric($val)) -+ return $this->error('Incorrect value for setCoords ['.$val.']'); - -- $str_val .= $val.","; -- } -- $this->AddOption("coords",trim($str_val,',')); -+ $str_val .= $val.','; - } -- function SetShape($value) -- { -- if(!is_string($value)) -- return $this->error("Incorrect value for SetShape [$value]"); -+ $this->addOption('coords',trim($str_val,',')); -+ } - -- $this->AddOption("shape",$value); -- } -- function SetHref($value) -- { -- if(!is_string($value)) -- return $this->error("Incorrect value for SetHref [$value]"); -+ function setShape($value){ -+ if(!is_string($value)) -+ return $this->error('Incorrect value for setShape ['.$value.']'); - -- $this->AddOption("href",$value); -- } -- function SetAlt($value) -- { -- if(!is_string($value)) -- return $this->error("Incorrect value for SetAlt [$value]"); -+ $this->addOption('shape',$value); -+ } - -- $this->AddOption("alt",$value); -- } -+ function setHref($value){ -+ if(!is_string($value)) -+ return $this->error('Incorrect value for setHref ['.$value.']'); -+ $url = new Curl($value); -+ $value = $url->getUrl(); -+ -+ $this->addOption('href',$value); - } --?> -+ -+ function setAlt($value){ -+ if(!is_string($value)) -+ return $this->error('Incorrect value for setAlt ['.$value.']'); -+ -+ $this->addOption('alt',$value); -+ } -+} -+?> -\ No newline at end of file -Index: frontends/php/include/html.inc.php -=================================================================== ---- frontends/php/include/html.inc.php (revision 6643) -+++ frontends/php/include/html.inc.php (revision 6644) -@@ -58,7 +58,7 @@ - } - - function prepare_url(&$var, $varname=null){ -- $result = ""; -+ $result = ''; - - if(is_array($var)){ - foreach($var as $id => $par) -Index: frontends/php/items.php -=================================================================== ---- frontends/php/items.php (revision 6643) -+++ frontends/php/items.php (revision 6644) -@@ -944,16 +944,17 @@ - // url_param('groupid'), - 'action')); - -- $status=new CCol(new CLink(item_status2str($db_item["status"]), -- "?group_itemid%5B%5D=".$db_item["itemid"]. -- "&group_task=".($db_item["status"] ? "Activate+selected" : "Disable+selected"), -- item_status2style($db_item["status"]))); -+ $status=new CCol(new CLink(item_status2str($db_item['status']), -+// '?sessionid='.$USER_DETAILS['sessionid']. -+ '?group_itemid%5B%5D='.$db_item['itemid']. -+ '&group_task='.($db_item['status']?'Activate+selected':'Disable+selected'), -+ item_status2style($db_item['status']))); - -- if($db_item["error"] == ''){ -- $error=new CCol('-',"off"); -+ if($db_item['error'] == ''){ -+ $error=new CCol('-','off'); - } - else{ -- $error=new CCol($db_item["error"],"on"); -+ $error=new CCol($db_item['error'],'on'); - } - - $applications = $show_applications ? implode(', ', get_applications_by_itemid($db_item["itemid"], 'name')) : null; diff --git a/net-mgmt/zabbix/files/patch-configure b/net-mgmt/zabbix/files/patch-configure index c5ec8b97c390..a1b0bd52a4fe 100644 --- a/net-mgmt/zabbix/files/patch-configure +++ b/net-mgmt/zabbix/files/patch-configure @@ -1,12 +1,12 @@ ---- configure.orig 2009-01-16 06:20:00.000000000 -0600 -+++ configure 2009-01-22 17:23:46.000000000 -0600 -@@ -275,6 +275,9 @@ +--- configure.orig 2009-03-28 13:23:22.000000000 -0500 ++++ configure 2009-03-28 13:23:40.000000000 -0500 +@@ -580,6 +580,9 @@ # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> +#include <sys/socket.h> +#include <sys/param.h> +#include <netinet/in.h> - #if HAVE_SYS_TYPES_H + #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endif diff --git a/net-mgmt/zabbix/pkg-plist b/net-mgmt/zabbix/pkg-plist index 94f901a725f7..7f369afbe94c 100644 --- a/net-mgmt/zabbix/pkg-plist +++ b/net-mgmt/zabbix/pkg-plist @@ -1,344 +1,341 @@ bin/zabbix_server %%ETCDIR%%/zabbix_server.conf.sample -%%DATADIR%%/php/styles/popupmenu.css -%%DATADIR%%/php/styles/css_ob.css -%%DATADIR%%/php/styles/calendar.css -%%DATADIR%%/php/styles/css_bb.css -%%DATADIR%%/php/styles/gmenu.css -%%DATADIR%%/php/styles/sbox.css -%%DATADIR%%/php/styles/link.css -%%DATADIR%%/php/styles/p.css -%%DATADIR%%/php/styles/ul.css -%%DATADIR%%/php/styles/div.css -%%DATADIR%%/php/styles/form.css -%%DATADIR%%/php/styles/bar.css -%%DATADIR%%/php/styles/default.css -%%DATADIR%%/php/styles/table.css -%%DATADIR%%/php/audio/trigger_on_warning.wav -%%DATADIR%%/php/audio/trigger_on_average.wav +%%DATADIR%%/create/data/data.sql +%%DATADIR%%/create/data/images/Hub.png +%%DATADIR%%/create/data/images/Hub_small.png +%%DATADIR%%/create/data/images/Network.png +%%DATADIR%%/create/data/images/Network_small.png +%%DATADIR%%/create/data/images/Notebook.png +%%DATADIR%%/create/data/images/Notebook_small.png +%%DATADIR%%/create/data/images/Phone.png +%%DATADIR%%/create/data/images/Phone_small.png +%%DATADIR%%/create/data/images/Printer.png +%%DATADIR%%/create/data/images/Printer_small.png +%%DATADIR%%/create/data/images/Router.png +%%DATADIR%%/create/data/images/Router_small.png +%%DATADIR%%/create/data/images/Satellite.png +%%DATADIR%%/create/data/images/Satellite_small.png +%%DATADIR%%/create/data/images/Server.png +%%DATADIR%%/create/data/images/Server_small.png +%%DATADIR%%/create/data/images/UPS.png +%%DATADIR%%/create/data/images/UPS_small.png +%%DATADIR%%/create/data/images/Workstation.png +%%DATADIR%%/create/data/images/Workstation_small.png +%%DATADIR%%/create/data/images_mysql.sql +%%DATADIR%%/create/data/images_oracle.sql +%%DATADIR%%/create/data/images_pgsql.sql +%%DATADIR%%/create/data/images_sqlite3.sql +%%DATADIR%%/create/schema/mysql.sql +%%DATADIR%%/create/schema/oracle.sql +%%DATADIR%%/create/schema/postgresql.sql +%%DATADIR%%/create/schema/sqlite.sql +%%DATADIR%%/dbpatches/1.6/mysql/patch.sql +%%DATADIR%%/dbpatches/1.6/oracle/patch.sql +%%DATADIR%%/dbpatches/1.6/postgresql/patch.sql +%%DATADIR%%/php/acknow.php +%%DATADIR%%/php/actionconf.php %%DATADIR%%/php/audio/trigger_off.wav +%%DATADIR%%/php/audio/trigger_on.wav +%%DATADIR%%/php/audio/trigger_on_average.wav %%DATADIR%%/php/audio/trigger_on_disaster.wav %%DATADIR%%/php/audio/trigger_on_high.wav -%%DATADIR%%/php/audio/trigger_on.wav -%%DATADIR%%/php/js/updater.js -%%DATADIR%%/php/js/menu.js -%%DATADIR%%/php/js/menu_scripts.js -%%DATADIR%%/php/js/prototype.js -%%DATADIR%%/php/js/calendar.js -%%DATADIR%%/php/js/sbox.js -%%DATADIR%%/php/js/services.js -%%DATADIR%%/php/js/gmenu.js -%%DATADIR%%/php/js/gpc.js -%%DATADIR%%/php/js/chkbxrange.js -%%DATADIR%%/php/js/scrollbar.js -%%DATADIR%%/php/js/graphs.js -%%DATADIR%%/php/js/sbinit.js -%%DATADIR%%/php/js/common.js -%%DATADIR%%/php/js/ajax_req.js -%%DATADIR%%/php/js/blink.js -%%DATADIR%%/php/js/tree.js -%%DATADIR%%/php/js/showhint.js -%%DATADIR%%/php/include/locales/cn_zh.inc.php -%%DATADIR%%/php/include/locales/lv_lv.inc.php -%%DATADIR%%/php/include/locales/nl_nl.inc.php -%%DATADIR%%/php/include/locales/ja_jp.inc.php -%%DATADIR%%/php/include/locales/sp_sp.inc.php -%%DATADIR%%/php/include/locales/ko_kr.inc.php -%%DATADIR%%/php/include/locales/pt_br.inc.php -%%DATADIR%%/php/include/locales/hu_hu.inc.php -%%DATADIR%%/php/include/locales/it_it.inc.php -%%DATADIR%%/php/include/locales/en_gb.inc.php -%%DATADIR%%/php/include/locales/ru_ru.inc.php -%%DATADIR%%/php/include/locales/fr_fr.inc.php -%%DATADIR%%/php/include/locales/sv_se.inc.php -%%DATADIR%%/php/include/locales/de_de.inc.php -%%DATADIR%%/php/include/classes/cflashclock.mod.php -%%DATADIR%%/php/include/classes/ccolor.inc.php -%%DATADIR%%/php/include/classes/ctriggerinfo.mod.php -%%DATADIR%%/php/include/classes/cldap.inc.php -%%DATADIR%%/php/include/classes/ccheckbox.inc.php -%%DATADIR%%/php/include/classes/ctable.inc.php -%%DATADIR%%/php/include/classes/cvar.inc.php -%%DATADIR%%/php/include/classes/cserverinfo.mod.php -%%DATADIR%%/php/include/classes/cflash.inc.php -%%DATADIR%%/php/include/classes/ctree.inc.php -%%DATADIR%%/php/include/classes/ctableinfo.inc.php -%%DATADIR%%/php/include/classes/ccombobox.inc.php -%%DATADIR%%/php/include/classes/.htaccess -%%DATADIR%%/php/include/classes/clist.inc.php -%%DATADIR%%/php/include/classes/ctextarea.inc.php -%%DATADIR%%/php/include/classes/cfile.inc.php -%%DATADIR%%/php/include/classes/chostsinfo.mod.php -%%DATADIR%%/php/include/classes/chelp.inc.php -%%DATADIR%%/php/include/classes/clink.inc.php -%%DATADIR%%/php/include/classes/ctextbox.inc.php -%%DATADIR%%/php/include/classes/graph.inc.php -%%DATADIR%%/php/include/classes/chart.inc.php -%%DATADIR%%/php/include/classes/cspan.inc.php -%%DATADIR%%/php/include/classes/cform.inc.php -%%DATADIR%%/php/include/classes/ciframe.inc.php -%%DATADIR%%/php/include/classes/cscript.inc.php -%%DATADIR%%/php/include/classes/cpumenu.inc.php -%%DATADIR%%/php/include/classes/curl.inc.php -%%DATADIR%%/php/include/classes/pie.inc.php -%%DATADIR%%/php/include/classes/ctag.inc.php -%%DATADIR%%/php/include/classes/cbutton.inc.php -%%DATADIR%%/php/include/classes/cformtable.inc.php -%%DATADIR%%/php/include/classes/cimg.inc.php -%%DATADIR%%/php/include/classes/cmap.inc.php -%%DATADIR%%/php/include/discovery.inc.php -%%DATADIR%%/php/include/page_footer.php -%%DATADIR%%/php/include/acknow.inc.php -%%DATADIR%%/php/include/forms.inc.php -%%DATADIR%%/php/include/triggers.inc.php -%%DATADIR%%/php/include/func.inc.php -%%DATADIR%%/php/include/actions.inc.php -%%DATADIR%%/php/include/setup.inc.php -%%DATADIR%%/php/include/copt.lib.php -%%DATADIR%%/php/include/screens.inc.php -%%DATADIR%%/php/include/perm.inc.php -%%DATADIR%%/php/include/config.inc.php -%%DATADIR%%/php/include/import.inc.php -%%DATADIR%%/php/include/page_header.php -%%DATADIR%%/php/include/blocks.inc.php -%%DATADIR%%/php/include/defines.inc.php -%%DATADIR%%/php/include/.htaccess -%%DATADIR%%/php/include/media.inc.php -%%DATADIR%%/php/include/db.inc.php -%%DATADIR%%/php/include/items.inc.php -%%DATADIR%%/php/include/export.inc.php -%%DATADIR%%/php/include/locales.inc.php -%%DATADIR%%/php/include/profiles.inc.php -%%DATADIR%%/php/include/services.inc.php -%%DATADIR%%/php/include/graphs.inc.php -%%DATADIR%%/php/include/scripts.inc.php -%%DATADIR%%/php/include/validate.inc.php -%%DATADIR%%/php/include/reports.inc.php -%%DATADIR%%/php/include/maps.inc.php -%%DATADIR%%/php/include/hosts.inc.php -%%DATADIR%%/php/include/users.inc.php -%%DATADIR%%/php/include/html.inc.php -%%DATADIR%%/php/include/events.inc.php -%%DATADIR%%/php/include/images.inc.php -%%DATADIR%%/php/include/audit.inc.php -%%DATADIR%%/php/include/nodes.inc.php -%%DATADIR%%/php/include/js.inc.php -%%DATADIR%%/php/include/httptest.inc.php -%%DATADIR%%/php/conf/maintenance.inc.php +%%DATADIR%%/php/audio/trigger_on_warning.wav +%%DATADIR%%/php/audit.php +%%DATADIR%%/php/authentication.php +%%DATADIR%%/php/chart.php +%%DATADIR%%/php/chart2.php +%%DATADIR%%/php/chart3.php +%%DATADIR%%/php/chart4.php +%%DATADIR%%/php/chart5.php +%%DATADIR%%/php/chart6.php +%%DATADIR%%/php/chart7.php +%%DATADIR%%/php/chart_sla.php +%%DATADIR%%/php/charts.php %%DATADIR%%/php/conf/COPYING -%%DATADIR%%/php/images/sysmaps/old/Notebook.png -%%DATADIR%%/php/images/sysmaps/old/Hub.png -%%DATADIR%%/php/images/sysmaps/old/Workstation.png -%%DATADIR%%/php/images/sysmaps/old/Router.png -%%DATADIR%%/php/images/sysmaps/old/Printer.png -%%DATADIR%%/php/images/sysmaps/old/Server.png -%%DATADIR%%/php/images/sysmaps/Notebook_small.png -%%DATADIR%%/php/images/sysmaps/Server_small.png -%%DATADIR%%/php/images/sysmaps/UPS_small.png -%%DATADIR%%/php/images/sysmaps/Phone_small.png -%%DATADIR%%/php/images/sysmaps/Server.png -%%DATADIR%%/php/images/sysmaps/Hub_small.png -%%DATADIR%%/php/images/sysmaps/UPS.png -%%DATADIR%%/php/images/sysmaps/Router_small.png -%%DATADIR%%/php/images/sysmaps/Workstation.png -%%DATADIR%%/php/images/sysmaps/Phone.png -%%DATADIR%%/php/images/sysmaps/README -%%DATADIR%%/php/images/sysmaps/Workstation_small.png -%%DATADIR%%/php/images/sysmaps/Printer_small.png -%%DATADIR%%/php/images/sysmaps/Hub.png -%%DATADIR%%/php/images/sysmaps/Satellite_small.png -%%DATADIR%%/php/images/sysmaps/Router.png -%%DATADIR%%/php/images/sysmaps/Notebook.png -%%DATADIR%%/php/images/sysmaps/Printer.png -%%DATADIR%%/php/images/sysmaps/Network_small.png -%%DATADIR%%/php/images/sysmaps/Satellite.png -%%DATADIR%%/php/images/sysmaps/Network.png -%%DATADIR%%/php/images/gradients/table_head.gif -%%DATADIR%%/php/images/gradients/button.gif -%%DATADIR%%/php/images/gradients/gradient.png -%%DATADIR%%/php/images/gradients/table_head_bb.gif -%%DATADIR%%/php/images/gradients/blink1.gif -%%DATADIR%%/php/images/gradients/table_head2_bb.gif -%%DATADIR%%/php/images/gradients/menu_not_active.gif -%%DATADIR%%/php/images/gradients/blink2.gif -%%DATADIR%%/php/images/gradients/menu_not_active_bb.gif -%%DATADIR%%/php/images/gradients/table_head2.gif +%%DATADIR%%/php/conf/maintenance.inc.php +%%DATADIR%%/php/config.php +%%DATADIR%%/php/create/data.sql +%%DATADIR%%/php/create/mysql.sql +%%DATADIR%%/php/css.css +%%DATADIR%%/php/dashboard.php +%%DATADIR%%/php/discovery.php +%%DATADIR%%/php/discoveryconf.php +%%DATADIR%%/php/events.php +%%DATADIR%%/php/exp_imp.php +%%DATADIR%%/php/graphs.php +%%DATADIR%%/php/history.php +%%DATADIR%%/php/hostprofiles.php +%%DATADIR%%/php/hosts.php +%%DATADIR%%/php/httpconf.php +%%DATADIR%%/php/httpdetails.php +%%DATADIR%%/php/httpmon.php +%%DATADIR%%/php/image.php %%DATADIR%%/php/images/flash/zbxclock.swf -%%DATADIR%%/php/images/general/tree/minus.gif -%%DATADIR%%/php/images/general/tree/pointc.gif -%%DATADIR%%/php/images/general/tree/zero.gif -%%DATADIR%%/php/images/general/tree/plus.gif -%%DATADIR%%/php/images/general/tree/pointl.gif -%%DATADIR%%/php/images/general/tree/point.gif %%DATADIR%%/php/images/general/bar/arrow_down.gif +%%DATADIR%%/php/images/general/bar/arrow_l.gif %%DATADIR%%/php/images/general/bar/arrow_r.gif -%%DATADIR%%/php/images/general/bar/bar_bg.gif -%%DATADIR%%/php/images/general/bar/right.gif +%%DATADIR%%/php/images/general/bar/arrow_sm.gif %%DATADIR%%/php/images/general/bar/arrow_up.gif +%%DATADIR%%/php/images/general/bar/bar_bg.gif %%DATADIR%%/php/images/general/bar/bar_left.gif -%%DATADIR%%/php/images/general/bar/cal.gif -%%DATADIR%%/php/images/general/bar/bar_right.gif %%DATADIR%%/php/images/general/bar/bar_middle.gif -%%DATADIR%%/php/images/general/bar/arrow_l.gif +%%DATADIR%%/php/images/general/bar/bar_right.gif %%DATADIR%%/php/images/general/bar/bg.gif -%%DATADIR%%/php/images/general/bar/arrow_sm.gif +%%DATADIR%%/php/images/general/bar/cal.gif %%DATADIR%%/php/images/general/bar/left.gif -%%DATADIR%%/php/images/general/bttn/fullscreen.png -%%DATADIR%%/php/images/general/bttn/minus_bb.png +%%DATADIR%%/php/images/general/bar/right.gif +%%DATADIR%%/php/images/general/bttn/arrowdown.png +%%DATADIR%%/php/images/general/bttn/arrowdown_bb.png %%DATADIR%%/php/images/general/bttn/arrowup.png -%%DATADIR%%/php/images/general/bttn/fullscreen_bb.png %%DATADIR%%/php/images/general/bttn/arrowup_bb.png +%%DATADIR%%/php/images/general/bttn/down.png +%%DATADIR%%/php/images/general/bttn/down_bb.png +%%DATADIR%%/php/images/general/bttn/fullscreen.png +%%DATADIR%%/php/images/general/bttn/fullscreen_bb.png +%%DATADIR%%/php/images/general/bttn/help.png +%%DATADIR%%/php/images/general/bttn/help_bb.png %%DATADIR%%/php/images/general/bttn/menu.png -%%DATADIR%%/php/images/general/bttn/arrowdown.png %%DATADIR%%/php/images/general/bttn/menu_bb.png +%%DATADIR%%/php/images/general/bttn/minus.png +%%DATADIR%%/php/images/general/bttn/minus_bb.png %%DATADIR%%/php/images/general/bttn/mute.png %%DATADIR%%/php/images/general/bttn/mute_bb.png -%%DATADIR%%/php/images/general/bttn/arrowdown_bb.png -%%DATADIR%%/php/images/general/bttn/reset.png %%DATADIR%%/php/images/general/bttn/plus.png -%%DATADIR%%/php/images/general/bttn/reset_bb.png %%DATADIR%%/php/images/general/bttn/plus_bb.png -%%DATADIR%%/php/images/general/bttn/help.png +%%DATADIR%%/php/images/general/bttn/reset.png +%%DATADIR%%/php/images/general/bttn/reset_bb.png %%DATADIR%%/php/images/general/bttn/sound.png -%%DATADIR%%/php/images/general/bttn/minus.png -%%DATADIR%%/php/images/general/bttn/help_bb.png %%DATADIR%%/php/images/general/bttn/sound_bb.png -%%DATADIR%%/php/images/general/bttn/down.png -%%DATADIR%%/php/images/general/bttn/down_bb.png %%DATADIR%%/php/images/general/bttn/up.png %%DATADIR%%/php/images/general/bttn/up_bb.png -%%DATADIR%%/php/images/general/inst_current.gif -%%DATADIR%%/php/images/general/sortdown.gif -%%DATADIR%%/php/images/general/error_small.gif %%DATADIR%%/php/images/general/chart.png -%%DATADIR%%/php/images/general/trigg_dep.png -%%DATADIR%%/php/images/general/sort_upw.gif -%%DATADIR%%/php/images/general/sortup_off.gif -%%DATADIR%%/php/images/general/zabbix.ico -%%DATADIR%%/php/images/general/warning_small.gif -%%DATADIR%%/php/images/general/zabbix_bb.ico +%%DATADIR%%/php/images/general/closed.gif +%%DATADIR%%/php/images/general/down_icon.png +%%DATADIR%%/php/images/general/error_small.gif %%DATADIR%%/php/images/general/help.gif -%%DATADIR%%/php/images/general/sortup.gif %%DATADIR%%/php/images/general/inst_completed.gif -%%DATADIR%%/php/images/general/warning16r.gif -%%DATADIR%%/php/images/general/zabbix.png -%%DATADIR%%/php/images/general/zabbix_bb.png -%%DATADIR%%/php/images/general/trigg_dep.gif -%%DATADIR%%/php/images/general/zabbix_ob.ico -%%DATADIR%%/php/images/general/closed.gif -%%DATADIR%%/php/images/general/sort_downw.gif +%%DATADIR%%/php/images/general/inst_current.gif %%DATADIR%%/php/images/general/inst_step.gif +%%DATADIR%%/php/images/general/opened.gif +%%DATADIR%%/php/images/general/sort_downw.gif +%%DATADIR%%/php/images/general/sort_upw.gif +%%DATADIR%%/php/images/general/sortdown.gif %%DATADIR%%/php/images/general/sortdown_off.gif +%%DATADIR%%/php/images/general/sortup.gif +%%DATADIR%%/php/images/general/sortup_off.gif %%DATADIR%%/php/images/general/tick.png -%%DATADIR%%/php/images/general/opened.gif +%%DATADIR%%/php/images/general/tree/minus.gif +%%DATADIR%%/php/images/general/tree/plus.gif +%%DATADIR%%/php/images/general/tree/point.gif +%%DATADIR%%/php/images/general/tree/pointc.gif +%%DATADIR%%/php/images/general/tree/pointl.gif +%%DATADIR%%/php/images/general/tree/zero.gif +%%DATADIR%%/php/images/general/trigg_dep.gif +%%DATADIR%%/php/images/general/trigg_dep.png %%DATADIR%%/php/images/general/up_icon.png -%%DATADIR%%/php/images/general/down_icon.png -%%DATADIR%%/php/create/mysql.sql -%%DATADIR%%/php/create/data.sql -%%DATADIR%%/php/discoveryconf.php -%%DATADIR%%/php/tr_comments.php +%%DATADIR%%/php/images/general/warning16r.gif +%%DATADIR%%/php/images/general/warning_small.gif +%%DATADIR%%/php/images/general/zabbix.ico +%%DATADIR%%/php/images/general/zabbix.png +%%DATADIR%%/php/images/general/zabbix_bb.ico +%%DATADIR%%/php/images/general/zabbix_bb.png +%%DATADIR%%/php/images/general/zabbix_ob.ico +%%DATADIR%%/php/images/gradients/blink1.gif +%%DATADIR%%/php/images/gradients/blink2.gif +%%DATADIR%%/php/images/gradients/button.gif +%%DATADIR%%/php/images/gradients/gradient.png +%%DATADIR%%/php/images/gradients/menu_not_active.gif +%%DATADIR%%/php/images/gradients/menu_not_active_bb.gif +%%DATADIR%%/php/images/gradients/table_head.gif +%%DATADIR%%/php/images/gradients/table_head2.gif +%%DATADIR%%/php/images/gradients/table_head2_bb.gif +%%DATADIR%%/php/images/gradients/table_head_bb.gif +%%DATADIR%%/php/images/sysmaps/Hub.png +%%DATADIR%%/php/images/sysmaps/Hub_small.png +%%DATADIR%%/php/images/sysmaps/Network.png +%%DATADIR%%/php/images/sysmaps/Network_small.png +%%DATADIR%%/php/images/sysmaps/Notebook.png +%%DATADIR%%/php/images/sysmaps/Notebook_small.png +%%DATADIR%%/php/images/sysmaps/Phone.png +%%DATADIR%%/php/images/sysmaps/Phone_small.png +%%DATADIR%%/php/images/sysmaps/Printer.png +%%DATADIR%%/php/images/sysmaps/Printer_small.png +%%DATADIR%%/php/images/sysmaps/README +%%DATADIR%%/php/images/sysmaps/Router.png +%%DATADIR%%/php/images/sysmaps/Router_small.png +%%DATADIR%%/php/images/sysmaps/Satellite.png +%%DATADIR%%/php/images/sysmaps/Satellite_small.png +%%DATADIR%%/php/images/sysmaps/Server.png +%%DATADIR%%/php/images/sysmaps/Server_small.png +%%DATADIR%%/php/images/sysmaps/UPS.png +%%DATADIR%%/php/images/sysmaps/UPS_small.png +%%DATADIR%%/php/images/sysmaps/Workstation.png +%%DATADIR%%/php/images/sysmaps/Workstation_small.png +%%DATADIR%%/php/images/sysmaps/old/Hub.png +%%DATADIR%%/php/images/sysmaps/old/Notebook.png +%%DATADIR%%/php/images/sysmaps/old/Printer.png +%%DATADIR%%/php/images/sysmaps/old/Router.png +%%DATADIR%%/php/images/sysmaps/old/Server.png +%%DATADIR%%/php/images/sysmaps/old/Workstation.png +%%DATADIR%%/php/include/.htaccess +%%DATADIR%%/php/include/acknow.inc.php +%%DATADIR%%/php/include/actions.inc.php +%%DATADIR%%/php/include/audit.inc.php +%%DATADIR%%/php/include/blocks.inc.php +%%DATADIR%%/php/include/classes/.htaccess +%%DATADIR%%/php/include/classes/cbutton.inc.php +%%DATADIR%%/php/include/classes/ccheckbox.inc.php +%%DATADIR%%/php/include/classes/ccolor.inc.php +%%DATADIR%%/php/include/classes/ccombobox.inc.php +%%DATADIR%%/php/include/classes/cfile.inc.php +%%DATADIR%%/php/include/classes/cflash.inc.php +%%DATADIR%%/php/include/classes/cflashclock.mod.php +%%DATADIR%%/php/include/classes/cform.inc.php +%%DATADIR%%/php/include/classes/cformtable.inc.php +%%DATADIR%%/php/include/classes/chart.inc.php +%%DATADIR%%/php/include/classes/chelp.inc.php +%%DATADIR%%/php/include/classes/chostsinfo.mod.php +%%DATADIR%%/php/include/classes/ciframe.inc.php +%%DATADIR%%/php/include/classes/cimg.inc.php +%%DATADIR%%/php/include/classes/cldap.inc.php +%%DATADIR%%/php/include/classes/clink.inc.php +%%DATADIR%%/php/include/classes/clist.inc.php +%%DATADIR%%/php/include/classes/cmap.inc.php +%%DATADIR%%/php/include/classes/cpumenu.inc.php +%%DATADIR%%/php/include/classes/cscript.inc.php +%%DATADIR%%/php/include/classes/cserverinfo.mod.php +%%DATADIR%%/php/include/classes/cspan.inc.php +%%DATADIR%%/php/include/classes/ctable.inc.php +%%DATADIR%%/php/include/classes/ctableinfo.inc.php +%%DATADIR%%/php/include/classes/ctag.inc.php +%%DATADIR%%/php/include/classes/ctextarea.inc.php +%%DATADIR%%/php/include/classes/ctextbox.inc.php +%%DATADIR%%/php/include/classes/ctree.inc.php +%%DATADIR%%/php/include/classes/ctriggerinfo.mod.php +%%DATADIR%%/php/include/classes/curl.inc.php +%%DATADIR%%/php/include/classes/cvar.inc.php +%%DATADIR%%/php/include/classes/graph.inc.php +%%DATADIR%%/php/include/classes/pie.inc.php +%%DATADIR%%/php/include/config.inc.php +%%DATADIR%%/php/include/copt.lib.php +%%DATADIR%%/php/include/db.inc.php +%%DATADIR%%/php/include/defines.inc.php +%%DATADIR%%/php/include/discovery.inc.php +%%DATADIR%%/php/include/events.inc.php +%%DATADIR%%/php/include/export.inc.php +%%DATADIR%%/php/include/forms.inc.php +%%DATADIR%%/php/include/func.inc.php +%%DATADIR%%/php/include/graphs.inc.php +%%DATADIR%%/php/include/hosts.inc.php +%%DATADIR%%/php/include/html.inc.php +%%DATADIR%%/php/include/httptest.inc.php +%%DATADIR%%/php/include/images.inc.php +%%DATADIR%%/php/include/import.inc.php +%%DATADIR%%/php/include/items.inc.php +%%DATADIR%%/php/include/js.inc.php +%%DATADIR%%/php/include/locales.inc.php +%%DATADIR%%/php/include/locales/cn_zh.inc.php +%%DATADIR%%/php/include/locales/de_de.inc.php +%%DATADIR%%/php/include/locales/en_gb.inc.php +%%DATADIR%%/php/include/locales/fr_fr.inc.php +%%DATADIR%%/php/include/locales/hu_hu.inc.php +%%DATADIR%%/php/include/locales/it_it.inc.php +%%DATADIR%%/php/include/locales/ja_jp.inc.php +%%DATADIR%%/php/include/locales/ko_kr.inc.php +%%DATADIR%%/php/include/locales/lv_lv.inc.php +%%DATADIR%%/php/include/locales/nl_nl.inc.php +%%DATADIR%%/php/include/locales/pl_pl.inc.php +%%DATADIR%%/php/include/locales/pt_br.inc.php +%%DATADIR%%/php/include/locales/ru_ru.inc.php +%%DATADIR%%/php/include/locales/sp_sp.inc.php +%%DATADIR%%/php/include/locales/sv_se.inc.php +%%DATADIR%%/php/include/maps.inc.php +%%DATADIR%%/php/include/media.inc.php +%%DATADIR%%/php/include/nodes.inc.php +%%DATADIR%%/php/include/page_footer.php +%%DATADIR%%/php/include/page_header.php +%%DATADIR%%/php/include/perm.inc.php +%%DATADIR%%/php/include/profiles.inc.php +%%DATADIR%%/php/include/reports.inc.php +%%DATADIR%%/php/include/screens.inc.php +%%DATADIR%%/php/include/scripts.inc.php +%%DATADIR%%/php/include/services.inc.php +%%DATADIR%%/php/include/setup.inc.php +%%DATADIR%%/php/include/triggers.inc.php +%%DATADIR%%/php/include/users.inc.php +%%DATADIR%%/php/include/validate.inc.php +%%DATADIR%%/php/index.php +%%DATADIR%%/php/instal.php +%%DATADIR%%/php/items.php +%%DATADIR%%/php/js/ajax_req.js +%%DATADIR%%/php/js/calendar.js +%%DATADIR%%/php/js/common.js +%%DATADIR%%/php/js/gmenu.js +%%DATADIR%%/php/js/gpc.js +%%DATADIR%%/php/js/graphs.js +%%DATADIR%%/php/js/menu.js +%%DATADIR%%/php/js/menu_scripts.js +%%DATADIR%%/php/js/prototype.js +%%DATADIR%%/php/js/sbinit.js +%%DATADIR%%/php/js/sbox.js +%%DATADIR%%/php/js/scrollbar.js +%%DATADIR%%/php/js/services.js +%%DATADIR%%/php/js/showhint.js +%%DATADIR%%/php/js/tree.js +%%DATADIR%%/php/js/updater.js +%%DATADIR%%/php/latest.php +%%DATADIR%%/php/locales.php +%%DATADIR%%/php/map.php %%DATADIR%%/php/maps.php -%%DATADIR%%/php/users.php -%%DATADIR%%/php/overview.php +%%DATADIR%%/php/media_types.php %%DATADIR%%/php/nodes.php -%%DATADIR%%/php/tr_events.php -%%DATADIR%%/php/authentication.php -%%DATADIR%%/php/queue.php +%%DATADIR%%/php/overview.php +%%DATADIR%%/php/popup.php +%%DATADIR%%/php/popup_gitem.php +%%DATADIR%%/php/popup_httpstep.php %%DATADIR%%/php/popup_link_tr.php -%%DATADIR%%/php/httpdetails.php -%%DATADIR%%/php/dashboard.php -%%DATADIR%%/php/instal.php +%%DATADIR%%/php/popup_media.php %%DATADIR%%/php/popup_right.php -%%DATADIR%%/php/screens.php -%%DATADIR%%/php/popup.php -%%DATADIR%%/php/media_types.php -%%DATADIR%%/php/index.php -%%DATADIR%%/php/vtext.php -%%DATADIR%%/php/sysmap.php -%%DATADIR%%/php/items.php -%%DATADIR%%/php/image.php -%%DATADIR%%/php/chart2.php -%%DATADIR%%/php/actionconf.php +%%DATADIR%%/php/popup_trexpr.php %%DATADIR%%/php/popup_users.php -%%DATADIR%%/php/chart3.php -%%DATADIR%%/php/chart4.php -%%DATADIR%%/php/httpconf.php -%%DATADIR%%/php/chart5.php -%%DATADIR%%/php/scripts.php -%%DATADIR%%/php/chart6.php -%%DATADIR%%/php/chart7.php -%%DATADIR%%/php/css.css -%%DATADIR%%/php/scripts_exec.php +%%DATADIR%%/php/popup_usrgrp.php +%%DATADIR%%/php/profile.php +%%DATADIR%%/php/queue.php %%DATADIR%%/php/report1.php %%DATADIR%%/php/report2.php %%DATADIR%%/php/report3.php -%%DATADIR%%/php/popup_httpstep.php %%DATADIR%%/php/report4.php -%%DATADIR%%/php/sysmaps.php %%DATADIR%%/php/report5.php -%%DATADIR%%/php/chart_sla.php -%%DATADIR%%/php/hosts.php -%%DATADIR%%/php/chart.php -%%DATADIR%%/php/events.php -%%DATADIR%%/php/popup_usrgrp.php -%%DATADIR%%/php/warning.php -%%DATADIR%%/php/audit.php -%%DATADIR%%/php/services_form.php -%%DATADIR%%/php/popup_trexpr.php -%%DATADIR%%/php/discovery.php -%%DATADIR%%/php/map.php -%%DATADIR%%/php/srv_status.php -%%DATADIR%%/php/hostprofiles.php -%%DATADIR%%/php/acknow.php +%%DATADIR%%/php/screenconf.php %%DATADIR%%/php/screenedit.php -%%DATADIR%%/php/triggers.php -%%DATADIR%%/php/httpmon.php -%%DATADIR%%/php/latest.php -%%DATADIR%%/php/profile.php -%%DATADIR%%/php/setup.php -%%DATADIR%%/php/exp_imp.php -%%DATADIR%%/php/history.php -%%DATADIR%%/php/popup_media.php -%%DATADIR%%/php/config.php -%%DATADIR%%/php/locales.php +%%DATADIR%%/php/screens.php +%%DATADIR%%/php/scripts.php +%%DATADIR%%/php/scripts_exec.php %%DATADIR%%/php/services.php -%%DATADIR%%/php/charts.php -%%DATADIR%%/php/graphs.php -%%DATADIR%%/php/screenconf.php -%%DATADIR%%/php/popup_gitem.php +%%DATADIR%%/php/services_form.php +%%DATADIR%%/php/setup.php +%%DATADIR%%/php/srv_status.php +%%DATADIR%%/php/styles/blocks.css +%%DATADIR%%/php/styles/calendar.css +%%DATADIR%%/php/styles/css_bb.css +%%DATADIR%%/php/styles/css_ob.css +%%DATADIR%%/php/styles/default.css +%%DATADIR%%/php/styles/div.css +%%DATADIR%%/php/styles/form.css +%%DATADIR%%/php/styles/link.css +%%DATADIR%%/php/styles/p.css +%%DATADIR%%/php/styles/popupmenu.css +%%DATADIR%%/php/styles/table.css +%%DATADIR%%/php/styles/ul.css +%%DATADIR%%/php/sysmap.php +%%DATADIR%%/php/sysmaps.php +%%DATADIR%%/php/tr_comments.php +%%DATADIR%%/php/tr_events.php %%DATADIR%%/php/tr_status.php -%%DATADIR%%/dbpatches/1.6/mysql/patch.sql -%%DATADIR%%/dbpatches/1.6/oracle/patch.sql -%%DATADIR%%/dbpatches/1.6/postgresql/patch.sql -%%DATADIR%%/create/data/images/Hub.png -%%DATADIR%%/create/data/images/Hub_small.png -%%DATADIR%%/create/data/images/Network.png -%%DATADIR%%/create/data/images/Network_small.png -%%DATADIR%%/create/data/images/Notebook.png -%%DATADIR%%/create/data/images/Notebook_small.png -%%DATADIR%%/create/data/images/Phone.png -%%DATADIR%%/create/data/images/Phone_small.png -%%DATADIR%%/create/data/images/Printer.png -%%DATADIR%%/create/data/images/Printer_small.png -%%DATADIR%%/create/data/images/Router.png -%%DATADIR%%/create/data/images/Router_small.png -%%DATADIR%%/create/data/images/Satellite.png -%%DATADIR%%/create/data/images/Satellite_small.png -%%DATADIR%%/create/data/images/Server.png -%%DATADIR%%/create/data/images/Server_small.png -%%DATADIR%%/create/data/images/UPS.png -%%DATADIR%%/create/data/images/UPS_small.png -%%DATADIR%%/create/data/images/Workstation.png -%%DATADIR%%/create/data/images/Workstation_small.png -%%DATADIR%%/create/data/data.sql -%%DATADIR%%/create/data/images_oracle.sql -%%DATADIR%%/create/data/images_pgsql.sql -%%DATADIR%%/create/data/images_mysql.sql -%%DATADIR%%/create/data/images_sqlite3.sql -%%DATADIR%%/create/schema/mysql.sql -%%DATADIR%%/create/schema/oracle.sql -%%DATADIR%%/create/schema/postgresql.sql -%%DATADIR%%/create/schema/sqlite.sql +%%DATADIR%%/php/triggers.php +%%DATADIR%%/php/users.php +%%DATADIR%%/php/vtext.php +%%DATADIR%%/php/warning.php @dirrm %%DATADIR%%/php/styles @dirrm %%DATADIR%%/php/js @dirrm %%DATADIR%%/php/include/locales @@ -366,5 +363,5 @@ bin/zabbix_server @dirrm %%DATADIR%%/create/data/images @dirrm %%DATADIR%%/create/data @dirrm %%DATADIR%%/create -@dirrm %%DATADIR%%/ -@dirrmtry %%ETCDIR%% +@dirrm %%DATADIR%% +@dirrm %%ETCDIR%% diff --git a/net-mgmt/zabbix2/Makefile b/net-mgmt/zabbix2/Makefile index d003ff56212d..82721d590423 100644 --- a/net-mgmt/zabbix2/Makefile +++ b/net-mgmt/zabbix2/Makefile @@ -6,13 +6,12 @@ # PORTNAME= zabbix -PORTVERSION= 1.6.2 -PORTREVISION= 1 +PORTVERSION= 1.6.4 PORTEPOCH= 1 CATEGORIES= net-mgmt MASTER_SITES= SF -MAINTAINER= d.lohansky@zsupport.ru +MAINTAINER= ports@christianserving.org COMMENT= Application and network monitoring solution LIB_DEPENDS= netsnmp.16:${PORTSDIR}/net-mgmt/net-snmp \ diff --git a/net-mgmt/zabbix2/distinfo b/net-mgmt/zabbix2/distinfo index cdd2ca0881bf..a6a62efde6dc 100644 --- a/net-mgmt/zabbix2/distinfo +++ b/net-mgmt/zabbix2/distinfo @@ -1,3 +1,3 @@ -MD5 (zabbix-1.6.2.tar.gz) = 33da3661868a04042c596a819896446f -SHA256 (zabbix-1.6.2.tar.gz) = e982419f45b2ac814e804a1a340c7e563fe5230bb5295b17e5767c89fa25550e -SIZE (zabbix-1.6.2.tar.gz) = 8229465 +MD5 (zabbix-1.6.4.tar.gz) = e1e15f3ab9f2c0ec9e6fde145a5a3b6e +SHA256 (zabbix-1.6.4.tar.gz) = 16009d22908f2bb6b135e7972607efd9e4bc6363f4d4d9c68b0de384e41dc5cd +SIZE (zabbix-1.6.4.tar.gz) = 8326175 diff --git a/net-mgmt/zabbix2/files/patch-USH-162.1 b/net-mgmt/zabbix2/files/patch-USH-162.1 deleted file mode 100644 index df11a28e251d..000000000000 --- a/net-mgmt/zabbix2/files/patch-USH-162.1 +++ /dev/null @@ -1,135 +0,0 @@ -Index: include/validate.inc.php -=================================================================== ---- frontends/php/include/validate.inc.php (revision 6592) -+++ frontends/php/include/validate.inc.php (revision 6593) -@@ -198,19 +198,21 @@ - return $ret; - } - -- function calc_exp($fields,$field,$expression){ -+ function calc_exp($fields,$field,$expression){ - //SDI("$field - expression: ".$expression); - -- if(zbx_strstr($expression,"{}") && !isset($_REQUEST[$field])) -+ if(zbx_strstr($expression,'{}') && !isset($_REQUEST[$field])) - return FALSE; - -- if(zbx_strstr($expression,"{}") && !is_array($_REQUEST[$field])) -- $expression = str_replace("{}",'$_REQUEST["'.$field.'"]',$expression); -+ if(zbx_strstr($expression,'{}') && !is_array($_REQUEST[$field])) -+ $expression = str_replace('{}','$_REQUEST["'.$field.'"]',$expression); - -- if(zbx_strstr($expression,"{}") && is_array($_REQUEST[$field])){ -+ if(zbx_strstr($expression,'{}') && is_array($_REQUEST[$field])){ - foreach($_REQUEST[$field] as $key => $val){ -- $expression2 = str_replace("{}",'$_REQUEST["'.$field.'"]["'.$key.'"]',$expression); -- if(calc_exp2($fields,$field,$expression2)==FALSE) -+ if(!ereg('^[a-zA-Z0-9_]+$',$key)) return FALSE; -+ -+ $expression2 = str_replace('{}','$_REQUEST["'.$field.'"]["'.$key.'"]',$expression); -+ if(calc_exp2($fields,$field,$expression2)==FALSE) - return FALSE; - } - return TRUE; -@@ -219,7 +221,7 @@ - return calc_exp2($fields,$field,$expression); - } - -- function unset_not_in_list(&$fields){ -+ function unset_not_in_list(&$fields){ - foreach($_REQUEST as $key => $val){ - if(!isset($fields[$key])){ - unset_request($key,'unset_not_in_list'); -@@ -382,7 +384,7 @@ - } - } - -- function check_field(&$fields, &$field, $checks){ -+ function check_field(&$fields, &$field, $checks){ - list($type,$opt,$flags,$validation,$exception)=$checks; - - if($flags&P_UNSET_EMPTY && isset($_REQUEST[$field]) && $_REQUEST[$field]==''){ -@@ -473,9 +475,7 @@ - include_once "include/page_footer.php"; - } - -- function check_fields(&$fields, $show_messages=true){ -- -- global $_REQUEST; -+ function check_fields(&$fields, $show_messages=true){ - global $system_fields; - - $err = ZBX_VALID_OK; -Index: locales.php -=================================================================== ---- frontends/php/locales.php (revision 6592) -+++ frontends/php/locales.php (revision 6593) -@@ -19,11 +19,11 @@ - **/ - ?> - <?php --include_once "include/config.inc.php"; -+include_once('include/config.inc.php'); - - if(isset($_REQUEST['download'])){ -- $page["type"] = PAGE_TYPE_XML; -- $page["file"] = "new_locale.inc.php"; -+ $page['type'] = PAGE_TYPE_XML; -+ $page['file'] = 'new_locale.inc.php'; - } - else{ - $page['title'] = "S_LOCALES"; -@@ -181,26 +181,25 @@ - $frmLcls->AddOption('id','locales'); - $frmLcls->SetHelp($help); - -- $fileFrom = 'include/locales/'.$_REQUEST['srclang'].".inc.php"; -- if(file_exists($fileFrom)){ -- include($fileFrom); - -+ $fileFrom = 'include/locales/'.$_REQUEST['srclang'].'.inc.php'; -+ if(ereg('^[A-Za-z0-9_]+$', $_REQUEST['srclang']) && file_exists($fileFrom)){ -+ include($fileFrom); - if(!isset($TRANSLATION) || !is_array($TRANSLATION)){ -- error("Passed SOURCE is NOT valid PHP file."); -+ error('Passed SOURCE is NOT valid PHP file.'); - } - $transFrom = $TRANSLATION; - } - unset($TRANSLATION); - -- $frmLcls->AddVar('extlang',$_REQUEST['extlang']); -- -- if($_REQUEST['extlang'] != 'new'){ -- $fileTo = 'include/locales/'.$_REQUEST['extlang'].".inc.php"; -+ $frmLcls->addVar('extlang',$_REQUEST['extlang']); -+ if(ereg('^[A-Za-z0-9_]+$', $_REQUEST['srclang']) && ($_REQUEST['extlang'] != 'new')){ -+ $fileTo = 'include/locales/'.$_REQUEST['extlang'].'.inc.php'; - if(file_exists($fileTo)){ - include($fileTo); - - if(!isset($TRANSLATION) || !is_array($TRANSLATION)){ -- error("Passed DEST is NOT valid PHP file."); -+ error('Passed DEST is NOT valid PHP file.'); - } - $transTo = $TRANSLATION; - // header('Content-Type: text/html; charset='.$TRANSLATION['S_HTML_CHARSET']); - ------ - -This hunk fixes typo in the bugfix for local file inclusion inside -locales.php - -Index: branches/1.6/frontends/php/locales.php -=================================================================== ---- frontends/php/locales.php (revision 6885) -+++ frontends/php/locales.php (revision 6886) -@@ -193,7 +193,7 @@ - unset($TRANSLATION); - - $frmLcls->addVar('extlang',$_REQUEST['extlang']); -- if(ereg('^[A-Za-z0-9_]+$', $_REQUEST['srclang']) && ($_REQUEST['extlang'] != 'new')){ -+ if(ereg('^[A-Za-z0-9_]+$', $_REQUEST['extlang']) && ($_REQUEST['extlang'] != 'new')){ - $fileTo = 'include/locales/'.$_REQUEST['extlang'].'.inc.php'; - if(file_exists($fileTo)){ - include($fileTo); diff --git a/net-mgmt/zabbix2/files/patch-USH-162.2 b/net-mgmt/zabbix2/files/patch-USH-162.2 deleted file mode 100644 index 22d5d1112dca..000000000000 --- a/net-mgmt/zabbix2/files/patch-USH-162.2 +++ /dev/null @@ -1,2622 +0,0 @@ -Index: frontends/php/include/perm.inc.php -=================================================================== ---- frontends/php/include/perm.inc.php (revision 6620) -+++ frontends/php/include/perm.inc.php (revision 6621) -@@ -44,7 +44,7 @@ - $USER_DETAILS = NULL; - $login = FALSE; - -- $sessionid = get_cookie('zbx_sessionid'); -+ $sessionid = get_request('sessionid',get_cookie('zbx_sessionid')); - - if(!is_null($sessionid)){ - $sql = 'SELECT u.*,s.* '. -Index: frontends/php/include/validate.inc.php -=================================================================== ---- frontends/php/include/validate.inc.php (revision 6620) -+++ frontends/php/include/validate.inc.php (revision 6621) -@@ -428,8 +429,12 @@ - } - } - else if($opt == O_OPT){ -- if(!isset($_REQUEST[$field])) -+ if(!isset($_REQUEST[$field])){ - return ZBX_VALID_OK; -+ } -+ else if(($flags&P_ACT) && !isset($_REQUEST['zbx_form'])){ -+ return ZBX_VALID_ERROR; -+ } - } - - check_trim($_REQUEST[$field]); -@@ -458,17 +463,21 @@ - return ZBX_VALID_OK; - } - --// VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION -+// VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION - $system_fields=array( -- "sessionid"=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(),NULL), -- "switch_node"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL), -- "triggers_hash"=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY,NULL), -- 'print'=> array(T_ZBX_INT, O_OPT, P_SYS, IN("1"),NULL), -+ 'sessionid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), 'isset({zbx_form})'), -+ 'zbx_form'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY, NULL), -+// -+ 'switch_node'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL), -+ 'triggers_hash'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY,NULL), -+ 'print'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('1'),NULL), -+ -+// table sorting - 'sort'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL,NULL), - 'sortorder'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL,NULL) - ); - -- function invalid_url(){ -+ function invalid_url(){ - include_once "include/page_header.php"; - unset_all(); - show_error_message(S_INVALID_URL); -Index: frontends/php/include/classes/cform.inc.php -=================================================================== ---- frontends/php/include/classes/cform.inc.php (revision 6620) -+++ frontends/php/include/classes/cform.inc.php (revision 6621) -@@ -22,46 +22,44 @@ - class CForm extends CTag{ - /* public */ - function CForm($action=NULL, $method='post', $enctype=NULL){ -- parent::CTag("form","yes"); -- $this->SetMethod($method); -- $this->SetAction($action); -- $this->SetEnctype($enctype); -+ parent::CTag('form','yes'); -+ $this->setMethod($method); -+ $this->setAction($action); -+ $this->setEnctype($enctype); -+ -+ $this->addVar('zbx_form', 'action'); -+ $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); - } - -- function SetMethod($value='post'){ -+ function setMethod($value='post'){ - return $this->options['method'] = $value; - } - -- function SetAction($value){ -+ function setAction($value){ - global $page; - - if(is_null($value)){ -- if(isset($page['file'])){ -- $value = $page['file']; -- } -- else{ -- $value = "#"; -- } -+ $value = isset($page['file'])?$page['file']:'#'; - } - - return $this->options['action'] = $value; - } - -- function SetEnctype($value=NULL){ -+ function setEnctype($value=NULL){ - if(is_null($value)){ -- return $this->DelOption("enctype"); -+ return $this->DelOption('enctype'); - } - else if(!is_string($value)){ - return $this->error("Incorrect value for SetEnctype [$value]"); - } - -- return $this->AddOption("enctype",$value); -+ return $this->addOption('enctype',$value); - } - -- function AddVar($name, $value){ -+ function addVar($name, $value){ - if(empty($value) && $value != 0) return $value; - -- return $this->AddItem(new CVar($name, $value)); -+ return $this->addItem(new CVar($name, $value)); - } - } - ?> -Index: frontends/php/include/classes/cformtable.inc.php -=================================================================== ---- frontends/php/include/classes/cformtable.inc.php (revision 6620) -+++ frontends/php/include/classes/cformtable.inc.php (revision 6621) -@@ -46,48 +46,48 @@ - } - - parent::CForm($action,$method,$enctype); -- $this->SetTitle($title); -- $this->SetAlign('center'); -- $this->SetHelp(); -+ $this->setTitle($title); -+ $this->setAlign('center'); -+ $this->setHelp(); - - // $frm_link = new CLink(); --// $frm_link->SetName("formtable"); --// $this->AddItemToTopRow($frm_link); -+// $frm_link->setName("formtable"); -+// $this->addItemToTopRow($frm_link); - -- $this->AddVar($form_variable, get_request($form_variable, 1)); -- $this->AddVar('form_refresh',get_request('form_refresh',0)+1); -+ $this->addVar($form_variable, get_request($form_variable, 1)); -+ $this->addVar('form_refresh',get_request('form_refresh',0)+1); - - $this->bottom_items = new CCol(SPACE,'form_row_last'); -- $this->bottom_items->SetColSpan(2); -+ $this->bottom_items->setColSpan(2); - } - -- function SetAction($value){ -+ function setAction($value){ - - if(is_string($value)) -- return parent::SetAction($value); -+ return parent::setAction($value); - elseif(is_null($value)) -- return parent::SetAction($value); -+ return parent::setAction($value); - else - return $this->error("Incorrect value for SetAction [$value]"); - } - -- function SetName($value){ -+ function setName($value){ - if(!is_string($value)){ - return $this->error("Incorrect value for SetAlign [$value]"); - } -- $this->AddOption('name',$value); -- $this->AddOption('id',$value); -+ $this->addOption('name',$value); -+ $this->addOption('id',$value); - return true; - } - -- function SetAlign($value){ -+ function setAlign($value){ - if(!is_string($value)){ - return $this->error("Incorrect value for SetAlign [$value]"); - } - return $this->align = $value; - } - -- function SetTitle($value=NULL){ -+ function setTitle($value=NULL){ - if(is_null($value)){ - unset($this->title); - return 0; -@@ -101,7 +101,7 @@ - $this->title = unpack_object($value); - } - -- function SetHelp($value=NULL){ -+ function setHelp($value=NULL){ - if(is_null($value)) { - $this->help = new CHelp(); - } -@@ -110,8 +110,8 @@ - } - else if(is_string($value)) { - $this->help = new CHelp($value); -- if($this->GetName()==NULL) -- $this->SetName($value); -+ if($this->getName()==NULL) -+ $this->setName($value); - } - else { - return $this->error("Incorrect value for SetHelp [$value]"); -@@ -119,21 +119,21 @@ - return 0; - } - -- function AddVar($name, $value){ -- $this->AddItemToTopRow(new CVar($name, $value)); -+ function addVar($name, $value){ -+ $this->addItemToTopRow(new CVar($name, $value)); - } - -- function AddItemToTopRow($value){ -+ function addItemToTopRow($value){ - array_push($this->top_items, $value); - } - -- function AddRow($item1, $item2=NULL, $class=NULL){ -+ function addRow($item1, $item2=NULL, $class=NULL){ - if(strtolower(get_class($item1)) == 'crow'){ - - } - else if(strtolower(get_class($item1)) == 'ctable'){ - $td = new CCol($item1,'form_row_c'); -- $td->SetColSpan(2); -+ $td->setColSpan(2); - - $item1 = new CRow($td); - } -@@ -157,7 +157,7 @@ - array_push($this->center_items, $item1); - } - -- function AddSpanRow($value, $class=NULL){ -+ function addSpanRow($value, $class=NULL){ - if(is_string($value)) - $item1=nbsp($value); - -@@ -165,16 +165,16 @@ - if(is_null($class)) $class = 'form_row_c'; - - $col = new CCol($value,$class); -- $col->SetColSpan(2); -+ $col->setColSpan(2); - array_push($this->center_items,new CRow($col)); - } - - -- function AddItemToBottomRow($value){ -- $this->bottom_items->AddItem($value); -+ function addItemToBottomRow($value){ -+ $this->bottom_items->addItem($value); - } - -- function SetTableClass($class){ -+ function setTableClass($class){ - if(is_string($class)){ - $this->tableclass = $class; - } -@@ -186,25 +186,25 @@ - - $tbl = new CTable(NULL,$this->tableclass); - -- $tbl->SetOddRowClass('form_odd_row'); -- $tbl->SetEvenRowClass('form_even_row'); -- $tbl->SetCellSpacing(0); -- $tbl->SetCellPadding(1); -- $tbl->SetAlign($this->align); -+ $tbl->setOddRowClass('form_odd_row'); -+ $tbl->setEvenRowClass('form_even_row'); -+ $tbl->setCellSpacing(0); -+ $tbl->setCellPadding(1); -+ $tbl->setAlign($this->align); - # add first row - $col = new CCol(NULL,'form_row_first'); -- $col->SetColSpan(2); -+ $col->setColSpan(2); - -- if(isset($this->help)) $col->AddItem($this->help); -- if(isset($this->title)) $col->AddItem($this->title); -- foreach($this->top_items as $item) $col->AddItem($item); -+ if(isset($this->help)) $col->addItem($this->help); -+ if(isset($this->title)) $col->addItem($this->title); -+ foreach($this->top_items as $item) $col->addItem($item); - -- $tbl->SetHeader($col); -+ $tbl->setHeader($col); - # add last row -- $tbl->SetFooter($this->bottom_items); -+ $tbl->setFooter($this->bottom_items); - # add center rows - foreach($this->center_items as $item){ -- $tbl->AddRow($item); -+ $tbl->addRow($item); - } - return $tbl->ToString(); - } - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Obtained from svn://svn.zabbix.com/branches/1.6/frontends/php/ - -This hunk adds session identifier transmission during Ajax requests. -It also reshuffles some JavaScript functions and adds many whitespace -changes. - -Index: frontends/php/js/cookies.js -=================================================================== ---- frontends/php/js/cookies.js (revision 6622) -+++ frontends/php/js/cookies.js (revision 6623) -@@ -1,78 +0,0 @@ --//Javascript document --/* --** 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. --**/ --// Title: cookies class --// Description: to manipulate cookies on client side --// Author: Aly -- --var cookie ={ --cookies: new Array(), -- --init: function () { -- var allCookies = document.cookie.split('; '); -- for (var i=0;i<allCookies.length;i++) { -- var cookiePair = allCookies[i].split('='); -- this.cookies[cookiePair[0]] = cookiePair[1]; -- } --}, -- --create: function (name,value,days) { -- if(days) { -- var date = new Date(); -- date.setTime(date.getTime()+(days*24*60*60*1000)); -- var expires = "; expires="+date.toGMTString(); -- }else{ -- var expires = ""; -- } -- -- document.cookie = name+"="+value+expires+"; path=/"; -- this.cookies[name] = value; --}, -- --read : function(name){ -- if(typeof(this.cookies[name]) != 'undefined'){ -- return this.cookies[name]; -- } else { -- var nameEQ = name + "="; -- var ca = document.cookie.split(';'); -- for(var i=0;i < ca.length;i++) { -- var c = ca[i]; -- while (c.charAt(0)==' ') c = c.substring(1,c.length); -- if(c.indexOf(nameEQ) == 0) return this.cookies[name] = c.substring(nameEQ.length,c.length); -- } -- } -- return null; --}, -- --printall: function() { -- var allCookies = document.cookie.split('; '); -- for (var i=0;i<allCookies.length;i++) { -- var cookiePair = allCookies[i].split('='); -- -- alert("[" + cookiePair[0] + "] is " + cookiePair[1]); // assumes print is already defined -- } --}, -- --erase: function (name) { -- this.create(name,'',-1); -- this.cookies[name] = undefined; --} --} -- --cookie.init(); -\ No newline at end of file -Index: frontends/php/js/url.js -=================================================================== ---- frontends/php/js/url.js (revision 6622) -+++ frontends/php/js/url.js (revision 6623) -@@ -1,256 +0,0 @@ --// JavaScript Document --/* --** ZABBIX --** Copyright (C) 2000-2007 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. --** --*/ -- --// Title: url manipulation class --// Author: Aly -- -- --var url = Class.create(); -- --url.prototype = { --url: '', // actually, it's depricated/private variable --port: -1, --host: '', --protocol: '', --username: '', --password: '', --filr: '', --reference: '', --path: '', --query: '', --arguments: new Array(), -- --initialize: function(url){ -- this.url=unescape(url); -- -- this.query=(this.url.indexOf('?')>=0)?this.url.substring(this.url.indexOf('?')+1):''; -- if(this.query.indexOf('#')>=0) this.query=this.query.substring(0,this.query.indexOf('#')); -- -- var protocolSepIndex=this.url.indexOf('://'); -- if(protocolSepIndex>=0){ -- this.protocol=this.url.substring(0,protocolSepIndex).toLowerCase(); -- this.host=this.url.substring(protocolSepIndex+3); -- if(this.host.indexOf('/')>=0) this.host=this.host.substring(0,this.host.indexOf('/')); -- var atIndex=this.host.indexOf('@'); -- if(atIndex>=0){ -- var credentials=this.host.substring(0,atIndex); -- var colonIndex=credentials.indexOf(':'); -- if(colonIndex>=0){ -- this.username=credentials.substring(0,colonIndex); -- this.password=credentials.substring(colonIndex); -- }else{ -- this.username=credentials; -- } -- this.host=this.host.substring(atIndex+1); -- } -- -- var host_ipv6 = this.host.indexOf(']'); -- if(host_ipv6>=0){ -- if(host_ipv6 < (this.host.length-1)){ -- host_ipv6++; -- var host_less = this.host.substring(host_ipv6); -- -- var portColonIndex=host_less.indexOf(':'); -- if(portColonIndex>=0){ -- this.port=host_less.substring(portColonIndex+1); -- this.host=this.host.substring(0,host_ipv6); -- } -- } -- } -- else{ -- var portColonIndex=this.host.indexOf(':'); -- if(portColonIndex>=0){ -- this.port=this.host.substring(portColonIndex+1); -- this.host=this.host.substring(0,portColonIndex); -- } -- } -- this.file=this.url.substring(protocolSepIndex+3); -- this.file=this.file.substring(this.file.indexOf('/')); -- }else{ -- this.file=this.url; -- } -- if(this.file.indexOf('?')>=0) this.file=this.file.substring(0, this.file.indexOf('?')); -- -- var refSepIndex=url.indexOf('#'); -- if(refSepIndex>=0){ -- this.file=this.file.substring(0,refSepIndex); -- this.reference=this.url.substring(this.url.indexOf('#')); -- } -- this.path=this.file; -- if(this.query.length>0) this.file+='?'+this.query; -- if(this.reference.length>0) this.file+='#'+this.reference; -- if(this.query.length > 0) this.getArguments(); --}, -- --getArguments: function(){ -- var args=this.query.split('&'); -- var keyval=''; -- -- if(args.length<1) return; -- -- for(i=0;i<args.length;i++){ -- keyval=args[i].split('='); -- this.arguments[i] = new Array(keyval[0],(keyval.length==1)?keyval[0]:keyval[1]); -- } --}, -- --getArgumentValue: function(key){ -- if(key.length<1) return ''; -- for(i=0; i < this.arguments.length; i++){ -- if(this.arguments[i][0] == key) return this.arguments[i][1]; -- } -- --return ''; --}, -- --getArgumentValues: function(){ -- var a=new Array(); -- var b=this.query.split('&'); -- var c=''; -- if(b.length<1) return a; -- for(i=0;i<b.length;i++){ -- c=b[i].split('='); -- a[i]=new Array(c[0],((c.length==1)?c[0]:c[1])); -- } --return a; --}, -- --getUrl: function(){ -- var uri = (this.protocol.length > 0)?(this.protocol+'://'):''; -- uri += encodeURI((this.username.length > 0)?(this.username):''); -- uri += encodeURI((this.password.length > 0)?(':'+this.password):''); -- uri += (this.host.length > 0)?(this.host):''; -- uri += (this.port.length > 0)?(':'+this.port):''; -- uri += encodeURI((this.path.length > 0)?(this.path):''); -- uri += encodeURI((this.query.length > 0)?('?'+this.query):''); -- uri += encodeURI((this.reference.length > 0)?('#'+this.reference):''); --// alert(uri.getProtocol()+' : '+uri.getHost()+' : '+uri.getPort()+' : '+uri.getPath()+' : '+uri.getQuery()); --return uri; --}, -- --setArgument: function(key,value){ -- -- var valueisset = false; -- if(typeof(key) == 'undefined') throw 'Invalid argument past for setArgument'; -- -- value =('undefined' != typeof(value))?value:''; -- -- for(i=0; i < this.arguments.length; i++){ -- if(this.arguments[i][0] == key){ -- valueisset = true; -- this.arguments[i][1] = value; -- } -- } -- if(!valueisset) this.arguments[this.arguments.length] = new Array(key,value); -- this.formatQuery(); --}, -- --formatQuery: function(){ -- if(this.arguments.lenght < 1) return; -- -- var query = ''; -- for(i=0; i < this.arguments.length; i++){ -- query+=this.arguments[i][0]+'='+this.arguments[i][1]+'&'; -- } -- this.query = query.substring(0,query.length-1); --}, -- --getPort: function(){ -- return this.port; --}, -- --setPort: function(port){ -- this.port = port; --}, -- --getQuery: function(){ -- return this.query; --}, -- --setQuery: function(query){ -- this.query = query; -- this.getArgumentValues(); -- this.formatQuery(); --}, -- --/* Returns the protocol of this URL, i.e. 'http' in the url 'http://server/' */ --getProtocol: function(){ -- return this.protocol; --}, -- --setProtocol: function(protocol){ -- this.protocol = protocol; --}, --/* Returns the host name of this URL, i.e. 'server.com' in the url 'http://server.com/' */ --getHost: function(){ -- return this.host; --}, -- --setHost: function(set){ -- this.host = host; --}, -- --/* Returns the user name part of this URL, i.e. 'joe' in the url 'http://joe@server.com/' */ --getUserName: function(){ -- return this.username; --}, -- --setUserName: function(username){ -- this.username = username; --}, -- --/* Returns the password part of this url, i.e. 'secret' in the url 'http://joe:secret@server.com/' */ --getPassword: function(){ -- return this.password; --}, -- --setPassword: function(password){ -- this.password = password; --}, -- --/* Returns the file part of this url, i.e. everything after the host name. */ --getFile: function(){ -- return this.file = file; --}, -- --setFile: function(file){ -- this.file = file; --}, -- --/* Returns the reference of this url, i.e. 'bookmark' in the url 'http://server/file.html#bookmark' */ --getReference: function(){ -- return this.reference; --}, -- --setReference: function(reference){ -- this.reference = reference; --}, -- --/* Returns the file path of this url, i.e. '/dir/file.html' in the url 'http://server/dir/file.html' */ --getPath: function(){ -- return this.path; --}, -- --setPath: function(path){ -- this.path = path; --} -- --} -\ No newline at end of file -Index: frontends/php/js/updater.js -=================================================================== ---- frontends/php/js/updater.js (revision 6622) -+++ frontends/php/js/updater.js (revision 6623) -@@ -27,7 +27,7 @@ - - setObj4Update: function(id,frequency,url,params){ - var obj = document.getElementById(id); -- if((typeof(obj) == 'undefined')) return false; -+ if(typeof(obj) == 'undefined') return false; - - var obj4update = { - 'id': id, -@@ -65,7 +65,9 @@ - obj4update.ready = false; - - var uri = new url(obj4update.url); -- new Ajax.Updater(obj4update.id, obj4update.url, -+ uri.setArgument('sessionid', cookie.read('zbx_sessionid')); -+ -+ new Ajax.Updater(obj4update.id, uri.getUrl(),//obj4update.url, - { - method: 'post', - 'parameters': obj4update.params, -Index: frontends/php/js/gpc.js -=================================================================== ---- frontends/php/js/gpc.js (revision 0) -+++ frontends/php/js/gpc.js (revision 6623) -@@ -0,0 +1,315 @@ -+//Javascript document -+/* -+** ZABBIX -+** Copyright (C) 2000-2009 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. -+**/ -+ -+// Title: cookies class -+// Description: to manipulate cookies on client side -+// Author: Aly -+var cookie ={ -+cookies: new Array(), -+ -+init: function () { -+ var allCookies = document.cookie.split('; '); -+ for (var i=0;i<allCookies.length;i++) { -+ var cookiePair = allCookies[i].split('='); -+ this.cookies[cookiePair[0]] = cookiePair[1]; -+ } -+}, -+ -+create: function (name,value,days) { -+ if(days) { -+ var date = new Date(); -+ date.setTime(date.getTime()+(days*24*60*60*1000)); -+ var expires = "; expires="+date.toGMTString(); -+ } -+ else{ -+ var expires = ""; -+ } -+ -+ document.cookie = name+"="+value+expires+"; path=/"; -+ this.cookies[name] = value; -+}, -+ -+read : function(name){ -+ if(typeof(this.cookies[name]) != 'undefined'){ -+ return this.cookies[name]; -+ } -+ else { -+ var nameEQ = name + "="; -+ var ca = document.cookie.split(';'); -+ for(var i=0;i < ca.length;i++) { -+ var c = ca[i]; -+ while (c.charAt(0)==' ') c = c.substring(1,c.length); -+ if(c.indexOf(nameEQ) == 0) return this.cookies[name] = c.substring(nameEQ.length,c.length); -+ } -+ } -+ return null; -+}, -+ -+printall: function() { -+ var allCookies = document.cookie.split('; '); -+ for(var i=0;i<allCookies.length;i++){ -+ var cookiePair = allCookies[i].split('='); -+ -+ alert("[" + cookiePair[0] + "] is " + cookiePair[1]); // assumes print is already defined -+ } -+}, -+ -+erase: function (name) { -+ this.create(name,'',-1); -+ this.cookies[name] = undefined; -+} -+} -+ -+cookie.init(); -+ -+ -+ -+// Title: url manipulation class -+// Author: Aly -+var url = Class.create(); -+ -+url.prototype = { -+url: '', // actually, it's depricated/private variable -+port: -1, -+host: '', -+protocol: '', -+username: '', -+password: '', -+filr: '', -+reference: '', -+path: '', -+query: '', -+arguments: new Array(), -+ -+initialize: function(url){ -+ this.url=unescape(url); -+ -+ this.query=(this.url.indexOf('?')>=0)?this.url.substring(this.url.indexOf('?')+1):''; -+ if(this.query.indexOf('#')>=0) this.query=this.query.substring(0,this.query.indexOf('#')); -+ -+ var protocolSepIndex=this.url.indexOf('://'); -+ if(protocolSepIndex>=0){ -+ this.protocol=this.url.substring(0,protocolSepIndex).toLowerCase(); -+ this.host=this.url.substring(protocolSepIndex+3); -+ if(this.host.indexOf('/')>=0) this.host=this.host.substring(0,this.host.indexOf('/')); -+ var atIndex=this.host.indexOf('@'); -+ if(atIndex>=0){ -+ var credentials=this.host.substring(0,atIndex); -+ var colonIndex=credentials.indexOf(':'); -+ if(colonIndex>=0){ -+ this.username=credentials.substring(0,colonIndex); -+ this.password=credentials.substring(colonIndex); -+ }else{ -+ this.username=credentials; -+ } -+ this.host=this.host.substring(atIndex+1); -+ } -+ -+ var host_ipv6 = this.host.indexOf(']'); -+ if(host_ipv6>=0){ -+ if(host_ipv6 < (this.host.length-1)){ -+ host_ipv6++; -+ var host_less = this.host.substring(host_ipv6); -+ -+ var portColonIndex=host_less.indexOf(':'); -+ if(portColonIndex>=0){ -+ this.port=host_less.substring(portColonIndex+1); -+ this.host=this.host.substring(0,host_ipv6); -+ } -+ } -+ } -+ else{ -+ var portColonIndex=this.host.indexOf(':'); -+ if(portColonIndex>=0){ -+ this.port=this.host.substring(portColonIndex+1); -+ this.host=this.host.substring(0,portColonIndex); -+ } -+ } -+ this.file=this.url.substring(protocolSepIndex+3); -+ this.file=this.file.substring(this.file.indexOf('/')); -+ }else{ -+ this.file=this.url; -+ } -+ if(this.file.indexOf('?')>=0) this.file=this.file.substring(0, this.file.indexOf('?')); -+ -+ var refSepIndex=url.indexOf('#'); -+ if(refSepIndex>=0){ -+ this.file=this.file.substring(0,refSepIndex); -+ this.reference=this.url.substring(this.url.indexOf('#')); -+ } -+ this.path=this.file; -+ if(this.query.length>0) this.file+='?'+this.query; -+ if(this.reference.length>0) this.file+='#'+this.reference; -+ if(this.query.length > 0) this.getArguments(); -+}, -+ -+getArguments: function(){ -+ var args=this.query.split('&'); -+ var keyval=''; -+ -+ if(args.length<1) return; -+ -+ for(i=0;i<args.length;i++){ -+ keyval=args[i].split('='); -+ this.arguments[i] = new Array(keyval[0],(keyval.length==1)?keyval[0]:keyval[1]); -+ } -+}, -+ -+getArgumentValue: function(key){ -+ if(key.length<1) return ''; -+ for(i=0; i < this.arguments.length; i++){ -+ if(this.arguments[i][0] == key) return this.arguments[i][1]; -+ } -+ -+return ''; -+}, -+ -+getArgumentValues: function(){ -+ var a=new Array(); -+ var b=this.query.split('&'); -+ var c=''; -+ if(b.length<1) return a; -+ for(i=0;i<b.length;i++){ -+ c=b[i].split('='); -+ a[i]=new Array(c[0],((c.length==1)?c[0]:c[1])); -+ } -+return a; -+}, -+ -+getUrl: function(){ -+ var uri = (this.protocol.length > 0)?(this.protocol+'://'):''; -+ uri += encodeURI((this.username.length > 0)?(this.username):''); -+ uri += encodeURI((this.password.length > 0)?(':'+this.password):''); -+ uri += (this.host.length > 0)?(this.host):''; -+ uri += (this.port.length > 0)?(':'+this.port):''; -+ uri += encodeURI((this.path.length > 0)?(this.path):''); -+ uri += encodeURI((this.query.length > 0)?('?'+this.query):''); -+ uri += encodeURI((this.reference.length > 0)?('#'+this.reference):''); -+// alert(uri.getProtocol()+' : '+uri.getHost()+' : '+uri.getPort()+' : '+uri.getPath()+' : '+uri.getQuery()); -+return uri; -+}, -+ -+setArgument: function(key,value){ -+ -+ var valueisset = false; -+ if(typeof(key) == 'undefined') throw 'Invalid argument past for setArgument'; -+ -+ value =('undefined' != typeof(value))?value:''; -+ -+ for(i=0; i < this.arguments.length; i++){ -+ if(this.arguments[i][0] == key){ -+ valueisset = true; -+ this.arguments[i][1] = value; -+ } -+ } -+ if(!valueisset) this.arguments[this.arguments.length] = new Array(key,value); -+ this.formatQuery(); -+}, -+ -+formatQuery: function(){ -+ if(this.arguments.lenght < 1) return; -+ -+ var query = ''; -+ for(i=0; i < this.arguments.length; i++){ -+ query+=this.arguments[i][0]+'='+this.arguments[i][1]+'&'; -+ } -+ this.query = query.substring(0,query.length-1); -+}, -+ -+getPort: function(){ -+ return this.port; -+}, -+ -+setPort: function(port){ -+ this.port = port; -+}, -+ -+getQuery: function(){ -+ return this.query; -+}, -+ -+setQuery: function(query){ -+ this.query = query; -+ this.getArgumentValues(); -+ this.formatQuery(); -+}, -+ -+/* Returns the protocol of this URL, i.e. 'http' in the url 'http://server/' */ -+getProtocol: function(){ -+ return this.protocol; -+}, -+ -+setProtocol: function(protocol){ -+ this.protocol = protocol; -+}, -+/* Returns the host name of this URL, i.e. 'server.com' in the url 'http://server.com/' */ -+getHost: function(){ -+ return this.host; -+}, -+ -+setHost: function(set){ -+ this.host = host; -+}, -+ -+/* Returns the user name part of this URL, i.e. 'joe' in the url 'http://joe@server.com/' */ -+getUserName: function(){ -+ return this.username; -+}, -+ -+setUserName: function(username){ -+ this.username = username; -+}, -+ -+/* Returns the password part of this url, i.e. 'secret' in the url 'http://joe:secret@server.com/' */ -+getPassword: function(){ -+ return this.password; -+}, -+ -+setPassword: function(password){ -+ this.password = password; -+}, -+ -+/* Returns the file part of this url, i.e. everything after the host name. */ -+getFile: function(){ -+ return this.file = file; -+}, -+ -+setFile: function(file){ -+ this.file = file; -+}, -+ -+/* Returns the reference of this url, i.e. 'bookmark' in the url 'http://server/file.html#bookmark' */ -+getReference: function(){ -+ return this.reference; -+}, -+ -+setReference: function(reference){ -+ this.reference = reference; -+}, -+ -+/* Returns the file path of this url, i.e. '/dir/file.html' in the url 'http://server/dir/file.html' */ -+getPath: function(){ -+ return this.path; -+}, -+ -+setPath: function(path){ -+ this.path = path; -+} -+} -\ No newline at end of file -Index: frontends/php/js/ajax_req.js -=================================================================== ---- frontends/php/js/ajax_req.js (revision 6622) -+++ frontends/php/js/ajax_req.js (revision 6623) -@@ -19,6 +19,8 @@ - **/ - - function send_params(params){ -+ if(typeof(params) == 'undefined') var params = new Array(); -+ params['sessionid'] = cookie.read('zbx_sessionid'); - - var uri = new url(location.href); - new Ajax.Request(uri.getPath()+"?output=ajax", -Index: frontends/php/dashboard.php -=================================================================== ---- frontends/php/dashboard.php (revision 6622) -+++ frontends/php/dashboard.php (revision 6623) -@@ -42,8 +42,8 @@ - 'view_style'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'), NULL), - 'type'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'), NULL), - -- 'output'=> array(T_ZBX_STR, O_OPT, P_ACT, NULL, NULL), -- 'jsscriptid'=> array(T_ZBX_STR, O_OPT, P_ACT, NULL, NULL), -+ 'output'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), -+ 'jsscriptid'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), - 'fullscreen'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'), NULL), - - //ajax -@@ -56,7 +56,7 @@ - ); - - check_fields($fields); -- -+ - $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY, PERM_RES_IDS_ARRAY); - // ACTION ///////////////////////////////////////////////////////////////////////////// - if(isset($_REQUEST['favobj'])){ -Index: frontends/php/include/page_header.php -=================================================================== ---- frontends/php/include/page_header.php (revision 6622) -+++ frontends/php/include/page_header.php (revision 6623) -@@ -428,8 +428,8 @@ - - <script type="text/javascript" src="js/prototype.js"></script> - <script type="text/javascript" src="js/common.js"></script> -+<script type="text/javascript" src="js/gpc.js"></script> - <script type="text/javascript" src="js/ajax_req.js"></script> --<script type="text/javascript" src="js/url.js"></script> - <script type="text/javascript" src="js/chkbxrange.js"></script> - <?php - if(isset($page['scripts']) && is_array($page['scripts'])){ -Index: frontends/php/include/validate.inc.php -=================================================================== ---- frontends/php/include/validate.inc.php (revision 6622) -+++ frontends/php/include/validate.inc.php (revision 6623) -@@ -432,7 +432,7 @@ - if(!isset($_REQUEST[$field])){ - return ZBX_VALID_OK; - } -- else if(($flags&P_ACT) && !isset($_REQUEST['zbx_form'])){ -+ else if(($flags&P_ACT) && !isset($_REQUEST['sessionid'])){ - return ZBX_VALID_ERROR; - } - } -@@ -465,8 +465,7 @@ - - // VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION - $system_fields=array( -- 'sessionid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), 'isset({zbx_form})'), -- 'zbx_form'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY, NULL), -+ 'sessionid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), NULL), - // - 'switch_node'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL), - 'triggers_hash'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY,NULL), -Index: frontends/php/include/classes/ctree.inc.php -=================================================================== ---- frontends/php/include/classes/ctree.inc.php (revision 6622) -+++ frontends/php/include/classes/ctree.inc.php (revision 6623) -@@ -214,7 +214,6 @@ - global $page; - $js = ' - <script src="js/tree.js" type="text/javascript"></script> -- <script src="js/cookies.js" type="text/javascript"></script> - <script type="text/javascript"> - var treenode = new Array(0); - var tree_name = "tree_'.$this->getUserAlias().'_'.$page["file"].'"; -Index: frontends/php/include/classes/cform.inc.php -=================================================================== ---- frontends/php/include/classes/cform.inc.php (revision 6622) -+++ frontends/php/include/classes/cform.inc.php (revision 6623) -@@ -27,7 +27,6 @@ - $this->setAction($action); - $this->setEnctype($enctype); - -- $this->addVar('zbx_form', 'action'); - $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); - } - -Index: frontends/php/index.php -=================================================================== ---- frontends/php/index.php (revision 6622) -+++ frontends/php/index.php (revision 6623) -@@ -33,8 +33,8 @@ - "password"=> array(T_ZBX_STR, O_OPT, NULL, NULL, 'isset({enter})'), - "sessionid"=> array(T_ZBX_STR, O_OPT, NULL, NULL, NULL), - "message"=> array(T_ZBX_STR, O_OPT, NULL, NULL, NULL), -- "reconnect"=> array(T_ZBX_INT, O_OPT, P_ACT, BETWEEN(0,65535),NULL), -- "enter"=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL), -+ "reconnect"=> array(T_ZBX_INT, O_OPT, NULL, BETWEEN(0,65535),NULL), -+ "enter"=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), - "form"=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), - "form_refresh"=> array(T_ZBX_INT, O_OPT, NULL, NULL, NULL) - ); - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Obtained from svn://svn.zabbix.com/branches/1.6/frontends/php/ - -Checks if 'zbx_sessionid' cookie is really here before setting -'sessionid' variable. - -Index: frontends/php/include/classes/cform.inc.php -=================================================================== ---- frontends/php/include/classes/cform.inc.php (revision 6624) -+++ frontends/php/include/classes/cform.inc.php (revision 6625) -@@ -27,7 +27,8 @@ - $this->setAction($action); - $this->setEnctype($enctype); - -- $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); -+ if(isset($_COOKIE['zbx_sessionid'])) -+ $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); - } - - function setMethod($value='post'){ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Obtained from svn://svn.zabbix.com/branches/1.6/frontends/php/ - -This hunk basically trades the name 'sessionid' for 'sid'. It also -reshuffles many functions, adds many whitespace changes and implants -URL manipulation tools for JavaScript. - -Index: frontends/php/users.php -=================================================================== ---- frontends/php/users.php (revision 6643) -+++ frontends/php/users.php (revision 6644) -@@ -1,7 +1,7 @@ - <?php - /* - ** ZABBIX --** Copyright (C) 2000-2005 SIA Zabbix -+** Copyright (C) 2000-2009 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 -@@ -24,6 +24,7 @@ - require_once('include/media.inc.php'); - require_once('include/users.inc.php'); - require_once('include/forms.inc.php'); -+ require_once('include/classes/curl.inc.php'); - require_once('include/js.inc.php'); - - $page['title'] = 'S_USERS'; -@@ -32,7 +33,6 @@ - $page['scripts'] = array('menu_scripts.js'); - - include_once('include/page_header.php'); -- - ?> - <?php - $_REQUEST['config']=get_request('config',get_profile('web.users.config',0)); -Index: frontends/php/js/menu.js -=================================================================== ---- frontends/php/js/menu.js (revision 6643) -+++ frontends/php/js/menu.js (revision 6644) -@@ -386,8 +386,13 @@ - this.n_y -= this.getprop('height') * (o_parent.a_config.length - item_offset); - } - -+ if(!is_null(this.a_config[1]) && (this.a_config[1].indexOf('javascript') == -1)){ -+ var uri = new url(this.a_config[1]); -+ this.a_config[1] = uri.getUrl(); -+ } -+ - // generate item's HMTL -- var el = document.createElement("a"); -+ var el = document.createElement('a'); - el.setAttribute('id', 'e' + o_root.n_id + '_' + this.n_id + 'o'); - el.setAttribute('href', this.a_config[1]); - -Index: frontends/php/js/updater.js -=================================================================== ---- frontends/php/js/updater.js (revision 6643) -+++ frontends/php/js/updater.js (revision 6644) -@@ -65,8 +65,6 @@ - obj4update.ready = false; - - var uri = new url(obj4update.url); -- uri.setArgument('sessionid', cookie.read('zbx_sessionid')); -- - new Ajax.Updater(obj4update.id, uri.getUrl(),//obj4update.url, - { - method: 'post', -Index: frontends/php/js/gpc.js -=================================================================== ---- frontends/php/js/gpc.js (revision 6643) -+++ frontends/php/js/gpc.js (revision 6644) -@@ -96,7 +96,7 @@ - reference: '', - path: '', - query: '', --arguments: new Array(), -+arguments: {}, - - initialize: function(url){ - this.url=unescape(url); -@@ -116,7 +116,8 @@ - if(colonIndex>=0){ - this.username=credentials.substring(0,colonIndex); - this.password=credentials.substring(colonIndex); -- }else{ -+ } -+ else{ - this.username=credentials; - } - this.host=this.host.substring(atIndex+1); -@@ -144,9 +145,11 @@ - } - this.file=this.url.substring(protocolSepIndex+3); - this.file=this.file.substring(this.file.indexOf('/')); -- }else{ -+ } -+ else{ - this.file=this.url; - } -+ - if(this.file.indexOf('?')>=0) this.file=this.file.substring(0, this.file.indexOf('?')); - - var refSepIndex=url.indexOf('#'); -@@ -157,42 +160,51 @@ - this.path=this.file; - if(this.query.length>0) this.file+='?'+this.query; - if(this.reference.length>0) this.file+='#'+this.reference; -- if(this.query.length > 0) this.getArguments(); -+ if(this.query.length > 0) this.formatArguments(); -+ -+ var sid = cookie.read('zbx_sessionid'); -+ this.setArgument('sid', sid.substring(16)); - }, - --getArguments: function(){ -+ -+formatQuery: function(){ -+ if(this.arguments.lenght < 1) return; -+ -+ var query = ''; -+ for(var key in this.arguments){ -+ if(typeof(this.arguments[key]) != 'undefined'){ -+ query+=key+'='+this.arguments[key]+'&'; -+ } -+ } -+ this.query = query.substring(0,query.length-1); -+}, -+ -+formatArguments: function(){ - var args=this.query.split('&'); - var keyval=''; -- -+ - if(args.length<1) return; - -- for(i=0;i<args.length;i++){ -- keyval=args[i].split('='); -- this.arguments[i] = new Array(keyval[0],(keyval.length==1)?keyval[0]:keyval[1]); -+ for(i=0; i<args.length; i++){ -+ keyval = args[i].split('='); -+ this.arguments[keyval[0]] = (keyval.length>1)?keyval[1]:''; - } - }, - --getArgumentValue: function(key){ -- if(key.length<1) return ''; -- for(i=0; i < this.arguments.length; i++){ -- if(this.arguments[i][0] == key) return this.arguments[i][1]; -- } -- --return ''; -+setArgument: function(key,value){ -+ this.arguments[key] = value; -+ this.formatQuery(); - }, - --getArgumentValues: function(){ -- var a=new Array(); -- var b=this.query.split('&'); -- var c=''; -- if(b.length<1) return a; -- for(i=0;i<b.length;i++){ -- c=b[i].split('='); -- a[i]=new Array(c[0],((c.length==1)?c[0]:c[1])); -- } --return a; -+getArgument: function(key){ -+ if(typeof(this.arguments[key]) != 'undefined') return this.arguments[key]; -+ else return null; - }, - -+getArguments: function(){ -+ return this.arguments; -+}, -+ - getUrl: function(){ - var uri = (this.protocol.length > 0)?(this.protocol+'://'):''; - uri += encodeURI((this.username.length > 0)?(this.username):''); -@@ -206,51 +218,30 @@ - return uri; - }, - --setArgument: function(key,value){ -- -- var valueisset = false; -- if(typeof(key) == 'undefined') throw 'Invalid argument past for setArgument'; -- -- value =('undefined' != typeof(value))?value:''; -- -- for(i=0; i < this.arguments.length; i++){ -- if(this.arguments[i][0] == key){ -- valueisset = true; -- this.arguments[i][1] = value; -- } -- } -- if(!valueisset) this.arguments[this.arguments.length] = new Array(key,value); -- this.formatQuery(); -+setPort: function(port){ -+ this.port = port; - }, - --formatQuery: function(){ -- if(this.arguments.lenght < 1) return; -- -- var query = ''; -- for(i=0; i < this.arguments.length; i++){ -- query+=this.arguments[i][0]+'='+this.arguments[i][1]+'&'; -- } -- this.query = query.substring(0,query.length-1); --}, -- - getPort: function(){ - return this.port; - }, - --setPort: function(port){ -- this.port = port; -+setQuery: function(query){ -+ this.query = query; -+ if(this.query.indexOf('?')>=0){ -+ this.query= this.query.substring(this.query.indexOf('?')+1); -+ } -+ -+ this.formatArguments(); -+ -+ var sid = cookie.read('zbx_sessionid'); -+ this.setArgument('sid', sid.substring(16)); - }, - - getQuery: function(){ - return this.query; - }, - --setQuery: function(query){ -- this.query = query; -- this.getArgumentValues(); -- this.formatQuery(); --}, -- - /* Returns the protocol of this URL, i.e. 'http' in the url 'http://server/' */ - getProtocol: function(){ - return this.protocol; -@@ -264,7 +255,7 @@ - return this.host; - }, - --setHost: function(set){ -+setHost: function(host){ - this.host = host; - }, - -@@ -288,7 +279,7 @@ - - /* Returns the file part of this url, i.e. everything after the host name. */ - getFile: function(){ -- return this.file = file; -+ return this.file; - }, - - setFile: function(file){ -Index: frontends/php/js/menu_scripts.js -=================================================================== ---- frontends/php/js/menu_scripts.js (revision 6643) -+++ frontends/php/js/menu_scripts.js (revision 6644) -@@ -64,7 +64,7 @@ - for(var i=0; i < menu_usrgrp_gui.length; i++){ - if((typeof(menu_usrgrp_gui[i]) != 'undefined') && !empty(menu_usrgrp_gui[i])){ - var row = menu_usrgrp_gui[i]; -- var menu_row = new Array(row.name,"users.php?config=0&form=update&grpaction=1&userid="+userid+"&usrgrpid="+row.usrgrpid); -+ var menu_row = new Array(row.name,'users.php?config=0&form=update&grpaction=1&userid='+userid+'&usrgrpid='+row.usrgrpid); - grp_gui_add_to.push(menu_row); - } - } -@@ -73,7 +73,7 @@ - for(var i=0; i < usr_grp_gui_in.length; i++){ - if((typeof(usr_grp_all_in[i]) != 'undefined') && !empty(usr_grp_gui_in[i])){ - var row = usr_grp_gui_in[i]; -- var menu_row = new Array(row.name,"users.php?config=0&form=update&grpaction=0&userid="+userid+"&usrgrpid="+row.usrgrpid); -+ var menu_row = new Array(row.name,'users.php?config=0&form=update&grpaction=0&userid='+userid+'&usrgrpid='+row.usrgrpid); - grp_gui_rmv_frm.push(menu_row); - } - } -@@ -89,7 +89,7 @@ - for(var i=0; i < menu_usrgrp_status.length; i++){ - if((typeof(menu_usrgrp_status[i]) != 'undefined') && !empty(menu_usrgrp_status[i])){ - var row = menu_usrgrp_status[i]; -- var menu_row = new Array(row.name,"users.php?config=0&form=update&grpaction=1&userid="+userid+"&usrgrpid="+row.usrgrpid); -+ var menu_row = new Array(row.name,'users.php?config=0&form=update&grpaction=1&userid='+userid+'&usrgrpid='+row.usrgrpid); - grp_status_add_to.push(menu_row); - } - } -@@ -98,7 +98,7 @@ - for(var i=0; i < usr_grp_status_in.length; i++){ - if((typeof(usr_grp_status_in[i]) != 'undefined') && !empty(usr_grp_status_in[i])){ - var row = usr_grp_status_in[i]; -- var menu_row = new Array(row.name,"users.php?config=0&form=update&grpaction=0&userid="+userid+"&usrgrpid="+row.usrgrpid); -+ var menu_row = new Array(row.name,'users.php?config=0&form=update&grpaction=0&userid='+userid+'&usrgrpid='+row.usrgrpid); - grp_status_rmv_frm.push(menu_row); - } - } -Index: frontends/php/js/common.js -=================================================================== ---- frontends/php/js/common.js (revision 6643) -+++ frontends/php/js/common.js (revision 6644) -@@ -82,6 +82,16 @@ - div_help.appendChild(document.createElement("br")); - } - -+function SDJ(obj){ -+ var debug = ''; -+ for(var key in obj) { -+ var value = obj[key]; -+ debug+=key+': '+value+'\n'; -+ } -+ SDI('\n'+debug); -+} -+ -+ - /// Alpha-Betic sorting - - function addListener(element, eventname, expression, bubbling){ -Index: frontends/php/js/ajax_req.js -=================================================================== ---- frontends/php/js/ajax_req.js (revision 6643) -+++ frontends/php/js/ajax_req.js (revision 6644) -@@ -20,14 +20,16 @@ - - function send_params(params){ - if(typeof(params) == 'undefined') var params = new Array(); -- params['sessionid'] = cookie.read('zbx_sessionid'); - - var uri = new url(location.href); -- new Ajax.Request(uri.getPath()+"?output=ajax", -+ uri.setQuery('?output=ajax'); -+ -+ new Ajax.Request(uri.getUrl(), - { - 'method': 'post', - 'parameters':params, -- 'onSuccess': function(resp){ },//alert(resp.responseText); -+ 'onSuccess': function(resp){ }, -+// 'onSuccess': function(resp){ alert(resp.responseText); }, - 'onFailure': function(){ document.location = uri.getPath()+'?'+Object.toQueryString(params); } - } - ); -Index: frontends/php/dashboard.php -=================================================================== ---- frontends/php/dashboard.php (revision 6643) -+++ frontends/php/dashboard.php (revision 6644) -@@ -54,7 +54,7 @@ - 'action'=> array(T_ZBX_STR, O_OPT, P_ACT, IN("'add','remove'"),NULL), - 'state'=> array(T_ZBX_INT, O_OPT, P_ACT, NOT_EMPTY, 'isset({favobj}) && ("hat"=={favobj})'), - ); -- -+ - check_fields($fields); - - $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY, PERM_RES_IDS_ARRAY); -@@ -179,11 +179,11 @@ - $p_elements = array(); - // Header - -- $url = '?fullscreen='.($_REQUEST['fullscreen']?'0':'1'); -+ $url = new Curl('?fullscreen='.($_REQUEST['fullscreen']?'0':'1')); - - $fs_icon = new CDiv(SPACE,'fullscreen'); - $fs_icon->AddOption('title',$_REQUEST['fullscreen']?S_NORMAL.' '.S_VIEW:S_FULLSCREEN); -- $fs_icon->AddAction('onclick',new CScript("javascript: document.location = '".$url."';")); -+ $fs_icon->AddAction('onclick',new CScript("javascript: document.location = '".$url->getUrl()."';")); - //------------- - - $left_tab = new CTable(); -Index: frontends/php/include/func.inc.php -=================================================================== ---- frontends/php/include/func.inc.php (revision 6643) -+++ frontends/php/include/func.inc.php (revision 6644) -@@ -344,6 +344,18 @@ - return $pos; - } - -+function zbx_substring($haystack, $start, $end=null){ -+ if($end < $start) return ''; -+ -+ $len = zbx_strlen($haystack); -+ if(is_null($end)) -+ $result = substr($haystack, $start); -+ else -+ $result = substr($haystack, $start, ($end - $start)); -+ -+return $result; -+} -+ - function uint_in_array($needle,$haystack){ - foreach($haystack as $id => $value) - if(bccomp($needle,$value) == 0) return true; -Index: frontends/php/include/screens.inc.php -=================================================================== ---- frontends/php/include/screens.inc.php (revision 6643) -+++ frontends/php/include/screens.inc.php (revision 6644) -@@ -886,7 +886,7 @@ - $action = 'screenedit.php?form=update'.url_param('screenid').'&x='.$c.'&y='.$r.'#form'; - else - $action = NULL; -- -+ - if($editmode == 1 && isset($_REQUEST["form"]) && - isset($_REQUEST["x"]) && $_REQUEST["x"]==$c && - isset($_REQUEST["y"]) && $_REQUEST["y"]==$r) -Index: frontends/php/include/perm.inc.php -=================================================================== ---- frontends/php/include/perm.inc.php (revision 6643) -+++ frontends/php/include/perm.inc.php (revision 6644) -@@ -44,7 +44,7 @@ - $USER_DETAILS = NULL; - $login = FALSE; - -- $sessionid = get_request('sessionid',get_cookie('zbx_sessionid')); -+ $sessionid = get_cookie('zbx_sessionid'); - - if(!is_null($sessionid)){ - $sql = 'SELECT u.*,s.* '. -Index: frontends/php/include/config.inc.php -=================================================================== ---- frontends/php/include/config.inc.php (revision 6643) -+++ frontends/php/include/config.inc.php (revision 6644) -@@ -65,6 +65,7 @@ - require_once('include/classes/cpumenu.inc.php'); - require_once('include/classes/graph.inc.php'); - require_once('include/classes/cscript.inc.php'); -+ require_once('include/classes/curl.inc.php'); - - // Include Tactical Overview modules - -Index: frontends/php/include/validate.inc.php -=================================================================== ---- frontends/php/include/validate.inc.php (revision 6643) -+++ frontends/php/include/validate.inc.php (revision 6644) -@@ -432,8 +432,13 @@ - if(!isset($_REQUEST[$field])){ - return ZBX_VALID_OK; - } -- else if(($flags&P_ACT) && !isset($_REQUEST['sessionid'])){ -- return ZBX_VALID_ERROR; -+ else if($flags&P_ACT){ -+ if(!isset($_REQUEST['sid'])){ -+ return ZBX_VALID_ERROR; -+ } -+ else if(isset($_COOKIE['zbx_sessionid']) && ($_REQUEST['sid'] != substr($_COOKIE['zbx_sessionid'],16,16))){ -+ return ZBX_VALID_ERROR; -+ } - } - } - -@@ -465,7 +470,7 @@ - - // VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION - $system_fields=array( -- 'sessionid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), NULL), -+ 'sid'=> array(T_ZBX_STR, O_OPT, P_SYS, HEX(), NULL), - // - 'switch_node'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL), - 'triggers_hash'=> array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY,NULL), -Index: frontends/php/include/classes/clink.inc.php -=================================================================== ---- frontends/php/include/classes/clink.inc.php (revision 6643) -+++ frontends/php/include/classes/clink.inc.php (revision 6644) -@@ -19,12 +19,14 @@ - **/ - ?> - <?php -- class CLink extends CTag -- { -+ class CLink extends CTag{ - /* public */ - function CLink($item=NULL,$url=NULL,$class=NULL,$action=NULL){ - parent::CTag('a','yes'); -- -+ -+ $uri = new Curl($url); -+ $url = $uri->getUrl(); -+ - $this->tag_start= ''; - $this->tag_end = ''; - $this->tag_body_start = ''; -@@ -36,14 +38,14 @@ - if(!is_null($action)) $this->SetAction($action); - } - -- function SetAction($value=NULL){ -+ function setAction($value=NULL){ - if(is_null($value)) - return $this->options['action'] = $page['file']; - - return parent::AddAction('onclick', $value); - } - -- function SetUrl($value){ -+ function setUrl($value){ - $this->AddOption('href', $value); - } - -@@ -54,7 +56,7 @@ - return null; - } - -- function SetTarget($value=NULL){ -+ function setTarget($value=NULL){ - if(is_null($value)){ - unset($this->options['target']); - } -Index: frontends/php/include/classes/curl.inc.php -=================================================================== ---- frontends/php/include/classes/curl.inc.php (revision 0) -+++ frontends/php/include/classes/curl.inc.php (revision 6644) -@@ -0,0 +1,273 @@ -+<?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 -+// Title: url manipulation class -+// Author: Aly -+ -+class Curl{ -+/* -+private $url = ''; // actually, it's depricated/private variable -+private $port = false; -+private $host = ''; -+private $protocol = ''; -+private $username = ''; -+private $password = ''; -+private $filr = ''; -+private $reference = ''; -+private $path = ''; -+private $query = ''; -+private $arguments = array(); -+//*/ -+ -+function curl($url=null){ -+ global $USER_DETAILS; -+ -+ $this->url = ''; // actually, it's depricated/private variable -+ $this->port = false; -+ $this->host = ''; -+ $this->protocol = ''; -+ $this->username = ''; -+ $this->password = ''; -+ $this->filr = ''; -+ $this->reference = ''; -+ $this->path = ''; -+ $this->query = ''; -+ $this->arguments = array(); -+ -+ if(empty($url)){ -+ $this->formatArguments(); -+ $this->url = $url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME'].'?'.$this->getQuery(); -+ } -+ else{ -+ $this->url=urldecode($url); -+ -+ $tmp_pos = strpos($this->url,'?'); -+ $this->query=($tmp_pos!==false)?(substr($this->url,$tmp_pos+1)):''; -+ -+ $tmp_pos = strpos($this->query,'#'); -+ if($tmp_pos!==false) $this->query=zbx_substring($this->query,0,$tmp_pos); -+ -+ $this->formatArguments($this->query); -+ } -+ -+ $protocolSepIndex=strpos($this->url,'://'); -+ if($protocolSepIndex!==false){ -+ $this->protocol= strtolower(zbx_substring($this->url,0,$protocolSepIndex)); -+ -+ $this->host=substr($this->url, $protocolSepIndex+3); -+ -+ $tmp_pos = strpos($this->host,'/'); -+ if($tmp_pos!==false) $this->host=zbx_substring($this->host,0,$tmp_pos); -+ -+ $atIndex=strpos($this->host,'@'); -+ if($atIndex!==false){ -+ $credentials=zbx_substring($this->host,0,$atIndex); -+ -+ $colonIndex=strpos(credentials,':'); -+ if($colonIndex!==false){ -+ $this->username=zbx_substring($credentials,0,$colonIndex); -+ $this->password=substr($credentials,$colonIndex); -+ } -+ else{ -+ $this->username=$credentials; -+ } -+ $this->host=substr($this->host,$atIndex+1); -+ } -+ -+ $host_ipv6 = strpos($this->host,']'); -+ if($host_ipv6!==false){ -+ if($host_ipv6 < (zbx_strlen($this->host)-1)){ -+ $host_ipv6++; -+ $host_less = substr($this->host,$host_ipv6); -+ -+ $portColonIndex=strpos($host_less,':'); -+ if($portColonIndex!==false){ -+ $this->host=zbx_substring($this->host,0,$host_ipv6); -+ $this->port=substr($host_less,$portColonIndex+1); -+ } -+ } -+ } -+ else{ -+ $portColonIndex=strpos($this->host,':'); -+ if($portColonIndex!==false){ -+ $this->host=zbx_substring($this->host,0,$portColonIndex); -+ $this->port=substr($this->host,$portColonIndex+1); -+ } -+ } -+ -+ $this->file = substr($this->url,$protocolSepIndex+3); -+ $this->file = substr($this->file, strpos($this->file,'/')); -+ } -+ else{ -+ $this->file = $this->url; -+ } -+ -+ $tmp_pos = strpos($this->file,'?'); -+ if($tmp_pos!==false) $this->file=zbx_substring($this->file, 0, $tmp_pos); -+ -+ $refSepIndex=strpos($url,'#'); -+ if($refSepIndex!==false){ -+ $this->file = zbx_substring($this->file,0,$refSepIndex); -+ $this->reference = substr($url,strpos($url,'#')+1); -+ } -+ -+ $this->path=$this->file; -+ if(zbx_strlen($this->query)>0) $this->file.='?'.$this->query; -+ if(zbx_strlen($this->reference)>0) $this->file.='#'.$this->reference; -+ -+ if(isset($_COOKIE['zbx_sessionid'])) -+ $this->setArgument('sid', substr($_COOKIE['zbx_sessionid'],16,16)); -+} -+ -+function formatQuery(){ -+ $query = ''; -+ foreach($this->arguments as $key => $value){ -+ $query.= $key.'='.$value.'&'; -+ } -+ $this->query = rtrim($query,'&'); -+} -+ -+function formatArguments($query=null){ -+ if(is_null($query)){ -+ $this->arguments = $_REQUEST; -+ } -+ else{ -+ $query=ltrim($query,'?'); -+ $args = explode('&',$query); -+ foreach($args as $id => $arg){ -+ if(empty($arg)) continue; -+ -+ $tmp = explode('=',$arg); -+ $this->arguments[$tmp[0]] = isset($tmp[1])?$tmp[1]:''; -+ } -+ } -+ $this->formatQuery(); -+} -+ -+function getUrl(){ -+ $url = (zbx_strlen($this->protocol) > 0)?($this->protocol.'://'):''; -+ $url .= (zbx_strlen($this->username) > 0)?$this->username:''; -+ $url .= (zbx_strlen($this->password) > 0)?':'.$this->password:''; -+ $url .= (zbx_strlen($this->host) > 0)?$this->host:''; -+ $url .= $this->port?(':'.$this->port):''; -+ $url .= (zbx_strlen($this->path) > 0)?$this->path:''; -+ $url .= (zbx_strlen($this->query) > 0)?('?'.$this->query):''; -+ $url .= (zbx_strlen($this->reference) > 0)?('#'.urlencode($this->reference)):''; -+ -+//SDI($this->getProtocol().' : '.$this->getHost().' : '.$this->getPort().' : '.$this->getPath().' : '.$this->getQuery()); -+return $url; -+} -+ -+function setPort($port){ -+ $this->port = $port; -+} -+ -+function getPort(){ -+ return $this->port; -+} -+ -+function setArgument($key,$value=''){ -+ $this->arguments[$key] = $value; -+ $this->formatQuery(); -+} -+ -+function getArgument($key){ -+ if(isset($this->arguments[$key])) return $this->arguments[$key]; -+ else return NULL; -+} -+ -+function setQuery($query){ -+ $this->query = $query; -+ $this->formatArguments(); -+ $this->formatQuery(); -+} -+ -+function getQuery(){ -+ return $this->query; -+} -+ -+function setProtocol($protocol){ -+ $this->protocol = $protocol; -+} -+ -+/* Returns the protocol of $this URL, i.e. 'http' in the url 'http://server/' */ -+function getProtocol(){ -+ return $this->protocol; -+} -+ -+function setHost($host){ -+ $this->host = $host; -+} -+ -+/* Returns the host name of $this URL, i.e. 'server.com' in the url 'http://server.com/' */ -+function getHost(){ -+ return $this->host; -+} -+ -+function setUserName($username){ -+ $this->username = $username; -+} -+ -+/* Returns the user name part of $this URL, i.e. 'joe' in the url 'http://joe@server.com/' */ -+function getUserName(){ -+ return $this->username; -+} -+ -+function setPassword($password){ -+ $this->password = $password; -+} -+ -+/* Returns the password part of $this url, i.e. 'secret' in the url 'http://joe:secret@server.com/' */ -+function getPassword(){ -+ return $this->password; -+} -+ -+function setFile($file){ -+ $this->file = $file; -+} -+ -+/* Returns the file part of $this url, i.e. everything after the host name. */ -+function getFile(){ -+ return $this->file; -+} -+ -+function setReference($reference){ -+ $this->reference = $reference; -+} -+ -+/* Returns the reference of $this url, i.e. 'bookmark' in the url 'http://server/file.html#bookmark' */ -+function getReference(){ -+ return $this->reference; -+} -+ -+function setPath($path){ -+ $this->path = $path; -+} -+ -+/* Returns the file path of $this url, i.e. '/dir/file.html' in the url 'http://server/dir/file.html' */ -+function getPath(){ -+ return $this->path; -+} -+ -+function toString(){ -+ return $this->getUrl(); -+} -+} -\ No newline at end of file -Index: frontends/php/include/classes/cform.inc.php -=================================================================== ---- frontends/php/include/classes/cform.inc.php (revision 6643) -+++ frontends/php/include/classes/cform.inc.php (revision 6644) -@@ -28,7 +28,7 @@ - $this->setEnctype($enctype); - - if(isset($_COOKIE['zbx_sessionid'])) -- $this->addVar('sessionid', $_COOKIE['zbx_sessionid']); -+ $this->addVar('sid', substr($_COOKIE['zbx_sessionid'],16,16)); - } - - function setMethod($value='post'){ -Index: frontends/php/include/classes/ctag.inc.php -=================================================================== ---- frontends/php/include/classes/ctag.inc.php (revision 6643) -+++ frontends/php/include/classes/ctag.inc.php (revision 6644) -@@ -1,7 +1,7 @@ - <?php - /* - ** ZABBIX --** Copyright (C) 2000-2005 SIA Zabbix -+** Copyright (C) 2000-2009 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 -@@ -19,272 +19,258 @@ - **/ - ?> - <?php -- function destroy_objects() -- { -- global $GLOBALS; -- -- if(isset($GLOBALS)) foreach($GLOBALS as $name => $value) -- { -- if(!is_object($GLOBALS[$name])) continue; -- unset($GLOBALS[$name]); -- } -+function destroy_objects(){ -+ if(isset($GLOBALS)) foreach($GLOBALS as $name => $value){ -+ if(!is_object($GLOBALS[$name])) continue; -+ unset($GLOBALS[$name]); - } -- -- function unpack_object(&$item) -- { -- $res = ""; -+} - -- if(is_object($item)) -- { -- $res = $item->ToString(false); -- } -- elseif(is_array($item)) -- { -- foreach($item as $id => $dat) -- $res .= unpack_object($item[$id]); // Attention, recursion !!! -- } -- elseif(!is_null($item)) -- { -- $res = strval($item); -- unset($item); -- } -- return $res; -+function unpack_object(&$item){ -+ $res = ''; -+ -+ if(is_object($item)){ -+ $res = $item->toString(false); - } -+ else if(is_array($item)){ -+ foreach($item as $id => $dat) -+ $res .= unpack_object($item[$id]); // Attention, recursion !!! -+ } -+ else if(!is_null($item)){ -+ $res = strval($item); -+ unset($item); -+ } -+return $res; -+} - -- function implode_objects($glue, &$pieces) -- { -- if( !is_array($pieces) ) return unpack_object($pieces); -+function implode_objects($glue, &$pieces){ -+ if( !is_array($pieces) ) return unpack_object($pieces); - -- foreach($pieces as $id => $piece) -- $pieces[$id] = unpack_object($piece); -+ foreach($pieces as $id => $piece) -+ $pieces[$id] = unpack_object($piece); - -- return implode($glue, $pieces); -- } -+return implode($glue, $pieces); -+} - -- class CObject -- { -- function CObject($items=null) -- { -- $this->items = array(); -- if(isset($items)) -- { -- $this->AddItem($items); -- } -+class CObject{ -+ function CObject($items=null){ -+ $this->items = array(); -+ if(isset($items)){ -+ $this->addItem($items); - } -- -- function ToString($destroy=true) -- { -- $res = implode('',$this->items); -- if($destroy) $this->Destroy(); -- return $res; -- } -+ } -+ -+ function toString($destroy=true){ -+ $res = implode('',$this->items); -+ if($destroy) $this->destroy(); -+ return $res; -+ } - -- function Show($destroy=true){ -- echo $this->ToString($destroy); -- } -+ function show($destroy=true){ -+ echo $this->toString($destroy); -+ } - -- function Destroy() -- { -+ function destroy(){ - // TODO Problem under PHP 5.0 "Fatal error: Cannot re-assign $this in ..." - // $this = null; -- $this->CleanItems(); -- } -+ $this->cleanItems(); -+ } - -- function CleanItems(){ -- $this->items = array(); -+ function cleanItems(){ -+ $this->items = array(); -+ } -+ -+ function itemsCount(){ -+ return count($this->items); -+ } -+ -+ function addItem($value){ -+ -+ if(is_object($value)){ -+ array_push($this->items,unpack_object($value)); - } -- -- function ItemsCount(){ -- return count($this->items); -+ else if(is_string($value)){ -+ array_push($this->items,str_replace(array('<','>','"'),array('<','>','"'),$value)); -+// array_push($this->items,htmlspecialchars($value)); - } -- -- function AddItem($value){ -- -- if(is_object($value)){ -- array_push($this->items,unpack_object($value)); -+ else if(is_array($value)){ -+ foreach($value as $item){ -+ $this->addItem($item); // Attention, recursion !!! - } -- else if(is_string($value)){ -- array_push($this->items,str_replace(array('<','>','"'),array('<','>','"'),$value)); --// array_push($this->items,htmlspecialchars($value)); -- } -- else if(is_array($value)){ -- foreach($value as $item){ -- $this->AddItem($item); // Attention, recursion !!! -- } -- } -- else if(!is_null($value)){ -- array_push($this->items,unpack_object($value)); -- } - } -+ else if(!is_null($value)){ -+ array_push($this->items,unpack_object($value)); -+ } - } -+} - -- class CTag extends CObject{ -+class CTag extends CObject{ - /* private *//* -- var $tagname; -- var $options = array(); -- var $paired;*/ -+ var $tagname; -+ var $options = array(); -+ var $paired;*/ - /* protected *//* -- var $items = array(); -+ var $items = array(); - -- var $tag_body_start; -- var $tag_body_end; -- var $tag_start; -- var $tag_end;*/ -+ var $tag_body_start; -+ var $tag_body_end; -+ var $tag_start; -+ var $tag_end;*/ - - /* public */ -- function CTag($tagname=NULL, $paired='no', $body=NULL, $class=null){ -- parent::CObject(); -+ function CTag($tagname=NULL, $paired='no', $body=NULL, $class=null){ -+ parent::CObject(); - -- $this->options = array(); -+ $this->options = array(); - -- if(!is_string($tagname)){ -- return $this->error('Incorrect tagname for CTag ['.$tagname.']'); -- } -- -- $this->tagname = $tagname; -- $this->paired = $paired; -- -- $this->tag_start = $this->tag_end = $this->tag_body_start = $this->tag_body_end = ''; -- -- if(is_null($body)){ -- $this->tag_end = $this->tag_body_start = "\n"; -- } -- else{ -- CTag::AddItem($body); -- } -- -- $this->SetClass($class); -+ if(!is_string($tagname)){ -+ return $this->error('Incorrect tagname for CTag ['.$tagname.']'); - } - -- function ShowStart() { echo $this->StartToString(); } -- function ShowBody() { echo $this->BodyToString(); } -- function ShowEnd() { echo $this->EndToString(); } -+ $this->tagname = $tagname; -+ $this->paired = $paired; - -- function StartToString(){ -- $res = $this->tag_start.'<'.$this->tagname; -- foreach($this->options as $key => $value){ -- $res .= ' '.$key.'="'.$value.'"'; -- } -- $res .= ($this->paired=='yes')?'>':' />'; -- return $res; -- } -+ $this->tag_start = $this->tag_end = $this->tag_body_start = $this->tag_body_end = ''; - -- function BodyToString(){ -- $res = $this->tag_body_start; -- return $res.parent::ToString(false); -- -- /*foreach($this->items as $item) -- $res .= $item; -- return $res;*/ -+ if(is_null($body)){ -+ $this->tag_end = $this->tag_body_start = "\n"; - } -- -- function EndToString(){ -- $res = ($this->paired=='yes') ? $this->tag_body_end.'</'.$this->tagname.'>' : ''; -- $res .= $this->tag_end; -- return $res; -+ else{ -+ CTag::addItem($body); - } -- -- function ToString($destroy=true){ -- $res = $this->StartToString(); -- $res .= $this->BodyToString(); -- $res .= $this->EndToString(); - -- if($destroy) $this->Destroy(); -+ $this->setClass($class); -+ } -+ -+ function showStart() { echo $this->startToString(); } -+ function showBody() { echo $this->bodyToString(); } -+ function showEnd() { echo $this->endToString(); } - -- return $res; -+ function startToString(){ -+ $res = $this->tag_start.'<'.$this->tagname; -+ foreach($this->options as $key => $value){ -+ $res .= ' '.$key.'="'.$value.'"'; - } -- -- function SetName($value){ -- if(is_null($value)) return $value; -+ $res .= ($this->paired=='yes')?'>':' />'; -+ return $res; -+ } - -- if(!is_string($value)){ -- return $this->error("Incorrect value for SetName [$value]"); -- } -- return $this->AddOption("name",$value); -- } -+ function bodyToString(){ -+ $res = $this->tag_body_start; -+ return $res.parent::ToString(false); - -- function GetName(){ -- if(isset($this->options['name'])) -- return $this->options['name']; -- return NULL; -- } -- -- function SetClass($value){ -- if(isset($value)) -- $this->options['class'] = $value; -- else -- unset($this->options['class']); -+ /*foreach($this->items as $item) -+ $res .= $item; -+ return $res;*/ -+ } -+ -+ function endToString(){ -+ $res = ($this->paired=='yes') ? $this->tag_body_end.'</'.$this->tagname.'>' : ''; -+ $res .= $this->tag_end; -+ return $res; -+ } -+ -+ function toString($destroy=true){ -+ $res = $this->startToString(); -+ $res .= $this->bodyToString(); -+ $res .= $this->endToString(); - -- return $value; -+ if($destroy) $this->Destroy(); -+ -+ return $res; -+ } -+ -+ function setName($value){ -+ if(is_null($value)) return $value; -+ -+ if(!is_string($value)){ -+ return $this->error("Incorrect value for setName [$value]"); - } -- -- function DelOption($name){ -- unset($this->options[$name]); -- } -- -- function GetOption($name){ -- $ret = NULL; -- if(isset($this->options[$name])) -- $ret =& $this->options[$name]; -- return $ret; -- } -+ return $this->addOption("name",$value); -+ } -+ -+ function getName(){ -+ if(isset($this->options['name'])) -+ return $this->options['name']; -+ return NULL; -+ } -+ -+ function setClass($value){ -+ if(isset($value)) -+ $this->options['class'] = $value; -+ else -+ unset($this->options['class']); - -- function SetHint($text, $width='', $class=''){ -- if(empty($text)) return false; -+ return $value; -+ } -+ -+ function DelOption($name){ -+ unset($this->options[$name]); -+ } -+ -+ function getOption($name){ -+ $ret = NULL; -+ if(isset($this->options[$name])) -+ $ret =& $this->options[$name]; -+ return $ret; -+ } - -- insert_showhint_javascript(); -+ function setHint($text, $width='', $class=''){ -+ if(empty($text)) return false; - -- $text = unpack_object($text); -- if($width != '' || $class != ''){ -- $code = "show_hint_ext(this,event,'".$text."','".$width."','".$class."');"; -- } -- else{ -- $code = "show_hint(this,event,'".$text."');"; -- } -+ insert_showhint_javascript(); - -- $this->AddAction('onMouseOver', $code); -- $this->AddAction('onMouseMove', 'update_hint(this,event);'); -+ $text = unpack_object($text); -+ if($width != '' || $class != ''){ -+ $code = "show_hint_ext(this,event,'".$text."','".$width."','".$class."');"; - } -- -- function OnClick($handle_code){ -- $this->AddAction('onclick', $handle_code); -+ else{ -+ $code = "show_hint(this,event,'".$text."');"; - } - -- function AddAction($name, $value){ -- if(is_object($value)){ -- $this->options[$name] = unpack_object($value); -- } -- else if(!empty($value)){ -- $this->options[$name] = htmlentities(str_replace(array("\r", "\n"), '', strval($value)),ENT_COMPAT,S_HTML_CHARSET); -- } -+ $this->addAction('onMouseOver', $code); -+ $this->addAction('onMouseMove', 'update_hint(this,event);'); -+ } -+ -+ function onClick($handle_code){ -+ $this->addAction('onclick', $handle_code); -+ } -+ -+ function addAction($name, $value){ -+ if(is_object($value)){ -+ $this->options[$name] = unpack_object($value); - } -+ else if(!empty($value)){ -+ $this->options[$name] = htmlentities(str_replace(array("\r", "\n"), '', strval($value)),ENT_COMPAT,S_HTML_CHARSET); -+ } -+ } - -- function AddOption($name, $value){ -- if(is_object($value)){ -- $this->options[$name] = unpack_object($value); -- } -- else if(isset($value)) -- $this->options[$name] = htmlspecialchars(strval($value)); -- else -- unset($this->options[$name]); -+ function addOption($name, $value){ -+ if(is_object($value)){ -+ $this->options[$name] = unpack_object($value); - } -+ else if(isset($value)) -+ $this->options[$name] = htmlspecialchars(strval($value)); -+ else -+ unset($this->options[$name]); -+ } - -- function SetEnabled($value='yes'){ -- if((is_string($value) && ($value == 'yes' || $value == 'enabled' || $value=='on') || $value=='1') -- || (is_int($value) && $value<>0)) -- { -- unset($this->options['disabled']); -- } -- else if((is_string($value) && ($value == 'no' || $value == 'disabled' || $value=='off') || $value=='0') -- || (is_int($value) && $value==0)) -- { -- $this->options['disabled'] = 'disabled'; -- } -+ function setEnabled($value='yes'){ -+ if((is_string($value) && ($value == 'yes' || $value == 'enabled' || $value=='on') || $value=='1') -+ || (is_int($value) && $value<>0)) -+ { -+ unset($this->options['disabled']); - } -- -- function error($value){ -- error('class('.get_class($this).') - '.$value); -- return 1; -+ else if((is_string($value) && ($value == 'no' || $value == 'disabled' || $value=='off') || $value=='0') -+ || (is_int($value) && $value==0)) -+ { -+ $this->options['disabled'] = 'disabled'; - } - } --?> -+ -+ function error($value){ -+ error('class('.get_class($this).') - '.$value); -+ return 1; -+ } -+} -+?> -\ No newline at end of file -Index: frontends/php/include/classes/cmap.inc.php -=================================================================== ---- frontends/php/include/classes/cmap.inc.php (revision 6643) -+++ frontends/php/include/classes/cmap.inc.php (revision 6644) -@@ -19,78 +19,75 @@ - **/ - ?> - <?php -- class CMap extends CTag -- { -+class CMap extends CTag{ - /* public */ -- function CMap($name="") -- { -- parent::CTag("map","yes"); -- $this->SetName($name); -- } -- function AddRectArea($x1,$y1,$x2,$y2,$href,$alt) -- { -- return $this->AddArea(array($x1,$y1,$x2,$y2),$href,$alt,'rect'); -- } -- function AddArea($coords,$href,$alt,$shape) -- { -- return $this->AddItem(new CArea($coords,$href,$alt,$shape)); -- } -- function AddItem($value) -- { -- if(strtolower(get_class($value)) != 'carea') -- return $this->error("Incorrect value for AddItem [$value]"); -+ function CMap($name=''){ -+ parent::CTag('map','yes'); -+ $this->setName($name); -+ } -+ -+ function addRectArea($x1,$y1,$x2,$y2,$href,$alt){ -+ return $this->addArea(array($x1,$y1,$x2,$y2),$href,$alt,'rect'); -+ } -+ -+ function addArea($coords,$href,$alt,$shape){ -+ return $this->addItem(new CArea($coords,$href,$alt,$shape)); -+ } -+ -+ function addItem($value){ -+ if(strtolower(get_class($value)) != 'carea') -+ return $this->error('Incorrect value for addItem ['.$value.']'); - -- return parent::AddItem($value); -- } -+ return parent::addItem($value); - } -+} - -- class CArea extends CTag -- { -- function CArea($coords,$href,$alt,$shape) -- { -- parent::CTag("area","no"); -- $this->SetCoords($coords); -- $this->SetShape($shape); -- $this->SetHref($href); -- $this->SetAlt($alt); -- } -- function SetCoords($value) -- { -- if(!is_array($value)) -- return $this->error("Incorrect value for SetCoords [$value]"); -- if(count($value)<3) -- return $this->error("Incorrect values count for SetCoords [".count($value)."]"); -+class CArea extends CTag{ -+ function CArea($coords,$href,$alt,$shape){ -+ parent::CTag('area','no'); -+ $this->setCoords($coords); -+ $this->setShape($shape); -+ $this->setHref($href); -+ $this->setAlt($alt); -+ } -+ -+ function setCoords($value){ -+ if(!is_array($value)) -+ return $this->error('Incorrect value for setCoords ['.$value.']'); -+ if(count($value)<3) -+ return $this->error('Incorrect values count for setCoords ['.count($value).']'); - -- $str_val = ""; -- foreach($value as $val) -- { -- if(!is_numeric($val)) -- return $this->error("Incorrect value for SetCoords [$val]"); -+ $str_val = ''; -+ foreach($value as $val){ -+ if(!is_numeric($val)) -+ return $this->error('Incorrect value for setCoords ['.$val.']'); - -- $str_val .= $val.","; -- } -- $this->AddOption("coords",trim($str_val,',')); -+ $str_val .= $val.','; - } -- function SetShape($value) -- { -- if(!is_string($value)) -- return $this->error("Incorrect value for SetShape [$value]"); -+ $this->addOption('coords',trim($str_val,',')); -+ } - -- $this->AddOption("shape",$value); -- } -- function SetHref($value) -- { -- if(!is_string($value)) -- return $this->error("Incorrect value for SetHref [$value]"); -+ function setShape($value){ -+ if(!is_string($value)) -+ return $this->error('Incorrect value for setShape ['.$value.']'); - -- $this->AddOption("href",$value); -- } -- function SetAlt($value) -- { -- if(!is_string($value)) -- return $this->error("Incorrect value for SetAlt [$value]"); -+ $this->addOption('shape',$value); -+ } - -- $this->AddOption("alt",$value); -- } -+ function setHref($value){ -+ if(!is_string($value)) -+ return $this->error('Incorrect value for setHref ['.$value.']'); -+ $url = new Curl($value); -+ $value = $url->getUrl(); -+ -+ $this->addOption('href',$value); - } --?> -+ -+ function setAlt($value){ -+ if(!is_string($value)) -+ return $this->error('Incorrect value for setAlt ['.$value.']'); -+ -+ $this->addOption('alt',$value); -+ } -+} -+?> -\ No newline at end of file -Index: frontends/php/include/html.inc.php -=================================================================== ---- frontends/php/include/html.inc.php (revision 6643) -+++ frontends/php/include/html.inc.php (revision 6644) -@@ -58,7 +58,7 @@ - } - - function prepare_url(&$var, $varname=null){ -- $result = ""; -+ $result = ''; - - if(is_array($var)){ - foreach($var as $id => $par) -Index: frontends/php/items.php -=================================================================== ---- frontends/php/items.php (revision 6643) -+++ frontends/php/items.php (revision 6644) -@@ -944,16 +944,17 @@ - // url_param('groupid'), - 'action')); - -- $status=new CCol(new CLink(item_status2str($db_item["status"]), -- "?group_itemid%5B%5D=".$db_item["itemid"]. -- "&group_task=".($db_item["status"] ? "Activate+selected" : "Disable+selected"), -- item_status2style($db_item["status"]))); -+ $status=new CCol(new CLink(item_status2str($db_item['status']), -+// '?sessionid='.$USER_DETAILS['sessionid']. -+ '?group_itemid%5B%5D='.$db_item['itemid']. -+ '&group_task='.($db_item['status']?'Activate+selected':'Disable+selected'), -+ item_status2style($db_item['status']))); - -- if($db_item["error"] == ''){ -- $error=new CCol('-',"off"); -+ if($db_item['error'] == ''){ -+ $error=new CCol('-','off'); - } - else{ -- $error=new CCol($db_item["error"],"on"); -+ $error=new CCol($db_item['error'],'on'); - } - - $applications = $show_applications ? implode(', ', get_applications_by_itemid($db_item["itemid"], 'name')) : null; diff --git a/net-mgmt/zabbix2/files/patch-configure b/net-mgmt/zabbix2/files/patch-configure index c5ec8b97c390..a1b0bd52a4fe 100644 --- a/net-mgmt/zabbix2/files/patch-configure +++ b/net-mgmt/zabbix2/files/patch-configure @@ -1,12 +1,12 @@ ---- configure.orig 2009-01-16 06:20:00.000000000 -0600 -+++ configure 2009-01-22 17:23:46.000000000 -0600 -@@ -275,6 +275,9 @@ +--- configure.orig 2009-03-28 13:23:22.000000000 -0500 ++++ configure 2009-03-28 13:23:40.000000000 -0500 +@@ -580,6 +580,9 @@ # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> +#include <sys/socket.h> +#include <sys/param.h> +#include <netinet/in.h> - #if HAVE_SYS_TYPES_H + #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endif diff --git a/net-mgmt/zabbix2/pkg-plist b/net-mgmt/zabbix2/pkg-plist index 94f901a725f7..7f369afbe94c 100644 --- a/net-mgmt/zabbix2/pkg-plist +++ b/net-mgmt/zabbix2/pkg-plist @@ -1,344 +1,341 @@ bin/zabbix_server %%ETCDIR%%/zabbix_server.conf.sample -%%DATADIR%%/php/styles/popupmenu.css -%%DATADIR%%/php/styles/css_ob.css -%%DATADIR%%/php/styles/calendar.css -%%DATADIR%%/php/styles/css_bb.css -%%DATADIR%%/php/styles/gmenu.css -%%DATADIR%%/php/styles/sbox.css -%%DATADIR%%/php/styles/link.css -%%DATADIR%%/php/styles/p.css -%%DATADIR%%/php/styles/ul.css -%%DATADIR%%/php/styles/div.css -%%DATADIR%%/php/styles/form.css -%%DATADIR%%/php/styles/bar.css -%%DATADIR%%/php/styles/default.css -%%DATADIR%%/php/styles/table.css -%%DATADIR%%/php/audio/trigger_on_warning.wav -%%DATADIR%%/php/audio/trigger_on_average.wav +%%DATADIR%%/create/data/data.sql +%%DATADIR%%/create/data/images/Hub.png +%%DATADIR%%/create/data/images/Hub_small.png +%%DATADIR%%/create/data/images/Network.png +%%DATADIR%%/create/data/images/Network_small.png +%%DATADIR%%/create/data/images/Notebook.png +%%DATADIR%%/create/data/images/Notebook_small.png +%%DATADIR%%/create/data/images/Phone.png +%%DATADIR%%/create/data/images/Phone_small.png +%%DATADIR%%/create/data/images/Printer.png +%%DATADIR%%/create/data/images/Printer_small.png +%%DATADIR%%/create/data/images/Router.png +%%DATADIR%%/create/data/images/Router_small.png +%%DATADIR%%/create/data/images/Satellite.png +%%DATADIR%%/create/data/images/Satellite_small.png +%%DATADIR%%/create/data/images/Server.png +%%DATADIR%%/create/data/images/Server_small.png +%%DATADIR%%/create/data/images/UPS.png +%%DATADIR%%/create/data/images/UPS_small.png +%%DATADIR%%/create/data/images/Workstation.png +%%DATADIR%%/create/data/images/Workstation_small.png +%%DATADIR%%/create/data/images_mysql.sql +%%DATADIR%%/create/data/images_oracle.sql +%%DATADIR%%/create/data/images_pgsql.sql +%%DATADIR%%/create/data/images_sqlite3.sql +%%DATADIR%%/create/schema/mysql.sql +%%DATADIR%%/create/schema/oracle.sql +%%DATADIR%%/create/schema/postgresql.sql +%%DATADIR%%/create/schema/sqlite.sql +%%DATADIR%%/dbpatches/1.6/mysql/patch.sql +%%DATADIR%%/dbpatches/1.6/oracle/patch.sql +%%DATADIR%%/dbpatches/1.6/postgresql/patch.sql +%%DATADIR%%/php/acknow.php +%%DATADIR%%/php/actionconf.php %%DATADIR%%/php/audio/trigger_off.wav +%%DATADIR%%/php/audio/trigger_on.wav +%%DATADIR%%/php/audio/trigger_on_average.wav %%DATADIR%%/php/audio/trigger_on_disaster.wav %%DATADIR%%/php/audio/trigger_on_high.wav -%%DATADIR%%/php/audio/trigger_on.wav -%%DATADIR%%/php/js/updater.js -%%DATADIR%%/php/js/menu.js -%%DATADIR%%/php/js/menu_scripts.js -%%DATADIR%%/php/js/prototype.js -%%DATADIR%%/php/js/calendar.js -%%DATADIR%%/php/js/sbox.js -%%DATADIR%%/php/js/services.js -%%DATADIR%%/php/js/gmenu.js -%%DATADIR%%/php/js/gpc.js -%%DATADIR%%/php/js/chkbxrange.js -%%DATADIR%%/php/js/scrollbar.js -%%DATADIR%%/php/js/graphs.js -%%DATADIR%%/php/js/sbinit.js -%%DATADIR%%/php/js/common.js -%%DATADIR%%/php/js/ajax_req.js -%%DATADIR%%/php/js/blink.js -%%DATADIR%%/php/js/tree.js -%%DATADIR%%/php/js/showhint.js -%%DATADIR%%/php/include/locales/cn_zh.inc.php -%%DATADIR%%/php/include/locales/lv_lv.inc.php -%%DATADIR%%/php/include/locales/nl_nl.inc.php -%%DATADIR%%/php/include/locales/ja_jp.inc.php -%%DATADIR%%/php/include/locales/sp_sp.inc.php -%%DATADIR%%/php/include/locales/ko_kr.inc.php -%%DATADIR%%/php/include/locales/pt_br.inc.php -%%DATADIR%%/php/include/locales/hu_hu.inc.php -%%DATADIR%%/php/include/locales/it_it.inc.php -%%DATADIR%%/php/include/locales/en_gb.inc.php -%%DATADIR%%/php/include/locales/ru_ru.inc.php -%%DATADIR%%/php/include/locales/fr_fr.inc.php -%%DATADIR%%/php/include/locales/sv_se.inc.php -%%DATADIR%%/php/include/locales/de_de.inc.php -%%DATADIR%%/php/include/classes/cflashclock.mod.php -%%DATADIR%%/php/include/classes/ccolor.inc.php -%%DATADIR%%/php/include/classes/ctriggerinfo.mod.php -%%DATADIR%%/php/include/classes/cldap.inc.php -%%DATADIR%%/php/include/classes/ccheckbox.inc.php -%%DATADIR%%/php/include/classes/ctable.inc.php -%%DATADIR%%/php/include/classes/cvar.inc.php -%%DATADIR%%/php/include/classes/cserverinfo.mod.php -%%DATADIR%%/php/include/classes/cflash.inc.php -%%DATADIR%%/php/include/classes/ctree.inc.php -%%DATADIR%%/php/include/classes/ctableinfo.inc.php -%%DATADIR%%/php/include/classes/ccombobox.inc.php -%%DATADIR%%/php/include/classes/.htaccess -%%DATADIR%%/php/include/classes/clist.inc.php -%%DATADIR%%/php/include/classes/ctextarea.inc.php -%%DATADIR%%/php/include/classes/cfile.inc.php -%%DATADIR%%/php/include/classes/chostsinfo.mod.php -%%DATADIR%%/php/include/classes/chelp.inc.php -%%DATADIR%%/php/include/classes/clink.inc.php -%%DATADIR%%/php/include/classes/ctextbox.inc.php -%%DATADIR%%/php/include/classes/graph.inc.php -%%DATADIR%%/php/include/classes/chart.inc.php -%%DATADIR%%/php/include/classes/cspan.inc.php -%%DATADIR%%/php/include/classes/cform.inc.php -%%DATADIR%%/php/include/classes/ciframe.inc.php -%%DATADIR%%/php/include/classes/cscript.inc.php -%%DATADIR%%/php/include/classes/cpumenu.inc.php -%%DATADIR%%/php/include/classes/curl.inc.php -%%DATADIR%%/php/include/classes/pie.inc.php -%%DATADIR%%/php/include/classes/ctag.inc.php -%%DATADIR%%/php/include/classes/cbutton.inc.php -%%DATADIR%%/php/include/classes/cformtable.inc.php -%%DATADIR%%/php/include/classes/cimg.inc.php -%%DATADIR%%/php/include/classes/cmap.inc.php -%%DATADIR%%/php/include/discovery.inc.php -%%DATADIR%%/php/include/page_footer.php -%%DATADIR%%/php/include/acknow.inc.php -%%DATADIR%%/php/include/forms.inc.php -%%DATADIR%%/php/include/triggers.inc.php -%%DATADIR%%/php/include/func.inc.php -%%DATADIR%%/php/include/actions.inc.php -%%DATADIR%%/php/include/setup.inc.php -%%DATADIR%%/php/include/copt.lib.php -%%DATADIR%%/php/include/screens.inc.php -%%DATADIR%%/php/include/perm.inc.php -%%DATADIR%%/php/include/config.inc.php -%%DATADIR%%/php/include/import.inc.php -%%DATADIR%%/php/include/page_header.php -%%DATADIR%%/php/include/blocks.inc.php -%%DATADIR%%/php/include/defines.inc.php -%%DATADIR%%/php/include/.htaccess -%%DATADIR%%/php/include/media.inc.php -%%DATADIR%%/php/include/db.inc.php -%%DATADIR%%/php/include/items.inc.php -%%DATADIR%%/php/include/export.inc.php -%%DATADIR%%/php/include/locales.inc.php -%%DATADIR%%/php/include/profiles.inc.php -%%DATADIR%%/php/include/services.inc.php -%%DATADIR%%/php/include/graphs.inc.php -%%DATADIR%%/php/include/scripts.inc.php -%%DATADIR%%/php/include/validate.inc.php -%%DATADIR%%/php/include/reports.inc.php -%%DATADIR%%/php/include/maps.inc.php -%%DATADIR%%/php/include/hosts.inc.php -%%DATADIR%%/php/include/users.inc.php -%%DATADIR%%/php/include/html.inc.php -%%DATADIR%%/php/include/events.inc.php -%%DATADIR%%/php/include/images.inc.php -%%DATADIR%%/php/include/audit.inc.php -%%DATADIR%%/php/include/nodes.inc.php -%%DATADIR%%/php/include/js.inc.php -%%DATADIR%%/php/include/httptest.inc.php -%%DATADIR%%/php/conf/maintenance.inc.php +%%DATADIR%%/php/audio/trigger_on_warning.wav +%%DATADIR%%/php/audit.php +%%DATADIR%%/php/authentication.php +%%DATADIR%%/php/chart.php +%%DATADIR%%/php/chart2.php +%%DATADIR%%/php/chart3.php +%%DATADIR%%/php/chart4.php +%%DATADIR%%/php/chart5.php +%%DATADIR%%/php/chart6.php +%%DATADIR%%/php/chart7.php +%%DATADIR%%/php/chart_sla.php +%%DATADIR%%/php/charts.php %%DATADIR%%/php/conf/COPYING -%%DATADIR%%/php/images/sysmaps/old/Notebook.png -%%DATADIR%%/php/images/sysmaps/old/Hub.png -%%DATADIR%%/php/images/sysmaps/old/Workstation.png -%%DATADIR%%/php/images/sysmaps/old/Router.png -%%DATADIR%%/php/images/sysmaps/old/Printer.png -%%DATADIR%%/php/images/sysmaps/old/Server.png -%%DATADIR%%/php/images/sysmaps/Notebook_small.png -%%DATADIR%%/php/images/sysmaps/Server_small.png -%%DATADIR%%/php/images/sysmaps/UPS_small.png -%%DATADIR%%/php/images/sysmaps/Phone_small.png -%%DATADIR%%/php/images/sysmaps/Server.png -%%DATADIR%%/php/images/sysmaps/Hub_small.png -%%DATADIR%%/php/images/sysmaps/UPS.png -%%DATADIR%%/php/images/sysmaps/Router_small.png -%%DATADIR%%/php/images/sysmaps/Workstation.png -%%DATADIR%%/php/images/sysmaps/Phone.png -%%DATADIR%%/php/images/sysmaps/README -%%DATADIR%%/php/images/sysmaps/Workstation_small.png -%%DATADIR%%/php/images/sysmaps/Printer_small.png -%%DATADIR%%/php/images/sysmaps/Hub.png -%%DATADIR%%/php/images/sysmaps/Satellite_small.png -%%DATADIR%%/php/images/sysmaps/Router.png -%%DATADIR%%/php/images/sysmaps/Notebook.png -%%DATADIR%%/php/images/sysmaps/Printer.png -%%DATADIR%%/php/images/sysmaps/Network_small.png -%%DATADIR%%/php/images/sysmaps/Satellite.png -%%DATADIR%%/php/images/sysmaps/Network.png -%%DATADIR%%/php/images/gradients/table_head.gif -%%DATADIR%%/php/images/gradients/button.gif -%%DATADIR%%/php/images/gradients/gradient.png -%%DATADIR%%/php/images/gradients/table_head_bb.gif -%%DATADIR%%/php/images/gradients/blink1.gif -%%DATADIR%%/php/images/gradients/table_head2_bb.gif -%%DATADIR%%/php/images/gradients/menu_not_active.gif -%%DATADIR%%/php/images/gradients/blink2.gif -%%DATADIR%%/php/images/gradients/menu_not_active_bb.gif -%%DATADIR%%/php/images/gradients/table_head2.gif +%%DATADIR%%/php/conf/maintenance.inc.php +%%DATADIR%%/php/config.php +%%DATADIR%%/php/create/data.sql +%%DATADIR%%/php/create/mysql.sql +%%DATADIR%%/php/css.css +%%DATADIR%%/php/dashboard.php +%%DATADIR%%/php/discovery.php +%%DATADIR%%/php/discoveryconf.php +%%DATADIR%%/php/events.php +%%DATADIR%%/php/exp_imp.php +%%DATADIR%%/php/graphs.php +%%DATADIR%%/php/history.php +%%DATADIR%%/php/hostprofiles.php +%%DATADIR%%/php/hosts.php +%%DATADIR%%/php/httpconf.php +%%DATADIR%%/php/httpdetails.php +%%DATADIR%%/php/httpmon.php +%%DATADIR%%/php/image.php %%DATADIR%%/php/images/flash/zbxclock.swf -%%DATADIR%%/php/images/general/tree/minus.gif -%%DATADIR%%/php/images/general/tree/pointc.gif -%%DATADIR%%/php/images/general/tree/zero.gif -%%DATADIR%%/php/images/general/tree/plus.gif -%%DATADIR%%/php/images/general/tree/pointl.gif -%%DATADIR%%/php/images/general/tree/point.gif %%DATADIR%%/php/images/general/bar/arrow_down.gif +%%DATADIR%%/php/images/general/bar/arrow_l.gif %%DATADIR%%/php/images/general/bar/arrow_r.gif -%%DATADIR%%/php/images/general/bar/bar_bg.gif -%%DATADIR%%/php/images/general/bar/right.gif +%%DATADIR%%/php/images/general/bar/arrow_sm.gif %%DATADIR%%/php/images/general/bar/arrow_up.gif +%%DATADIR%%/php/images/general/bar/bar_bg.gif %%DATADIR%%/php/images/general/bar/bar_left.gif -%%DATADIR%%/php/images/general/bar/cal.gif -%%DATADIR%%/php/images/general/bar/bar_right.gif %%DATADIR%%/php/images/general/bar/bar_middle.gif -%%DATADIR%%/php/images/general/bar/arrow_l.gif +%%DATADIR%%/php/images/general/bar/bar_right.gif %%DATADIR%%/php/images/general/bar/bg.gif -%%DATADIR%%/php/images/general/bar/arrow_sm.gif +%%DATADIR%%/php/images/general/bar/cal.gif %%DATADIR%%/php/images/general/bar/left.gif -%%DATADIR%%/php/images/general/bttn/fullscreen.png -%%DATADIR%%/php/images/general/bttn/minus_bb.png +%%DATADIR%%/php/images/general/bar/right.gif +%%DATADIR%%/php/images/general/bttn/arrowdown.png +%%DATADIR%%/php/images/general/bttn/arrowdown_bb.png %%DATADIR%%/php/images/general/bttn/arrowup.png -%%DATADIR%%/php/images/general/bttn/fullscreen_bb.png %%DATADIR%%/php/images/general/bttn/arrowup_bb.png +%%DATADIR%%/php/images/general/bttn/down.png +%%DATADIR%%/php/images/general/bttn/down_bb.png +%%DATADIR%%/php/images/general/bttn/fullscreen.png +%%DATADIR%%/php/images/general/bttn/fullscreen_bb.png +%%DATADIR%%/php/images/general/bttn/help.png +%%DATADIR%%/php/images/general/bttn/help_bb.png %%DATADIR%%/php/images/general/bttn/menu.png -%%DATADIR%%/php/images/general/bttn/arrowdown.png %%DATADIR%%/php/images/general/bttn/menu_bb.png +%%DATADIR%%/php/images/general/bttn/minus.png +%%DATADIR%%/php/images/general/bttn/minus_bb.png %%DATADIR%%/php/images/general/bttn/mute.png %%DATADIR%%/php/images/general/bttn/mute_bb.png -%%DATADIR%%/php/images/general/bttn/arrowdown_bb.png -%%DATADIR%%/php/images/general/bttn/reset.png %%DATADIR%%/php/images/general/bttn/plus.png -%%DATADIR%%/php/images/general/bttn/reset_bb.png %%DATADIR%%/php/images/general/bttn/plus_bb.png -%%DATADIR%%/php/images/general/bttn/help.png +%%DATADIR%%/php/images/general/bttn/reset.png +%%DATADIR%%/php/images/general/bttn/reset_bb.png %%DATADIR%%/php/images/general/bttn/sound.png -%%DATADIR%%/php/images/general/bttn/minus.png -%%DATADIR%%/php/images/general/bttn/help_bb.png %%DATADIR%%/php/images/general/bttn/sound_bb.png -%%DATADIR%%/php/images/general/bttn/down.png -%%DATADIR%%/php/images/general/bttn/down_bb.png %%DATADIR%%/php/images/general/bttn/up.png %%DATADIR%%/php/images/general/bttn/up_bb.png -%%DATADIR%%/php/images/general/inst_current.gif -%%DATADIR%%/php/images/general/sortdown.gif -%%DATADIR%%/php/images/general/error_small.gif %%DATADIR%%/php/images/general/chart.png -%%DATADIR%%/php/images/general/trigg_dep.png -%%DATADIR%%/php/images/general/sort_upw.gif -%%DATADIR%%/php/images/general/sortup_off.gif -%%DATADIR%%/php/images/general/zabbix.ico -%%DATADIR%%/php/images/general/warning_small.gif -%%DATADIR%%/php/images/general/zabbix_bb.ico +%%DATADIR%%/php/images/general/closed.gif +%%DATADIR%%/php/images/general/down_icon.png +%%DATADIR%%/php/images/general/error_small.gif %%DATADIR%%/php/images/general/help.gif -%%DATADIR%%/php/images/general/sortup.gif %%DATADIR%%/php/images/general/inst_completed.gif -%%DATADIR%%/php/images/general/warning16r.gif -%%DATADIR%%/php/images/general/zabbix.png -%%DATADIR%%/php/images/general/zabbix_bb.png -%%DATADIR%%/php/images/general/trigg_dep.gif -%%DATADIR%%/php/images/general/zabbix_ob.ico -%%DATADIR%%/php/images/general/closed.gif -%%DATADIR%%/php/images/general/sort_downw.gif +%%DATADIR%%/php/images/general/inst_current.gif %%DATADIR%%/php/images/general/inst_step.gif +%%DATADIR%%/php/images/general/opened.gif +%%DATADIR%%/php/images/general/sort_downw.gif +%%DATADIR%%/php/images/general/sort_upw.gif +%%DATADIR%%/php/images/general/sortdown.gif %%DATADIR%%/php/images/general/sortdown_off.gif +%%DATADIR%%/php/images/general/sortup.gif +%%DATADIR%%/php/images/general/sortup_off.gif %%DATADIR%%/php/images/general/tick.png -%%DATADIR%%/php/images/general/opened.gif +%%DATADIR%%/php/images/general/tree/minus.gif +%%DATADIR%%/php/images/general/tree/plus.gif +%%DATADIR%%/php/images/general/tree/point.gif +%%DATADIR%%/php/images/general/tree/pointc.gif +%%DATADIR%%/php/images/general/tree/pointl.gif +%%DATADIR%%/php/images/general/tree/zero.gif +%%DATADIR%%/php/images/general/trigg_dep.gif +%%DATADIR%%/php/images/general/trigg_dep.png %%DATADIR%%/php/images/general/up_icon.png -%%DATADIR%%/php/images/general/down_icon.png -%%DATADIR%%/php/create/mysql.sql -%%DATADIR%%/php/create/data.sql -%%DATADIR%%/php/discoveryconf.php -%%DATADIR%%/php/tr_comments.php +%%DATADIR%%/php/images/general/warning16r.gif +%%DATADIR%%/php/images/general/warning_small.gif +%%DATADIR%%/php/images/general/zabbix.ico +%%DATADIR%%/php/images/general/zabbix.png +%%DATADIR%%/php/images/general/zabbix_bb.ico +%%DATADIR%%/php/images/general/zabbix_bb.png +%%DATADIR%%/php/images/general/zabbix_ob.ico +%%DATADIR%%/php/images/gradients/blink1.gif +%%DATADIR%%/php/images/gradients/blink2.gif +%%DATADIR%%/php/images/gradients/button.gif +%%DATADIR%%/php/images/gradients/gradient.png +%%DATADIR%%/php/images/gradients/menu_not_active.gif +%%DATADIR%%/php/images/gradients/menu_not_active_bb.gif +%%DATADIR%%/php/images/gradients/table_head.gif +%%DATADIR%%/php/images/gradients/table_head2.gif +%%DATADIR%%/php/images/gradients/table_head2_bb.gif +%%DATADIR%%/php/images/gradients/table_head_bb.gif +%%DATADIR%%/php/images/sysmaps/Hub.png +%%DATADIR%%/php/images/sysmaps/Hub_small.png +%%DATADIR%%/php/images/sysmaps/Network.png +%%DATADIR%%/php/images/sysmaps/Network_small.png +%%DATADIR%%/php/images/sysmaps/Notebook.png +%%DATADIR%%/php/images/sysmaps/Notebook_small.png +%%DATADIR%%/php/images/sysmaps/Phone.png +%%DATADIR%%/php/images/sysmaps/Phone_small.png +%%DATADIR%%/php/images/sysmaps/Printer.png +%%DATADIR%%/php/images/sysmaps/Printer_small.png +%%DATADIR%%/php/images/sysmaps/README +%%DATADIR%%/php/images/sysmaps/Router.png +%%DATADIR%%/php/images/sysmaps/Router_small.png +%%DATADIR%%/php/images/sysmaps/Satellite.png +%%DATADIR%%/php/images/sysmaps/Satellite_small.png +%%DATADIR%%/php/images/sysmaps/Server.png +%%DATADIR%%/php/images/sysmaps/Server_small.png +%%DATADIR%%/php/images/sysmaps/UPS.png +%%DATADIR%%/php/images/sysmaps/UPS_small.png +%%DATADIR%%/php/images/sysmaps/Workstation.png +%%DATADIR%%/php/images/sysmaps/Workstation_small.png +%%DATADIR%%/php/images/sysmaps/old/Hub.png +%%DATADIR%%/php/images/sysmaps/old/Notebook.png +%%DATADIR%%/php/images/sysmaps/old/Printer.png +%%DATADIR%%/php/images/sysmaps/old/Router.png +%%DATADIR%%/php/images/sysmaps/old/Server.png +%%DATADIR%%/php/images/sysmaps/old/Workstation.png +%%DATADIR%%/php/include/.htaccess +%%DATADIR%%/php/include/acknow.inc.php +%%DATADIR%%/php/include/actions.inc.php +%%DATADIR%%/php/include/audit.inc.php +%%DATADIR%%/php/include/blocks.inc.php +%%DATADIR%%/php/include/classes/.htaccess +%%DATADIR%%/php/include/classes/cbutton.inc.php +%%DATADIR%%/php/include/classes/ccheckbox.inc.php +%%DATADIR%%/php/include/classes/ccolor.inc.php +%%DATADIR%%/php/include/classes/ccombobox.inc.php +%%DATADIR%%/php/include/classes/cfile.inc.php +%%DATADIR%%/php/include/classes/cflash.inc.php +%%DATADIR%%/php/include/classes/cflashclock.mod.php +%%DATADIR%%/php/include/classes/cform.inc.php +%%DATADIR%%/php/include/classes/cformtable.inc.php +%%DATADIR%%/php/include/classes/chart.inc.php +%%DATADIR%%/php/include/classes/chelp.inc.php +%%DATADIR%%/php/include/classes/chostsinfo.mod.php +%%DATADIR%%/php/include/classes/ciframe.inc.php +%%DATADIR%%/php/include/classes/cimg.inc.php +%%DATADIR%%/php/include/classes/cldap.inc.php +%%DATADIR%%/php/include/classes/clink.inc.php +%%DATADIR%%/php/include/classes/clist.inc.php +%%DATADIR%%/php/include/classes/cmap.inc.php +%%DATADIR%%/php/include/classes/cpumenu.inc.php +%%DATADIR%%/php/include/classes/cscript.inc.php +%%DATADIR%%/php/include/classes/cserverinfo.mod.php +%%DATADIR%%/php/include/classes/cspan.inc.php +%%DATADIR%%/php/include/classes/ctable.inc.php +%%DATADIR%%/php/include/classes/ctableinfo.inc.php +%%DATADIR%%/php/include/classes/ctag.inc.php +%%DATADIR%%/php/include/classes/ctextarea.inc.php +%%DATADIR%%/php/include/classes/ctextbox.inc.php +%%DATADIR%%/php/include/classes/ctree.inc.php +%%DATADIR%%/php/include/classes/ctriggerinfo.mod.php +%%DATADIR%%/php/include/classes/curl.inc.php +%%DATADIR%%/php/include/classes/cvar.inc.php +%%DATADIR%%/php/include/classes/graph.inc.php +%%DATADIR%%/php/include/classes/pie.inc.php +%%DATADIR%%/php/include/config.inc.php +%%DATADIR%%/php/include/copt.lib.php +%%DATADIR%%/php/include/db.inc.php +%%DATADIR%%/php/include/defines.inc.php +%%DATADIR%%/php/include/discovery.inc.php +%%DATADIR%%/php/include/events.inc.php +%%DATADIR%%/php/include/export.inc.php +%%DATADIR%%/php/include/forms.inc.php +%%DATADIR%%/php/include/func.inc.php +%%DATADIR%%/php/include/graphs.inc.php +%%DATADIR%%/php/include/hosts.inc.php +%%DATADIR%%/php/include/html.inc.php +%%DATADIR%%/php/include/httptest.inc.php +%%DATADIR%%/php/include/images.inc.php +%%DATADIR%%/php/include/import.inc.php +%%DATADIR%%/php/include/items.inc.php +%%DATADIR%%/php/include/js.inc.php +%%DATADIR%%/php/include/locales.inc.php +%%DATADIR%%/php/include/locales/cn_zh.inc.php +%%DATADIR%%/php/include/locales/de_de.inc.php +%%DATADIR%%/php/include/locales/en_gb.inc.php +%%DATADIR%%/php/include/locales/fr_fr.inc.php +%%DATADIR%%/php/include/locales/hu_hu.inc.php +%%DATADIR%%/php/include/locales/it_it.inc.php +%%DATADIR%%/php/include/locales/ja_jp.inc.php +%%DATADIR%%/php/include/locales/ko_kr.inc.php +%%DATADIR%%/php/include/locales/lv_lv.inc.php +%%DATADIR%%/php/include/locales/nl_nl.inc.php +%%DATADIR%%/php/include/locales/pl_pl.inc.php +%%DATADIR%%/php/include/locales/pt_br.inc.php +%%DATADIR%%/php/include/locales/ru_ru.inc.php +%%DATADIR%%/php/include/locales/sp_sp.inc.php +%%DATADIR%%/php/include/locales/sv_se.inc.php +%%DATADIR%%/php/include/maps.inc.php +%%DATADIR%%/php/include/media.inc.php +%%DATADIR%%/php/include/nodes.inc.php +%%DATADIR%%/php/include/page_footer.php +%%DATADIR%%/php/include/page_header.php +%%DATADIR%%/php/include/perm.inc.php +%%DATADIR%%/php/include/profiles.inc.php +%%DATADIR%%/php/include/reports.inc.php +%%DATADIR%%/php/include/screens.inc.php +%%DATADIR%%/php/include/scripts.inc.php +%%DATADIR%%/php/include/services.inc.php +%%DATADIR%%/php/include/setup.inc.php +%%DATADIR%%/php/include/triggers.inc.php +%%DATADIR%%/php/include/users.inc.php +%%DATADIR%%/php/include/validate.inc.php +%%DATADIR%%/php/index.php +%%DATADIR%%/php/instal.php +%%DATADIR%%/php/items.php +%%DATADIR%%/php/js/ajax_req.js +%%DATADIR%%/php/js/calendar.js +%%DATADIR%%/php/js/common.js +%%DATADIR%%/php/js/gmenu.js +%%DATADIR%%/php/js/gpc.js +%%DATADIR%%/php/js/graphs.js +%%DATADIR%%/php/js/menu.js +%%DATADIR%%/php/js/menu_scripts.js +%%DATADIR%%/php/js/prototype.js +%%DATADIR%%/php/js/sbinit.js +%%DATADIR%%/php/js/sbox.js +%%DATADIR%%/php/js/scrollbar.js +%%DATADIR%%/php/js/services.js +%%DATADIR%%/php/js/showhint.js +%%DATADIR%%/php/js/tree.js +%%DATADIR%%/php/js/updater.js +%%DATADIR%%/php/latest.php +%%DATADIR%%/php/locales.php +%%DATADIR%%/php/map.php %%DATADIR%%/php/maps.php -%%DATADIR%%/php/users.php -%%DATADIR%%/php/overview.php +%%DATADIR%%/php/media_types.php %%DATADIR%%/php/nodes.php -%%DATADIR%%/php/tr_events.php -%%DATADIR%%/php/authentication.php -%%DATADIR%%/php/queue.php +%%DATADIR%%/php/overview.php +%%DATADIR%%/php/popup.php +%%DATADIR%%/php/popup_gitem.php +%%DATADIR%%/php/popup_httpstep.php %%DATADIR%%/php/popup_link_tr.php -%%DATADIR%%/php/httpdetails.php -%%DATADIR%%/php/dashboard.php -%%DATADIR%%/php/instal.php +%%DATADIR%%/php/popup_media.php %%DATADIR%%/php/popup_right.php -%%DATADIR%%/php/screens.php -%%DATADIR%%/php/popup.php -%%DATADIR%%/php/media_types.php -%%DATADIR%%/php/index.php -%%DATADIR%%/php/vtext.php -%%DATADIR%%/php/sysmap.php -%%DATADIR%%/php/items.php -%%DATADIR%%/php/image.php -%%DATADIR%%/php/chart2.php -%%DATADIR%%/php/actionconf.php +%%DATADIR%%/php/popup_trexpr.php %%DATADIR%%/php/popup_users.php -%%DATADIR%%/php/chart3.php -%%DATADIR%%/php/chart4.php -%%DATADIR%%/php/httpconf.php -%%DATADIR%%/php/chart5.php -%%DATADIR%%/php/scripts.php -%%DATADIR%%/php/chart6.php -%%DATADIR%%/php/chart7.php -%%DATADIR%%/php/css.css -%%DATADIR%%/php/scripts_exec.php +%%DATADIR%%/php/popup_usrgrp.php +%%DATADIR%%/php/profile.php +%%DATADIR%%/php/queue.php %%DATADIR%%/php/report1.php %%DATADIR%%/php/report2.php %%DATADIR%%/php/report3.php -%%DATADIR%%/php/popup_httpstep.php %%DATADIR%%/php/report4.php -%%DATADIR%%/php/sysmaps.php %%DATADIR%%/php/report5.php -%%DATADIR%%/php/chart_sla.php -%%DATADIR%%/php/hosts.php -%%DATADIR%%/php/chart.php -%%DATADIR%%/php/events.php -%%DATADIR%%/php/popup_usrgrp.php -%%DATADIR%%/php/warning.php -%%DATADIR%%/php/audit.php -%%DATADIR%%/php/services_form.php -%%DATADIR%%/php/popup_trexpr.php -%%DATADIR%%/php/discovery.php -%%DATADIR%%/php/map.php -%%DATADIR%%/php/srv_status.php -%%DATADIR%%/php/hostprofiles.php -%%DATADIR%%/php/acknow.php +%%DATADIR%%/php/screenconf.php %%DATADIR%%/php/screenedit.php -%%DATADIR%%/php/triggers.php -%%DATADIR%%/php/httpmon.php -%%DATADIR%%/php/latest.php -%%DATADIR%%/php/profile.php -%%DATADIR%%/php/setup.php -%%DATADIR%%/php/exp_imp.php -%%DATADIR%%/php/history.php -%%DATADIR%%/php/popup_media.php -%%DATADIR%%/php/config.php -%%DATADIR%%/php/locales.php +%%DATADIR%%/php/screens.php +%%DATADIR%%/php/scripts.php +%%DATADIR%%/php/scripts_exec.php %%DATADIR%%/php/services.php -%%DATADIR%%/php/charts.php -%%DATADIR%%/php/graphs.php -%%DATADIR%%/php/screenconf.php -%%DATADIR%%/php/popup_gitem.php +%%DATADIR%%/php/services_form.php +%%DATADIR%%/php/setup.php +%%DATADIR%%/php/srv_status.php +%%DATADIR%%/php/styles/blocks.css +%%DATADIR%%/php/styles/calendar.css +%%DATADIR%%/php/styles/css_bb.css +%%DATADIR%%/php/styles/css_ob.css +%%DATADIR%%/php/styles/default.css +%%DATADIR%%/php/styles/div.css +%%DATADIR%%/php/styles/form.css +%%DATADIR%%/php/styles/link.css +%%DATADIR%%/php/styles/p.css +%%DATADIR%%/php/styles/popupmenu.css +%%DATADIR%%/php/styles/table.css +%%DATADIR%%/php/styles/ul.css +%%DATADIR%%/php/sysmap.php +%%DATADIR%%/php/sysmaps.php +%%DATADIR%%/php/tr_comments.php +%%DATADIR%%/php/tr_events.php %%DATADIR%%/php/tr_status.php -%%DATADIR%%/dbpatches/1.6/mysql/patch.sql -%%DATADIR%%/dbpatches/1.6/oracle/patch.sql -%%DATADIR%%/dbpatches/1.6/postgresql/patch.sql -%%DATADIR%%/create/data/images/Hub.png -%%DATADIR%%/create/data/images/Hub_small.png -%%DATADIR%%/create/data/images/Network.png -%%DATADIR%%/create/data/images/Network_small.png -%%DATADIR%%/create/data/images/Notebook.png -%%DATADIR%%/create/data/images/Notebook_small.png -%%DATADIR%%/create/data/images/Phone.png -%%DATADIR%%/create/data/images/Phone_small.png -%%DATADIR%%/create/data/images/Printer.png -%%DATADIR%%/create/data/images/Printer_small.png -%%DATADIR%%/create/data/images/Router.png -%%DATADIR%%/create/data/images/Router_small.png -%%DATADIR%%/create/data/images/Satellite.png -%%DATADIR%%/create/data/images/Satellite_small.png -%%DATADIR%%/create/data/images/Server.png -%%DATADIR%%/create/data/images/Server_small.png -%%DATADIR%%/create/data/images/UPS.png -%%DATADIR%%/create/data/images/UPS_small.png -%%DATADIR%%/create/data/images/Workstation.png -%%DATADIR%%/create/data/images/Workstation_small.png -%%DATADIR%%/create/data/data.sql -%%DATADIR%%/create/data/images_oracle.sql -%%DATADIR%%/create/data/images_pgsql.sql -%%DATADIR%%/create/data/images_mysql.sql -%%DATADIR%%/create/data/images_sqlite3.sql -%%DATADIR%%/create/schema/mysql.sql -%%DATADIR%%/create/schema/oracle.sql -%%DATADIR%%/create/schema/postgresql.sql -%%DATADIR%%/create/schema/sqlite.sql +%%DATADIR%%/php/triggers.php +%%DATADIR%%/php/users.php +%%DATADIR%%/php/vtext.php +%%DATADIR%%/php/warning.php @dirrm %%DATADIR%%/php/styles @dirrm %%DATADIR%%/php/js @dirrm %%DATADIR%%/php/include/locales @@ -366,5 +363,5 @@ bin/zabbix_server @dirrm %%DATADIR%%/create/data/images @dirrm %%DATADIR%%/create/data @dirrm %%DATADIR%%/create -@dirrm %%DATADIR%%/ -@dirrmtry %%ETCDIR%% +@dirrm %%DATADIR%% +@dirrm %%ETCDIR%% |