Upgrade jpgrah to 4.3.4
This commit is contained in:
parent
7c3999c5cd
commit
b5868f05f6
72 changed files with 19157 additions and 10327 deletions
|
|
@ -1,49 +1,49 @@
|
|||
<?php
|
||||
/*=======================================================================
|
||||
// File: JPGRAPH_DATE.PHP
|
||||
// Description: Classes to handle Date scaling
|
||||
// Created: 2005-05-02
|
||||
// Ver: $Id: jpgraph_date.php 912 2007-09-26 21:00:35Z ljp $
|
||||
//
|
||||
// Copyright (c) Aditus Consulting. All rights reserved.
|
||||
//========================================================================
|
||||
*/
|
||||
// File: JPGRAPH_DATE.PHP
|
||||
// Description: Classes to handle Date scaling
|
||||
// Created: 2005-05-02
|
||||
// Ver: $Id: jpgraph_date.php 1106 2009-02-22 20:16:35Z ljp $
|
||||
//
|
||||
// Copyright (c) Asial Corporation. All rights reserved.
|
||||
//========================================================================
|
||||
*/
|
||||
|
||||
DEFINE('HOURADJ_1', 0+30);
|
||||
DEFINE('HOURADJ_2', 1+30);
|
||||
DEFINE('HOURADJ_3', 2+30);
|
||||
DEFINE('HOURADJ_4', 3+30);
|
||||
DEFINE('HOURADJ_6', 4+30);
|
||||
DEFINE('HOURADJ_12', 5+30);
|
||||
define('HOURADJ_1', 0+30);
|
||||
define('HOURADJ_2', 1+30);
|
||||
define('HOURADJ_3', 2+30);
|
||||
define('HOURADJ_4', 3+30);
|
||||
define('HOURADJ_6', 4+30);
|
||||
define('HOURADJ_12', 5+30);
|
||||
|
||||
DEFINE('MINADJ_1', 0+20);
|
||||
DEFINE('MINADJ_5', 1+20);
|
||||
DEFINE('MINADJ_10', 2+20);
|
||||
DEFINE('MINADJ_15', 3+20);
|
||||
DEFINE('MINADJ_30', 4+20);
|
||||
define('MINADJ_1', 0+20);
|
||||
define('MINADJ_5', 1+20);
|
||||
define('MINADJ_10', 2+20);
|
||||
define('MINADJ_15', 3+20);
|
||||
define('MINADJ_30', 4+20);
|
||||
|
||||
DEFINE('SECADJ_1', 0);
|
||||
DEFINE('SECADJ_5', 1);
|
||||
DEFINE('SECADJ_10', 2);
|
||||
DEFINE('SECADJ_15', 3);
|
||||
DEFINE('SECADJ_30', 4);
|
||||
define('SECADJ_1', 0);
|
||||
define('SECADJ_5', 1);
|
||||
define('SECADJ_10', 2);
|
||||
define('SECADJ_15', 3);
|
||||
define('SECADJ_30', 4);
|
||||
|
||||
|
||||
DEFINE('YEARADJ_1', 0+30);
|
||||
DEFINE('YEARADJ_2', 1+30);
|
||||
DEFINE('YEARADJ_5', 2+30);
|
||||
define('YEARADJ_1', 0+30);
|
||||
define('YEARADJ_2', 1+30);
|
||||
define('YEARADJ_5', 2+30);
|
||||
|
||||
DEFINE('MONTHADJ_1', 0+20);
|
||||
DEFINE('MONTHADJ_6', 1+20);
|
||||
define('MONTHADJ_1', 0+20);
|
||||
define('MONTHADJ_6', 1+20);
|
||||
|
||||
DEFINE('DAYADJ_1', 0);
|
||||
DEFINE('DAYADJ_WEEK', 1);
|
||||
DEFINE('DAYADJ_7', 1);
|
||||
define('DAYADJ_1', 0);
|
||||
define('DAYADJ_WEEK', 1);
|
||||
define('DAYADJ_7', 1);
|
||||
|
||||
DEFINE('SECPERYEAR', 31536000);
|
||||
DEFINE('SECPERDAY', 86400);
|
||||
DEFINE('SECPERHOUR', 3600);
|
||||
DEFINE('SECPERMIN', 60);
|
||||
define('SECPERYEAR', 31536000);
|
||||
define('SECPERDAY', 86400);
|
||||
define('SECPERHOUR', 3600);
|
||||
define('SECPERMIN', 60);
|
||||
|
||||
|
||||
class DateScale extends LinearScale
|
||||
|
|
@ -56,11 +56,11 @@ class DateScale extends LinearScale
|
|||
|
||||
//---------------
|
||||
// CONSTRUCTOR
|
||||
public function DateScale($aMin=0, $aMax=0, $aType='x')
|
||||
public function __construct($aMin=0, $aMax=0, $aType='x')
|
||||
{
|
||||
assert($aType=="x");
|
||||
assert($aMin<=$aMax);
|
||||
|
||||
|
||||
$this->type=$aType;
|
||||
$this->scale=array($aMin,$aMax);
|
||||
$this->world_size=$aMax-$aMin;
|
||||
|
|
@ -113,14 +113,14 @@ class DateScale extends LinearScale
|
|||
}
|
||||
} else {
|
||||
// Adjust to an even week boundary.
|
||||
$w = (int)date('w', $aTime); // Day of week 0=Sun, 6=Sat
|
||||
if (true) { // Adjust to start on Mon
|
||||
if ($w==0) {
|
||||
$w=6;
|
||||
} else {
|
||||
--$w;
|
||||
}
|
||||
}
|
||||
$w = (int)date('w', $aTime); // Day of week 0=Sun, 6=Sat
|
||||
if (true) { // Adjust to start on Mon
|
||||
if ($w==0) {
|
||||
$w=6;
|
||||
} else {
|
||||
--$w;
|
||||
}
|
||||
}
|
||||
if ($aRound == 0) {
|
||||
$d -= $w;
|
||||
} else {
|
||||
|
|
@ -256,73 +256,73 @@ class DateScale extends LinearScale
|
|||
{
|
||||
// Format of array
|
||||
// array ( Decision point, array( array( Major-scale-step-array ),
|
||||
// array( Minor-scale-step-array ),
|
||||
// array( 0=date-adjust, 1=time-adjust, adjustment-alignment) )
|
||||
// array( Minor-scale-step-array ),
|
||||
// array( 0=date-adjust, 1=time-adjust, adjustment-alignment) )
|
||||
//
|
||||
$scalePoints =
|
||||
array(
|
||||
/* Intervall larger than 10 years */
|
||||
SECPERYEAR*10,array(array(SECPERYEAR*5,SECPERYEAR*2),
|
||||
array(SECPERYEAR),
|
||||
array(0,YEARADJ_1, 0,YEARADJ_1) ),
|
||||
array(SECPERYEAR),
|
||||
array(0,YEARADJ_1, 0,YEARADJ_1) ),
|
||||
|
||||
/* Intervall larger than 2 years */
|
||||
SECPERYEAR*2,array(array(SECPERYEAR),array(SECPERYEAR),
|
||||
array(0,YEARADJ_1) ),
|
||||
array(0,YEARADJ_1) ),
|
||||
|
||||
/* Intervall larger than 90 days (approx 3 month) */
|
||||
SECPERDAY*90,array(array(SECPERDAY*30,SECPERDAY*14,SECPERDAY*7,SECPERDAY),
|
||||
array(SECPERDAY*5,SECPERDAY*7,SECPERDAY,SECPERDAY),
|
||||
array(0,MONTHADJ_1, 0,DAYADJ_WEEK, 0,DAYADJ_1, 0,DAYADJ_1)),
|
||||
array(SECPERDAY*5,SECPERDAY*7,SECPERDAY,SECPERDAY),
|
||||
array(0,MONTHADJ_1, 0,DAYADJ_WEEK, 0,DAYADJ_1, 0,DAYADJ_1)),
|
||||
|
||||
/* Intervall larger than 30 days (approx 1 month) */
|
||||
SECPERDAY*30,array(array(SECPERDAY*14,SECPERDAY*7,SECPERDAY*2, SECPERDAY),
|
||||
array(SECPERDAY,SECPERDAY,SECPERDAY,SECPERDAY),
|
||||
array(0,DAYADJ_WEEK, 0,DAYADJ_1, 0,DAYADJ_1, 0,DAYADJ_1)),
|
||||
array(SECPERDAY,SECPERDAY,SECPERDAY,SECPERDAY),
|
||||
array(0,DAYADJ_WEEK, 0,DAYADJ_1, 0,DAYADJ_1, 0,DAYADJ_1)),
|
||||
|
||||
/* Intervall larger than 7 days */
|
||||
SECPERDAY*7,array(array(SECPERDAY,SECPERHOUR*12,SECPERHOUR*6,SECPERHOUR*2),
|
||||
array(SECPERHOUR*6,SECPERHOUR*3,SECPERHOUR,SECPERHOUR),
|
||||
array(0,DAYADJ_1, 1,HOURADJ_12, 1,HOURADJ_6, 1,HOURADJ_1)),
|
||||
array(SECPERHOUR*6,SECPERHOUR*3,SECPERHOUR,SECPERHOUR),
|
||||
array(0,DAYADJ_1, 1,HOURADJ_12, 1,HOURADJ_6, 1,HOURADJ_1)),
|
||||
|
||||
/* Intervall larger than 1 day */
|
||||
SECPERDAY,array(array(SECPERDAY,SECPERHOUR*12,SECPERHOUR*6,SECPERHOUR*2,SECPERHOUR),
|
||||
array(SECPERHOUR*6,SECPERHOUR*2,SECPERHOUR,SECPERHOUR,SECPERHOUR),
|
||||
array(1,HOURADJ_12, 1,HOURADJ_6, 1,HOURADJ_1, 1,HOURADJ_1)),
|
||||
array(SECPERHOUR*6,SECPERHOUR*2,SECPERHOUR,SECPERHOUR,SECPERHOUR),
|
||||
array(1,HOURADJ_12, 1,HOURADJ_6, 1,HOURADJ_1, 1,HOURADJ_1)),
|
||||
|
||||
/* Intervall larger than 12 hours */
|
||||
SECPERHOUR*12,array(array(SECPERHOUR*2,SECPERHOUR,SECPERMIN*30,900,600),
|
||||
array(1800,1800,900,300,300),
|
||||
array(1,HOURADJ_1, 1,MINADJ_30, 1,MINADJ_15, 1,MINADJ_10, 1,MINADJ_5) ),
|
||||
array(1800,1800,900,300,300),
|
||||
array(1,HOURADJ_1, 1,MINADJ_30, 1,MINADJ_15, 1,MINADJ_10, 1,MINADJ_5) ),
|
||||
|
||||
/* Intervall larger than 2 hours */
|
||||
SECPERHOUR*2,array(array(SECPERHOUR,SECPERMIN*30,900,600,300),
|
||||
array(1800,900,300,120,60),
|
||||
array(1,HOURADJ_1, 1,MINADJ_30, 1,MINADJ_15, 1,MINADJ_10, 1,MINADJ_5) ),
|
||||
array(1800,900,300,120,60),
|
||||
array(1,HOURADJ_1, 1,MINADJ_30, 1,MINADJ_15, 1,MINADJ_10, 1,MINADJ_5) ),
|
||||
|
||||
/* Intervall larger than 1 hours */
|
||||
SECPERHOUR,array(array(SECPERMIN*30,900,600,300),array(900,300,120,60),
|
||||
array(1,MINADJ_30, 1,MINADJ_15, 1,MINADJ_10, 1,MINADJ_5) ),
|
||||
array(1,MINADJ_30, 1,MINADJ_15, 1,MINADJ_10, 1,MINADJ_5) ),
|
||||
|
||||
/* Intervall larger than 30 min */
|
||||
SECPERMIN*30,array(array(SECPERMIN*15,SECPERMIN*10,SECPERMIN*5,SECPERMIN),
|
||||
array(300,300,60,10),
|
||||
array(1,MINADJ_15, 1,MINADJ_10, 1,MINADJ_5, 1,MINADJ_1)),
|
||||
array(300,300,60,10),
|
||||
array(1,MINADJ_15, 1,MINADJ_10, 1,MINADJ_5, 1,MINADJ_1)),
|
||||
|
||||
/* Intervall larger than 1 min */
|
||||
SECPERMIN,array(array(SECPERMIN,15,10,5),
|
||||
array(15,5,2,1),
|
||||
array(1,MINADJ_1, 1,SECADJ_15, 1,SECADJ_10, 1,SECADJ_5)),
|
||||
array(15,5,2,1),
|
||||
array(1,MINADJ_1, 1,SECADJ_15, 1,SECADJ_10, 1,SECADJ_5)),
|
||||
|
||||
/* Intervall larger than 10 sec */
|
||||
10,array(array(5,2),
|
||||
array(1,1),
|
||||
array(1,SECADJ_5, 1,SECADJ_1)),
|
||||
array(1,1),
|
||||
array(1,SECADJ_5, 1,SECADJ_1)),
|
||||
|
||||
/* Intervall larger than 1 sec */
|
||||
1,array(array(1),
|
||||
array(1),
|
||||
array(1,SECADJ_1)),
|
||||
array(1),
|
||||
array(1,SECADJ_1)),
|
||||
);
|
||||
|
||||
$ns = count($scalePoints);
|
||||
|
|
@ -433,10 +433,16 @@ class DateScale extends LinearScale
|
|||
// identical to LinearScale::AutoScale
|
||||
if ($aStartTime == $aEndTime) {
|
||||
// Special case when we only have one data point.
|
||||
// Create a small artifical intervall to do the autoscaling
|
||||
// Create a small artificial interval to do the autoscaling
|
||||
$aStartTime -= 10;
|
||||
$aEndTime += 10;
|
||||
}
|
||||
if (abs($aEndTime - $aStartTime) <= 1) {
|
||||
// Special case when we only have one second.
|
||||
// Create a small artificial interval to do the autoscaling
|
||||
$aStartTime -= 1;
|
||||
$aEndTime += 1;
|
||||
}
|
||||
$done=false;
|
||||
$i=0;
|
||||
while (! $done && $i < 5) {
|
||||
|
|
@ -447,19 +453,19 @@ class DateScale extends LinearScale
|
|||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
if( 0 ) { // DEBUG
|
||||
echo " Start =".date("Y-m-d H:i:s",$aStartTime)."<br>";
|
||||
echo " End =".date("Y-m-d H:i:s",$aEndTime)."<br>";
|
||||
echo "Adj Start =".date("Y-m-d H:i:s",$adjstart)."<br>";
|
||||
echo "Adj End =".date("Y-m-d H:i:s",$adjend)."<p>";
|
||||
echo "Major = $maj s, ".floor($maj/60)."min, ".floor($maj/3600)."h, ".floor($maj/86400)."day<br>";
|
||||
echo "Min = $min s, ".floor($min/60)."min, ".floor($min/3600)."h, ".floor($min/86400)."day<br>";
|
||||
echo "Format=$format<p>";
|
||||
}
|
||||
*/
|
||||
|
||||
if( 0 ) { // DEBUG
|
||||
echo " Start =".date("Y-m-d H:i:s",$aStartTime)."<br>";
|
||||
echo " End =".date("Y-m-d H:i:s",$aEndTime)."<br>";
|
||||
echo "Adj Start =".date("Y-m-d H:i:s",$adjstart)."<br>";
|
||||
echo "Adj End =".date("Y-m-d H:i:s",$adjend)."<p>";
|
||||
echo "Major = $maj s, ".floor($maj/60)."min, ".floor($maj/3600)."h, ".floor($maj/86400)."day<br>";
|
||||
echo "Min = $min s, ".floor($min/60)."min, ".floor($min/3600)."h, ".floor($min/86400)."day<br>";
|
||||
echo "Format=$format<p>";
|
||||
}
|
||||
*/
|
||||
|
||||
if ($this->iStartTimeAlign !== false && $this->iStartAlign !== false) {
|
||||
JpGraphError::RaiseL(3001);
|
||||
//('It is only possible to use either SetDateAlign() or SetTimeAlign() but not both');
|
||||
|
|
@ -485,7 +491,7 @@ class DateScale extends LinearScale
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if ($this->iStartAlign !== false) {
|
||||
if ($this->iStartAlign >= 30) {
|
||||
$adjstart = $this->AdjStartDate($aStartTime, $this->iStartAlign-30);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue