Merge tag 'upstream/0.6.25'

Upstream version 0.6.25
This commit is contained in:
Mario Fetka 2017-05-20 15:29:40 +02:00
commit 2594665299
44 changed files with 2255 additions and 2694 deletions

View File

@ -1,6 +1,12 @@
**pnp-0.6.?? ??/??/2013**
**pnp-0.6.?? ??/??/2015**
**pnp-0.6.24 07/30/2013**
**pnp-0.6.25 01/03/2015**
* Update: FPDF Update to Version 1.7
* Bugfix: Default source fixed by AWiddersheim
* Bugfix: Fixed urlencoding of Host- and Servicenames by Andreas Doehler
* Bugfix: Fixed Timeranges by AWiddersheim
**pnp-0.6.24 07/30/2014**
* Bugfix: Fixed some more XSS issues
* Bugfix: Fixed PHP issue while running on PHP 5.6 ( Reported by Sven Nierlein )

22
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for pnp 0.6.24.
# Generated by GNU Autoconf 2.61 for pnp 0.6.25.
#
# Report bugs to <pnp4nagios-devel@lists.sourceforge.net>.
#
@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='pnp'
PACKAGE_TARNAME='pnp'
PACKAGE_VERSION='0.6.24'
PACKAGE_STRING='pnp 0.6.24'
PACKAGE_VERSION='0.6.25'
PACKAGE_STRING='pnp 0.6.25'
PACKAGE_BUGREPORT='pnp4nagios-devel@lists.sourceforge.net'
ac_unique_file="src/"
@ -1219,7 +1219,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures pnp 0.6.24 to adapt to many kinds of systems.
\`configure' configures pnp 0.6.25 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1284,7 +1284,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of pnp 0.6.24:";;
short | recursive ) echo "Configuration of pnp 0.6.25:";;
esac
cat <<\_ACEOF
@ -1380,7 +1380,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
pnp configure 0.6.24
pnp configure 0.6.25
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@ -1394,7 +1394,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by pnp $as_me 0.6.24, which was
It was created by pnp $as_me 0.6.25, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@ -1764,9 +1764,9 @@ _ACEOF
PKG_NAME=pnp4nagios
PKG_VERSION="0.6.24"
PKG_VERSION="0.6.25"
PKG_HOME_URL="http://www.pnp4nagios.org/pnp/start"
PKG_REL_DATE="30-07-2014"
PKG_REL_DATE="03-01-2015"
@ -6330,7 +6330,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by pnp $as_me 0.6.24, which was
This file was extended by pnp $as_me 0.6.25, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -6379,7 +6379,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
pnp config.status 0.6.24
pnp config.status 0.6.25
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"

View File

@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(pnp, 0.6.24, pnp4nagios-devel@lists.sourceforge.net)
AC_INIT(pnp, 0.6.25, pnp4nagios-devel@lists.sourceforge.net)
AC_CONFIG_SRCDIR(src/)
AC_CONFIG_HEADERS(include/config.h:include/config.h.in)
AC_PREFIX_DEFAULT(/usr/local/pnp4nagios)
@ -11,9 +11,9 @@ AC_DEFINE([DEFAULT_NAGIOS_USER], [nagios], [Default Nagios User])
AC_DEFINE([DEFAULT_NAGIOS_GROUP], [nagios], [Default Nagios Group])
PKG_NAME=pnp4nagios
PKG_VERSION="0.6.24"
PKG_VERSION="0.6.25"
PKG_HOME_URL="http://www.pnp4nagios.org/pnp/start"
PKG_REL_DATE="30-07-2014"
PKG_REL_DATE="03-01-2015"
AC_SUBST(PKG_NAME)
AC_SUBST(PKG_VERSION)
AC_SUBST(PKG_HOME_URL)

View File

@ -1,7 +1,7 @@
#!@PERL@
# nagios: -epn
## check_pnp_rrds - PNP4Nagios.
## Copyright (c) 2006-2009 Joerg Linge (http://www.pnp4nagios.org)
## Copyright (c) 2006-2015 Joerg Linge (http://www.pnp4nagios.org)
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
#!@PERL@
# nagios: -epn
## @PKG_NAME@@PKG_VERSION@
## Copyright (c) 2005-2010 Joerg Linge (http://www.pnp4nagios.org)
## Copyright (c) 2005-2015 Joerg Linge (http://www.pnp4nagios.org)
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License
@ -1548,7 +1548,7 @@ sub read_keyfile {
sub print_help {
print <<EOD;
Copyright (c) 2005-2010 Joerg Linge <pitchfork\@pnp4nagios.org>
Copyright (c) 2005-2015 Joerg Linge <pitchfork\@pnp4nagios.org>
Use process_perfdata.pl to store Nagios Plugin Performance Data into RRD Databases
Options:

View File

@ -1,6 +1,6 @@
#!@PERL@
## @PKG_NAME@@PKG_VERSION@ rrd_convert.pl
## Copyright (c) 2006-2010 Joerg Linge (http://www.pnp4nagios.org)
## Copyright (c) 2006-2015 Joerg Linge (http://www.pnp4nagios.org)
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License

View File

@ -2,7 +2,7 @@
# nagios: -epn
## @PKG_NAME@@PKG_VERSION@
#
# Copyright (c) 2012 PNP4Nagios Developer Team (http://www.pnp4nagios.org)
# Copyright (c) 2006-2015 PNP4Nagios Developer Team (http://www.pnp4nagios.org)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -48,7 +48,7 @@ class Graph_Controller extends System_Controller {
if($this->host != "" && $this->service != ""){
$this->service = pnp::clean($this->service);
$this->host = pnp::clean($this->host);
$this->url = "?host=".$this->host."&srv=".$this->service;
$this->url = "?host=".urlencode($this->host)."&srv=".urlencode($this->service);
$services = $this->data->getServices($this->host);
#Landingpage for mobile devices
if($this->isMobileDevice()){

View File

@ -23,13 +23,13 @@ class System_Controller extends Template_Controller {
// Check for mod_rewrite
$this->check_mod_rewrite();
$this->start = pnp::clean($this->input->get('start',FALSE));
$this->end = pnp::clean($this->input->get('end',FALSE));
$this->start = $this->input->get('start',FALSE);
$this->end = $this->input->get('end',FALSE);
$this->theme = pnp::clean($this->input->get('theme',FALSE));
$this->view = pnp::clean($this->input->get('view', ""));
$this->host = pnp::clean($this->input->get('host',NULL));
$this->service = pnp::clean($this->input->get('srv',NULL));
$this->source = pnp::clean($this->input->get('source',0));
$this->source = pnp::clean($this->input->get('source',NULL));
$this->version = pnp::clean($this->input->get('version',NULL));
$this->tpl = pnp::clean($this->input->get('tpl'));
$this->controller = Router::$controller;

View File

@ -70,7 +70,7 @@ class Zoom_Controller extends System_Controller {
$this->template->source = $this->source;
$this->template->end = $this->end;
$this->template->start = $this->start;
$this->url = "?host=".$this->host."&srv=".$this->service;
$this->url = "?host=".urlencode($this->host)."&srv=".urlencode($this->service);
$this->template->graph_height = $this->graph_height;
$this->template->graph_width = $this->graph_width;
}else{

View File

@ -44,6 +44,8 @@ class pnp_Core {
*
*/
public static function zoom_icon($host,$service,$start,$end,$source,$view,$graph_width,$graph_height){
$service = urlencode(urlencode($service));
$host = urlencode(urlencode($host));
print "<a href=\"javascript:Gzoom('".url::base(TRUE)."zoom?host=$host&srv=$service&view=$view&source=$source&end=$end&start=$start&graph_width=$graph_width&graph_height=$graph_height');\" title=\"Zoom into the Graph\"><img src=\"".url::base()."media/images/zoom.png\"></a>\n";
}

View File

@ -661,7 +661,7 @@ class Data_Model extends System_Model
if(!is_numeric($end)){
$timestamp = strtotime($end);
if(!$timestamp){
throw new Kohana_User_Exception('Wrong Format', "$end");
throw new Kohana_User_Exception('Wrong Format', "End -> $end");
}else{
$end = $timestamp;
}

9
share/pnp/application/vendor/fpdf/font/courier.php vendored Normal file → Executable file
View File

@ -1,7 +1,8 @@
<?php
$type = 'Core';
$name = 'Courier';
$up = -100;
$ut = 50;
for($i=0;$i<=255;$i++)
$fpdf_charwidths['courier'][chr($i)]=600;
$fpdf_charwidths['courierB']=$fpdf_charwidths['courier'];
$fpdf_charwidths['courierI']=$fpdf_charwidths['courier'];
$fpdf_charwidths['courierBI']=$fpdf_charwidths['courier'];
$cw[chr($i)] = 600;
?>

View File

@ -0,0 +1,8 @@
<?php
$type = 'Core';
$name = 'Courier-Bold';
$up = -100;
$ut = 50;
for($i=0;$i<=255;$i++)
$cw[chr($i)] = 600;
?>

View File

@ -0,0 +1,8 @@
<?php
$type = 'Core';
$name = 'Courier-BoldOblique';
$up = -100;
$ut = 50;
for($i=0;$i<=255;$i++)
$cw[chr($i)] = 600;
?>

View File

@ -0,0 +1,8 @@
<?php
$type = 'Core';
$name = 'Courier-Oblique';
$up = -100;
$ut = 50;
for($i=0;$i<=255;$i++)
$cw[chr($i)] = 600;
?>

6
share/pnp/application/vendor/fpdf/font/helvetica.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['helvetica']=array(
$type = 'Core';
$name = 'Helvetica';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,

6
share/pnp/application/vendor/fpdf/font/helveticab.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['helveticaB']=array(
$type = 'Core';
$name = 'Helvetica-Bold';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,

6
share/pnp/application/vendor/fpdf/font/helveticabi.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['helveticaBI']=array(
$type = 'Core';
$name = 'Helvetica-BoldOblique';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,

6
share/pnp/application/vendor/fpdf/font/helveticai.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['helveticaI']=array(
$type = 'Core';
$name = 'Helvetica-Oblique';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,

6
share/pnp/application/vendor/fpdf/font/symbol.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['symbol']=array(
$type = 'Core';
$name = 'Symbol';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549,
','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722,

6
share/pnp/application/vendor/fpdf/font/times.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['times']=array(
$type = 'Core';
$name = 'Times-Roman';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564,
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722,

6
share/pnp/application/vendor/fpdf/font/timesb.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['timesB']=array(
$type = 'Core';
$name = 'Times-Bold';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722,

6
share/pnp/application/vendor/fpdf/font/timesbi.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['timesBI']=array(
$type = 'Core';
$name = 'Times-BoldItalic';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667,

6
share/pnp/application/vendor/fpdf/font/timesi.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['timesI']=array(
$type = 'Core';
$name = 'Times-Italic';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675,
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611,

6
share/pnp/application/vendor/fpdf/font/zapfdingbats.php vendored Normal file → Executable file
View File

@ -1,5 +1,9 @@
<?php
$fpdf_charwidths['zapfdingbats']=array(
$type = 'Core';
$name = 'ZapfDingbats';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0,
chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939,
','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692,

1536
share/pnp/application/vendor/fpdf/fpdf.php vendored Normal file → Executable file

File diff suppressed because it is too large Load Diff

View File

@ -57,6 +57,7 @@ jQuery.noConflict();
<div style="position:relative;">
<?php
echo "<div start=$start end=$end style=\"width:".$graph_width."px; height:".$graph_height."px; position:absolute; top:33px\" class=\"graph\" id=\"".$this->url."\" ></div>";
$srv = urlencode($srv);
if(!empty($tpl)){
echo "<img class=\"graph\" src=\"image?source=$source"
."&tpl=$tpl"

View File

@ -45,7 +45,7 @@ und die Performancedaten
<p>
Wie man unschwer erkennt, sind die Performancedaten auf die maschinelle Verarbeitung ausgelegt. Das Format ist in den
<a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" class="urlextern" title="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" rel="nofollow">Developer Guidelines</a>
<a href="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" class="urlextern" title="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" rel="nofollow">Developer Guidelines</a>
festgelegt (einen Auszug davon gibt es <a href="/de/pnp-0.6/perfdata_format" class="wikilink1" title="de:pnp-0.6:perfdata_format">an dieser Stelle</a>), es soll aber hier noch einmal kurz erl&auml;utert werden.
</p>
@ -69,7 +69,7 @@ Mehrere Datenreihen werden durch Leerzeichen getrennt. Die eigentlichen Daten d&
</p>
</div>
<!-- SECTION "Anforderungen an Plugins" [27-1903] -->
<!-- SECTION "Anforderungen an Plugins" [27-1898] -->
<h2><a name="benoetigte_software" id="benoetigte_software">Ben&ouml;tigte Software</a></h2>
<div class="level2">
<ul>
@ -87,7 +87,7 @@ Achtung: wird RRDtool ohne Paket-Manager installiert, fehlen anschließend m&oum
</ul>
</div>
<!-- SECTION "Ben&ouml;tigte Software" [1904-2519] -->
<!-- SECTION "Ben&ouml;tigte Software" [1899-2514] -->
<h2><a name="lizenz" id="lizenz">Lizenz</a></h2>
<div class="level2">
@ -97,7 +97,7 @@ PNP ist unter der <a href="http://www.gnu.de/documents/gpl-2.0.de.html" class="u
</p>
</div>
<!-- SECTION "Lizenz" [2520-2625] -->
<!-- SECTION "Lizenz" [2515-2620] -->
<h2><a name="download" id="download">Download</a></h2>
<div class="level2">
@ -123,7 +123,7 @@ Die aktuelle Entwicklung ist jederzeit unter <a href="https://github.com/lingej/
</p>
</div>
<!-- SECTION "Download" [2626-3395] -->
<!-- SECTION "Download" [2621-3390] -->
<h2><a name="support" id="support">Support</a></h2>
<div class="level2">
@ -160,7 +160,7 @@ Weiterhin k&ouml;nnen die Mailinglisten auf Sourceforge verwendet werden. Dort i
</p>
</div>
<!-- SECTION "Support" [3396-4710] -->
<!-- SECTION "Support" [3391-4705] -->
<h2><a name="datenhaltung" id="datenhaltung">Datenhaltung</a></h2>
<div class="level2">
@ -183,4 +183,4 @@ Durch die Speicherung in diesem Format &auml;ndert sich die Dateigr&ouml;ße nac
</p>
</div>
<!-- SECTION "Datenhaltung" [4711-] -->
<!-- SECTION "Datenhaltung" [4706-] -->

View File

@ -120,7 +120,7 @@ und die Performancedaten
<p>
Wie man unschwer erkennt, sind die Performancedaten auf die maschinelle Verarbeitung ausgelegt. Das Format ist in den
<a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" class="urlextern" title="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" rel="nofollow">Developer Guidelines</a>
<a href="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" class="urlextern" title="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" rel="nofollow">Developer Guidelines</a>
festgelegt (einen Auszug davon gibt es <a href="/de/pnp-0.6/perfdata_format" class="wikilink1" title="de:pnp-0.6:perfdata_format">an dieser Stelle</a>), es soll aber hier noch einmal kurz erl&auml;utert werden.
</p>
@ -3360,7 +3360,7 @@ Es bleibt Drittanbietern &uuml;berlassen, aus den Performance-Daten Graphen zu e
</p>
<p>
Quelle: <a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" class="urlextern" title="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" rel="nofollow">http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201</a>
Quelle: <a href="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" class="urlextern" title="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" rel="nofollow">https://www.monitoring-plugins.org/doc/guidelines.html#AEN200</a>
</p>
<div class="inclmeta level">

View File

@ -57,6 +57,6 @@ Es bleibt Drittanbietern &uuml;berlassen, aus den Performance-Daten Graphen zu e
</p>
<p>
Quelle: <a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" class="urlextern" title="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" rel="nofollow">http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201</a>
Quelle: <a href="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" class="urlextern" title="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" rel="nofollow">https://www.monitoring-plugins.org/doc/guidelines.html#AEN200</a>
</p>

View File

@ -44,7 +44,7 @@ and the performance data
<p>
Performance data is designed for automatic processing. The format is specified within the <a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" class="urlextern" title="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" rel="nofollow">Developer Guidelines</a> (you&#039;ll find an excerpt <a href="/pnp-0.6/perfdata_format" class="wikilink1" title="pnp-0.6:perfdata_format">here</a>) but should be exemplified here nonetheless:
Performance data is designed for automatic processing. The format is specified within the <a href="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" class="urlextern" title="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" rel="nofollow">Developer Guidelines</a> (you&#039;ll find an excerpt <a href="/pnp-0.6/perfdata_format" class="wikilink1" title="pnp-0.6:perfdata_format">here</a>) but should be exemplified here nonetheless:
</p>
<pre class="code"> rta=2.687ms;3000.000;5000.000;0;
@ -67,7 +67,7 @@ Several data series are separated by blanks. The actual data must not contains a
</p>
</div>
<!-- SECTION "System requirements" [27-1698] -->
<!-- SECTION "System requirements" [27-1693] -->
<h2><a name="required_software" id="required_software">Required Software</a></h2>
<div class="level2">
<ul>
@ -85,7 +85,7 @@ Attention: installing RRDtool without a packet manager might lead to missing dej
</ul>
</div>
<!-- SECTION "Required Software" [1699-2245] -->
<!-- SECTION "Required Software" [1694-2240] -->
<h2><a name="license" id="license">License</a></h2>
<div class="level2">
@ -95,7 +95,7 @@ PNP is licensed under <a href="http://www.gnu.org/licenses/gpl-2.0.txt" class="u
</p>
</div>
<!-- SECTION "License" [2246-2340] -->
<!-- SECTION "License" [2241-2335] -->
<h2><a name="download" id="download">Download</a></h2>
<div class="level2">
@ -119,7 +119,7 @@ The current development can be viewed anytime at <a href="https://github.com/lin
</p>
</div>
<!-- SECTION "Download" [2341-2996] -->
<!-- SECTION "Download" [2336-2991] -->
<h2><a name="support" id="support">Support</a></h2>
<div class="level2">
@ -154,7 +154,7 @@ The mailing lists on Sourceforge can be used to request support (and are limited
</p>
</div>
<!-- SECTION "Support" [2997-4303] -->
<!-- SECTION "Support" [2992-4298] -->
<h2><a name="storage" id="storage">Storage</a></h2>
<div class="level2">
@ -172,7 +172,7 @@ Using this storage format the size of the files will stay the same over time. Pe
</p>
</div>
<!-- SECTION "Storage" [4304-5060] -->
<!-- SECTION "Storage" [4299-5055] -->
<h2><a name="statistics_and_links_to_sourceforge" id="statistics_and_links_to_sourceforge">Statistics and links to Sourceforge</a></h2>
<div class="level2">
<ul class="rss"><li><div class="li"><em>An error occurred while fetching this feed: </em><a href="http://sourceforge.net/export/rss2_projsummary.php?group_id=191615" class="urlextern" title="http://sourceforge.net/export/rss2_projsummary.php?group_id=191615" rel="nofollow">http://sourceforge.net/export/rss2_projsummary.php?group_id=191615</a></div></li></ul>
@ -183,4 +183,4 @@ Using this storage format the size of the files will stay the same over time. Pe
</p>
</div>
<!-- SECTION "Statistics and links to Sourceforge" [5061-] -->
<!-- SECTION "Statistics and links to Sourceforge" [5056-] -->

View File

@ -113,7 +113,7 @@ and the performance data
<p>
Performance data is designed for automatic processing. The format is specified within the <a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" class="urlextern" title="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" rel="nofollow">Developer Guidelines</a> (you&#039;ll find an excerpt <a href="/pnp-0.6/perfdata_format" class="wikilink1" title="pnp-0.6:perfdata_format">here</a>) but should be exemplified here nonetheless:
Performance data is designed for automatic processing. The format is specified within the <a href="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" class="urlextern" title="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" rel="nofollow">Developer Guidelines</a> (you&#039;ll find an excerpt <a href="/pnp-0.6/perfdata_format" class="wikilink1" title="pnp-0.6:perfdata_format">here</a>) but should be exemplified here nonetheless:
</p>
<pre class="code"> rta=2.687ms;3000.000;5000.000;0;
@ -423,7 +423,7 @@ Changes can be tracked on <a href="http://pnp4nagios.git.sourceforge.net/git/git
</p>
<p>
The current Version is <a href="https://sourceforge.net/projects/pnp4nagios/files/latest" class="urlextern" title="https://sourceforge.net/projects/pnp4nagios/files/latest" rel="nofollow"> pnp4nagios-0.6.22.tar.gz</a>
The current Version is <a href="https://sourceforge.net/projects/pnp4nagios/files/latest" class="urlextern" title="https://sourceforge.net/projects/pnp4nagios/files/latest" rel="nofollow"> pnp4nagios-0.6.24.tar.gz</a>
</p>
</div>
@ -443,7 +443,7 @@ This is allways the latest GIT HEAD Version
<p>
Last Update: Wed Jul 30 06:30:01 CEST 2014
Last Update: Sat Jan 3 13:30:01 CET 2015
</p>
</div>
@ -455,6 +455,10 @@ Last Update: Wed Jul 30 06:30:01 CEST 2014
<strong>pnp-0.6.?? ??/??/2013</strong>
</p>
<p>
<strong>pnp-0.6.24 07/30/2014</strong>
</p>
<ul>
<li class="level1"><div class="li"> Bugfix: Fixed some more XSS issues</div>
</li>
@ -464,7 +468,7 @@ Last Update: Wed Jul 30 06:30:01 CEST 2014
<p>
<strong>pnp-0.6.22 04/06/2014</strong>
<strong>pnp-0.6.22 06/04/2014</strong>
</p>
<ul>
<li class="level1"><div class="li"> Bugfix: Fixed livestatus socket parsing ( Pekka Panula )</div>
@ -3735,7 +3739,7 @@ It is up to third party programs to convert the Nagios plugins performance data
</p>
<p>
Origin: <a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" class="urlextern" title="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" rel="nofollow">http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201</a>
Origin: <a href="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" class="urlextern" title="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" rel="nofollow">https://www.monitoring-plugins.org/doc/guidelines.html#AEN200</a>
</p>
<div class="inclmeta level">

View File

@ -15,7 +15,7 @@ Changes can be tracked on <a href="http://pnp4nagios.git.sourceforge.net/git/git
</p>
<p>
The current Version is <a href="https://sourceforge.net/projects/pnp4nagios/files/latest" class="urlextern" title="https://sourceforge.net/projects/pnp4nagios/files/latest" rel="nofollow"> pnp4nagios-0.6.22.tar.gz</a>
The current Version is <a href="https://sourceforge.net/projects/pnp4nagios/files/latest" class="urlextern" title="https://sourceforge.net/projects/pnp4nagios/files/latest" rel="nofollow"> pnp4nagios-0.6.24.tar.gz</a>
</p>
</div>
@ -35,21 +35,36 @@ This is allways the latest GIT HEAD Version
<p>
Last Update: Wed Jul 30 12:30:45 CEST 2014
Last Update: Sat Jan 3 14:08:23 CET 2015
</p>
</div>
<!-- SECTION "Latest Devel Version" [327-550] -->
<!-- SECTION "Latest Devel Version" [327-549] -->
<h2><a name="changelog" id="changelog">ChangeLog</a></h2>
<div class="level2">
<p>
<strong>pnp-0.6.?? ??/??/2013</strong>
<strong>pnp-0.6.?? ??/??/2015</strong>
</p>
<p>
<strong>pnp-0.6.24 07/30/2013</strong>
<strong>pnp-0.6.25 01/03/2015</strong>
</p>
<ul>
<li class="level1"><div class="li"> Update: FPDF Update to Version 1.7</div>
</li>
<li class="level1"><div class="li"> Bugfix: Default source fixed by AWiddersheim</div>
</li>
<li class="level1"><div class="li"> Bugfix: Fixed urlencoding of Host- and Servicenames by Andreas Doehler</div>
</li>
<li class="level1"><div class="li"> Bugfix: Fixed Timeranges by AWiddersheim</div>
</li>
</ul>
<p>
<strong>pnp-0.6.24 07/30/2014</strong>
</p>
<ul>
<li class="level1"><div class="li"> Bugfix: Fixed some more XSS issues</div>
@ -475,4 +490,4 @@ Last Update: Wed Jul 30 12:30:45 CEST 2014
</ul>
</div>
<!-- SECTION "ChangeLog" [551-] -->
<!-- SECTION "ChangeLog" [550-] -->

View File

@ -56,6 +56,6 @@ It is up to third party programs to convert the Nagios plugins performance data
</p>
<p>
Origin: <a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" class="urlextern" title="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201" rel="nofollow">http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201</a>
Origin: <a href="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" class="urlextern" title="https://www.monitoring-plugins.org/doc/guidelines.html#AEN200" rel="nofollow">https://www.monitoring-plugins.org/doc/guidelines.html#AEN200</a>
</p>

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 273 B

2
share/pnp/media/js/jquery-min.js vendored Normal file

File diff suppressed because one or more lines are too long

125
share/pnp/media/js/jquery-ui.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,14 +0,0 @@
/*
* imgAreaSelect jQuery plugin
* version 0.9.10
*
* Copyright (c) 2008-2013 Michal Wojciechowski (odyniec.net)
*
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://odyniec.net/projects/imgareaselect/
*
* Added to the DFSG tarball by
* Markus Frosch <markus@lazyfrosch.de>
*/

View File

@ -1,730 +0,0 @@
/*
* imgAreaSelect jQuery plugin
* version 0.9.10
*
* Copyright (c) 2008-2013 Michal Wojciechowski (odyniec.net)
*
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://odyniec.net/projects/imgareaselect/
*
*/
(function($) {
var abs = Math.abs,
max = Math.max,
min = Math.min,
round = Math.round;
function div() {
return $('<div/>');
}
$.imgAreaSelect = function (img, options) {
var
$img = $(img),
imgLoaded,
$box = div(),
$area = div(),
$border = div().add(div()).add(div()).add(div()),
$outer = div().add(div()).add(div()).add(div()),
$handles = $([]),
$areaOpera,
left, top,
imgOfs = { left: 0, top: 0 },
imgWidth, imgHeight,
$parent,
parOfs = { left: 0, top: 0 },
zIndex = 0,
position = 'absolute',
startX, startY,
scaleX, scaleY,
resize,
minWidth, minHeight, maxWidth, maxHeight,
aspectRatio,
shown,
x1, y1, x2, y2,
selection = { x1: 0, y1: 0, x2: 0, y2: 0, width: 0, height: 0 },
docElem = document.documentElement,
ua = navigator.userAgent,
$p, d, i, o, w, h, adjusted;
function viewX(x) {
return x + imgOfs.left - parOfs.left;
}
function viewY(y) {
return y + imgOfs.top - parOfs.top;
}
function selX(x) {
return x - imgOfs.left + parOfs.left;
}
function selY(y) {
return y - imgOfs.top + parOfs.top;
}
function evX(event) {
return event.pageX - parOfs.left;
}
function evY(event) {
return event.pageY - parOfs.top;
}
function getSelection(noScale) {
var sx = noScale || scaleX, sy = noScale || scaleY;
return { x1: round(selection.x1 * sx),
y1: round(selection.y1 * sy),
x2: round(selection.x2 * sx),
y2: round(selection.y2 * sy),
width: round(selection.x2 * sx) - round(selection.x1 * sx),
height: round(selection.y2 * sy) - round(selection.y1 * sy) };
}
function setSelection(x1, y1, x2, y2, noScale) {
var sx = noScale || scaleX, sy = noScale || scaleY;
selection = {
x1: round(x1 / sx || 0),
y1: round(y1 / sy || 0),
x2: round(x2 / sx || 0),
y2: round(y2 / sy || 0)
};
selection.width = selection.x2 - selection.x1;
selection.height = selection.y2 - selection.y1;
}
function adjust() {
if (!imgLoaded || !$img.width())
return;
imgOfs = { left: round($img.offset().left), top: round($img.offset().top) };
imgWidth = $img.innerWidth();
imgHeight = $img.innerHeight();
imgOfs.top += ($img.outerHeight() - imgHeight) >> 1;
imgOfs.left += ($img.outerWidth() - imgWidth) >> 1;
minWidth = round(options.minWidth / scaleX) || 0;
minHeight = round(options.minHeight / scaleY) || 0;
maxWidth = round(min(options.maxWidth / scaleX || 1<<24, imgWidth));
maxHeight = round(min(options.maxHeight / scaleY || 1<<24, imgHeight));
if ($().jquery == '1.3.2' && position == 'fixed' &&
!docElem['getBoundingClientRect'])
{
imgOfs.top += max(document.body.scrollTop, docElem.scrollTop);
imgOfs.left += max(document.body.scrollLeft, docElem.scrollLeft);
}
parOfs = /absolute|relative/.test($parent.css('position')) ?
{ left: round($parent.offset().left) - $parent.scrollLeft(),
top: round($parent.offset().top) - $parent.scrollTop() } :
position == 'fixed' ?
{ left: $(document).scrollLeft(), top: $(document).scrollTop() } :
{ left: 0, top: 0 };
left = viewX(0);
top = viewY(0);
if (selection.x2 > imgWidth || selection.y2 > imgHeight)
doResize();
}
function update(resetKeyPress) {
if (!shown) return;
$box.css({ left: viewX(selection.x1), top: viewY(selection.y1) })
.add($area).width(w = selection.width).height(h = selection.height);
$area.add($border).add($handles).css({ left: 0, top: 0 });
$border
.width(max(w - $border.outerWidth() + $border.innerWidth(), 0))
.height(max(h - $border.outerHeight() + $border.innerHeight(), 0));
$($outer[0]).css({ left: left, top: top,
width: selection.x1, height: imgHeight });
$($outer[1]).css({ left: left + selection.x1, top: top,
width: w, height: selection.y1 });
$($outer[2]).css({ left: left + selection.x2, top: top,
width: imgWidth - selection.x2, height: imgHeight });
$($outer[3]).css({ left: left + selection.x1, top: top + selection.y2,
width: w, height: imgHeight - selection.y2 });
w -= $handles.outerWidth();
h -= $handles.outerHeight();
switch ($handles.length) {
case 8:
$($handles[4]).css({ left: w >> 1 });
$($handles[5]).css({ left: w, top: h >> 1 });
$($handles[6]).css({ left: w >> 1, top: h });
$($handles[7]).css({ top: h >> 1 });
case 4:
$handles.slice(1,3).css({ left: w });
$handles.slice(2,4).css({ top: h });
}
if (resetKeyPress !== false) {
if ($.imgAreaSelect.onKeyPress != docKeyPress)
$(document).unbind($.imgAreaSelect.keyPress,
$.imgAreaSelect.onKeyPress);
if (options.keys)
$(document)[$.imgAreaSelect.keyPress](
$.imgAreaSelect.onKeyPress = docKeyPress);
}
if (msie && $border.outerWidth() - $border.innerWidth() == 2) {
$border.css('margin', 0);
setTimeout(function () { $border.css('margin', 'auto'); }, 0);
}
}
function doUpdate(resetKeyPress) {
adjust();
update(resetKeyPress);
x1 = viewX(selection.x1); y1 = viewY(selection.y1);
x2 = viewX(selection.x2); y2 = viewY(selection.y2);
}
function hide($elem, fn) {
options.fadeSpeed ? $elem.fadeOut(options.fadeSpeed, fn) : $elem.hide();
}
function areaMouseMove(event) {
var x = selX(evX(event)) - selection.x1,
y = selY(evY(event)) - selection.y1;
if (!adjusted) {
adjust();
adjusted = true;
$box.one('mouseout', function () { adjusted = false; });
}
resize = '';
if (options.resizable) {
if (y <= options.resizeMargin)
resize = 'n';
else if (y >= selection.height - options.resizeMargin)
resize = 's';
if (x <= options.resizeMargin)
resize += 'w';
else if (x >= selection.width - options.resizeMargin)
resize += 'e';
}
$box.css('cursor', resize ? resize + '-resize' :
options.movable ? 'move' : '');
if ($areaOpera)
$areaOpera.toggle();
}
function docMouseUp(event) {
$('body').css('cursor', '');
if (options.autoHide || selection.width * selection.height == 0)
hide($box.add($outer), function () { $(this).hide(); });
$(document).unbind('mousemove', selectingMouseMove);
$box.mousemove(areaMouseMove);
options.onSelectEnd(img, getSelection());
}
function areaMouseDown(event) {
if (event.which != 1) return false;
adjust();
if (resize) {
$('body').css('cursor', resize + '-resize');
x1 = viewX(selection[/w/.test(resize) ? 'x2' : 'x1']);
y1 = viewY(selection[/n/.test(resize) ? 'y2' : 'y1']);
$(document).mousemove(selectingMouseMove)
.one('mouseup', docMouseUp);
$box.unbind('mousemove', areaMouseMove);
}
else if (options.movable) {
startX = left + selection.x1 - evX(event);
startY = top + selection.y1 - evY(event);
$box.unbind('mousemove', areaMouseMove);
$(document).mousemove(movingMouseMove)
.one('mouseup', function () {
options.onSelectEnd(img, getSelection());
$(document).unbind('mousemove', movingMouseMove);
$box.mousemove(areaMouseMove);
});
}
else
$img.mousedown(event);
return false;
}
function fixAspectRatio(xFirst) {
if (aspectRatio)
if (xFirst) {
x2 = max(left, min(left + imgWidth,
x1 + abs(y2 - y1) * aspectRatio * (x2 > x1 || -1)));
y2 = round(max(top, min(top + imgHeight,
y1 + abs(x2 - x1) / aspectRatio * (y2 > y1 || -1))));
x2 = round(x2);
}
else {
y2 = max(top, min(top + imgHeight,
y1 + abs(x2 - x1) / aspectRatio * (y2 > y1 || -1)));
x2 = round(max(left, min(left + imgWidth,
x1 + abs(y2 - y1) * aspectRatio * (x2 > x1 || -1))));
y2 = round(y2);
}
}
function doResize() {
x1 = min(x1, left + imgWidth);
y1 = min(y1, top + imgHeight);
if (abs(x2 - x1) < minWidth) {
x2 = x1 - minWidth * (x2 < x1 || -1);
if (x2 < left)
x1 = left + minWidth;
else if (x2 > left + imgWidth)
x1 = left + imgWidth - minWidth;
}
if (abs(y2 - y1) < minHeight) {
y2 = y1 - minHeight * (y2 < y1 || -1);
if (y2 < top)
y1 = top + minHeight;
else if (y2 > top + imgHeight)
y1 = top + imgHeight - minHeight;
}
x2 = max(left, min(x2, left + imgWidth));
y2 = max(top, min(y2, top + imgHeight));
fixAspectRatio(abs(x2 - x1) < abs(y2 - y1) * aspectRatio);
if (abs(x2 - x1) > maxWidth) {
x2 = x1 - maxWidth * (x2 < x1 || -1);
fixAspectRatio();
}
if (abs(y2 - y1) > maxHeight) {
y2 = y1 - maxHeight * (y2 < y1 || -1);
fixAspectRatio(true);
}
selection = { x1: selX(min(x1, x2)), x2: selX(max(x1, x2)),
y1: selY(min(y1, y2)), y2: selY(max(y1, y2)),
width: abs(x2 - x1), height: abs(y2 - y1) };
update();
options.onSelectChange(img, getSelection());
}
function selectingMouseMove(event) {
x2 = /w|e|^$/.test(resize) || aspectRatio ? evX(event) : viewX(selection.x2);
y2 = /n|s|^$/.test(resize) || aspectRatio ? evY(event) : viewY(selection.y2);
doResize();
return false;
}
function doMove(newX1, newY1) {
x2 = (x1 = newX1) + selection.width;
y2 = (y1 = newY1) + selection.height;
$.extend(selection, { x1: selX(x1), y1: selY(y1), x2: selX(x2),
y2: selY(y2) });
update();
options.onSelectChange(img, getSelection());
}
function movingMouseMove(event) {
x1 = max(left, min(startX + evX(event), left + imgWidth - selection.width));
y1 = max(top, min(startY + evY(event), top + imgHeight - selection.height));
doMove(x1, y1);
event.preventDefault();
return false;
}
function startSelection() {
$(document).unbind('mousemove', startSelection);
adjust();
x2 = x1;
y2 = y1;
doResize();
resize = '';
if (!$outer.is(':visible'))
$box.add($outer).hide().fadeIn(options.fadeSpeed||0);
shown = true;
$(document).unbind('mouseup', cancelSelection)
.mousemove(selectingMouseMove).one('mouseup', docMouseUp);
$box.unbind('mousemove', areaMouseMove);
options.onSelectStart(img, getSelection());
}
function cancelSelection() {
$(document).unbind('mousemove', startSelection)
.unbind('mouseup', cancelSelection);
hide($box.add($outer));
setSelection(selX(x1), selY(y1), selX(x1), selY(y1));
if (!(this instanceof $.imgAreaSelect)) {
options.onSelectChange(img, getSelection());
options.onSelectEnd(img, getSelection());
}
}
function imgMouseDown(event) {
if (event.which != 1 || $outer.is(':animated')) return false;
adjust();
startX = x1 = evX(event);
startY = y1 = evY(event);
$(document).mousemove(startSelection).mouseup(cancelSelection);
return false;
}
function windowResize() {
doUpdate(false);
}
function imgLoad() {
imgLoaded = true;
setOptions(options = $.extend({
classPrefix: 'imgareaselect',
movable: true,
parent: 'body',
resizable: true,
resizeMargin: 10,
onInit: function () {},
onSelectStart: function () {},
onSelectChange: function () {},
onSelectEnd: function () {}
}, options));
$box.add($outer).css({ visibility: '' });
if (options.show) {
shown = true;
adjust();
update();
$box.add($outer).hide().fadeIn(options.fadeSpeed||0);
}
setTimeout(function () { options.onInit(img, getSelection()); }, 0);
}
var docKeyPress = function(event) {
var k = options.keys, d, t, key = event.keyCode;
d = !isNaN(k.alt) && (event.altKey || event.originalEvent.altKey) ? k.alt :
!isNaN(k.ctrl) && event.ctrlKey ? k.ctrl :
!isNaN(k.shift) && event.shiftKey ? k.shift :
!isNaN(k.arrows) ? k.arrows : 10;
if (k.arrows == 'resize' || (k.shift == 'resize' && event.shiftKey) ||
(k.ctrl == 'resize' && event.ctrlKey) ||
(k.alt == 'resize' && (event.altKey || event.originalEvent.altKey)))
{
switch (key) {
case 37:
d = -d;
case 39:
t = max(x1, x2);
x1 = min(x1, x2);
x2 = max(t + d, x1);
fixAspectRatio();
break;
case 38:
d = -d;
case 40:
t = max(y1, y2);
y1 = min(y1, y2);
y2 = max(t + d, y1);
fixAspectRatio(true);
break;
default:
return;
}
doResize();
}
else {
x1 = min(x1, x2);
y1 = min(y1, y2);
switch (key) {
case 37:
doMove(max(x1 - d, left), y1);
break;
case 38:
doMove(x1, max(y1 - d, top));
break;
case 39:
doMove(x1 + min(d, imgWidth - selX(x2)), y1);
break;
case 40:
doMove(x1, y1 + min(d, imgHeight - selY(y2)));
break;
default:
return;
}
}
return false;
};
function styleOptions($elem, props) {
for (var option in props)
if (options[option] !== undefined)
$elem.css(props[option], options[option]);
}
function setOptions(newOptions) {
if (newOptions.parent)
($parent = $(newOptions.parent)).append($box.add($outer));
$.extend(options, newOptions);
adjust();
if (newOptions.handles != null) {
$handles.remove();
$handles = $([]);
i = newOptions.handles ? newOptions.handles == 'corners' ? 4 : 8 : 0;
while (i--)
$handles = $handles.add(div());
$handles.addClass(options.classPrefix + '-handle').css({
position: 'absolute',
fontSize: 0,
zIndex: zIndex + 1 || 1
});
if (!parseInt($handles.css('width')) >= 0)
$handles.width(5).height(5);
if (o = options.borderWidth)
$handles.css({ borderWidth: o, borderStyle: 'solid' });
styleOptions($handles, { borderColor1: 'border-color',
borderColor2: 'background-color',
borderOpacity: 'opacity' });
}
scaleX = options.imageWidth / imgWidth || 1;
scaleY = options.imageHeight / imgHeight || 1;
if (newOptions.x1 != null) {
setSelection(newOptions.x1, newOptions.y1, newOptions.x2,
newOptions.y2);
newOptions.show = !newOptions.hide;
}
if (newOptions.keys)
options.keys = $.extend({ shift: 1, ctrl: 'resize' },
newOptions.keys);
$outer.addClass(options.classPrefix + '-outer');
$area.addClass(options.classPrefix + '-selection');
for (i = 0; i++ < 4;)
$($border[i-1]).addClass(options.classPrefix + '-border' + i);
styleOptions($area, { selectionColor: 'background-color',
selectionOpacity: 'opacity' });
styleOptions($border, { borderOpacity: 'opacity',
borderWidth: 'border-width' });
styleOptions($outer, { outerColor: 'background-color',
outerOpacity: 'opacity' });
if (o = options.borderColor1)
$($border[0]).css({ borderStyle: 'solid', borderColor: o });
if (o = options.borderColor2)
$($border[1]).css({ borderStyle: 'dashed', borderColor: o });
$box.append($area.add($border).add($areaOpera)).append($handles);
if (msie) {
if (o = ($outer.css('filter')||'').match(/opacity=(\d+)/))
$outer.css('opacity', o[1]/100);
if (o = ($border.css('filter')||'').match(/opacity=(\d+)/))
$border.css('opacity', o[1]/100);
}
if (newOptions.hide)
hide($box.add($outer));
else if (newOptions.show && imgLoaded) {
shown = true;
$box.add($outer).fadeIn(options.fadeSpeed||0);
doUpdate();
}
aspectRatio = (d = (options.aspectRatio || '').split(/:/))[0] / d[1];
$img.add($outer).unbind('mousedown', imgMouseDown);
if (options.disable || options.enable === false) {
$box.unbind('mousemove', areaMouseMove).unbind('mousedown', areaMouseDown);
$(window).unbind('resize', windowResize);
}
else {
if (options.enable || options.disable === false) {
if (options.resizable || options.movable)
$box.mousemove(areaMouseMove).mousedown(areaMouseDown);
$(window).resize(windowResize);
}
if (!options.persistent)
$img.add($outer).mousedown(imgMouseDown);
}
options.enable = options.disable = undefined;
}
this.remove = function () {
setOptions({ disable: true });
$box.add($outer).remove();
};
this.getOptions = function () { return options; };
this.setOptions = setOptions;
this.getSelection = getSelection;
this.setSelection = setSelection;
this.cancelSelection = cancelSelection;
this.update = doUpdate;
var msie = (/msie ([\w.]+)/i.exec(ua)||[])[1],
opera = /opera/i.test(ua),
safari = /webkit/i.test(ua) && !/chrome/i.test(ua);
$p = $img;
while ($p.length) {
zIndex = max(zIndex,
!isNaN($p.css('z-index')) ? $p.css('z-index') : zIndex);
if ($p.css('position') == 'fixed')
position = 'fixed';
$p = $p.parent(':not(body)');
}
zIndex = options.zIndex || zIndex;
if (msie)
$img.attr('unselectable', 'on');
$.imgAreaSelect.keyPress = msie || safari ? 'keydown' : 'keypress';
if (opera)
$areaOpera = div().css({ width: '100%', height: '100%',
position: 'absolute', zIndex: zIndex + 2 || 2 });
$box.add($outer).css({ visibility: 'hidden', position: position,
overflow: 'hidden', zIndex: zIndex || '0' });
$box.css({ zIndex: zIndex + 2 || 2 });
$area.add($border).css({ position: 'absolute', fontSize: 0 });
img.complete || img.readyState == 'complete' || !$img.is('img') ?
imgLoad() : $img.one('load', imgLoad);
if (!imgLoaded && msie && msie >= 7)
img.src = img.src;
};
$.fn.imgAreaSelect = function (options) {
options = options || {};
this.each(function () {
if ($(this).data('imgAreaSelect')) {
if (options.remove) {
$(this).data('imgAreaSelect').remove();
$(this).removeData('imgAreaSelect');
}
else
$(this).data('imgAreaSelect').setOptions(options);
}
else if (!options.remove) {
if (options.enable === undefined && options.disable === undefined)
options.enable = true;
$(this).data('imgAreaSelect', new $.imgAreaSelect(this, options));
}
});
if (options.instance)
return $(this).data('imgAreaSelect');
return this;
};
})(jQuery);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -72,7 +72,7 @@ foreach ($this->DS as $KEY=>$VAL) {
$def[$defcnt] .= rrd::area("ag","#$green");
$def[$defcnt] .= rrd::area("ay","#$yellow");
$def[$defcnt] .= rrd::area("ar","#$red");
$def[$defcnt] .= rrd::line1("fullscans","#000000", "Full table sacns");
$def[$defcnt] .= rrd::line1("fullscans","#000000", "Full table scans");
$def[$defcnt] .= rrd::gprint("fullscans",array("MAX", "AVERAGE", "LAST"),"%3.2lf");
$defcnt++;
}
@ -359,6 +359,14 @@ foreach ($this->DS as $KEY=>$VAL) {
$defcnt++;
}
if(preg_match('/^sql_runtime$/', $VAL['NAME'])) {
$ds_name[$defcnt] = "SQL runtime";
$opt[$defcnt] = "--vertical-label \"Seconds\" --title \"Execution time of the SQL statement\" ";
$def[$defcnt] = "";
$def[$defcnt] .= rrd::def("runtime",$VAL['RRDFILE'],$VAL['DS'],"AVERAGE:reduce=LAST") ;
$def[$defcnt] .= rrd::area("runtime","#111111");
$def[$defcnt] .= rrd::gprint("runtime",array("LAST", "MAX", "AVERAGE"),"%3.2lf Seconds") ;
$defcnt++;
}
}
?>