You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by jf...@apache.org on 2019/01/31 15:59:11 UTC

[vcl] branch develop updated: VCL-1109 - date duplicated on statistic graph labels for day after daylight saving time rolls back

This is an automated email from the ASF dual-hosted git repository.

jfthomps pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/vcl.git


The following commit(s) were added to refs/heads/develop by this push:
     new cc87c75  VCL-1109 - date duplicated on statistic graph labels for day after daylight saving time rolls back
cc87c75 is described below

commit cc87c75751764937284d869d929ed9714739fa2b
Author: Josh Thompson <jf...@ncsu.edu>
AuthorDate: Thu Jan 31 10:53:07 2019 -0500

    VCL-1109 - date duplicated on statistic graph labels for day after daylight saving time rolls back
    
    The fix mentioned in VCL-1109 of just adding a value to the label doesn't really fix the underlying problem and give incorrect values on the graphs. A better fix was to change the timezone to UTC before doing any date work so that DST isn't used.
    
    statistics.php: modified getStatGraphDayData, getStatGraphDayConUsersData, getStatGraphConBladeUserData, and getStatGraphConVMUserData: added a call at the beginning of each function to get the current timezone, then set the timezone to UTC; added a call before any returns in each function that sets the timezone back to was was retreived at the beginning of the function
---
 web/.ht-inc/statistics.php | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/web/.ht-inc/statistics.php b/web/.ht-inc/statistics.php
index 4127fe1..cd85fda 100644
--- a/web/.ht-inc/statistics.php
+++ b/web/.ht-inc/statistics.php
@@ -665,6 +665,8 @@ function AJgetStatData() {
 ///
 ////////////////////////////////////////////////////////////////////////////////
 function getStatGraphDayData($start, $end, $affilid, $mode, $provid) {
+	$tz = date_default_timezone_get();
+	date_default_timezone_set('UTC');
 	$startunix = datetimeToUnix($start . " 00:00:00");
 	$endunix = datetimeToUnix($end . " 23:59:59");
 
@@ -749,6 +751,7 @@ function getStatGraphDayData($start, $end, $affilid, $mode, $provid) {
 	}
 	if(count($addcache))
 		addToStatGraphCache('totalres', $addcache, $affilid, $provid);
+	date_default_timezone_set($tz);
 	return($data);
 }
 
@@ -920,6 +923,8 @@ function statHourFormatX($val) {
 ///
 ////////////////////////////////////////////////////////////////////////////////
 function getStatGraphDayConUsersData($start, $end, $affilid, $mode, $provid) {
+	$tz = date_default_timezone_get();
+	date_default_timezone_set('UTC');
 	$startdt = $start . " 00:00:00";
 	$enddt = $end . " 23:59:59";
 	$startunix = datetimeToUnix($startdt);
@@ -955,6 +960,7 @@ function getStatGraphDayConUsersData($start, $end, $affilid, $mode, $provid) {
 		$cachepts[$row['statdate']] = $row['value'];
 	if((count($cachepts) + 31) < $daycnt) {
 		$data = array('nodata' => i('(too much computational time required to generate this graph)'));
+		date_default_timezone_set($tz);
 		return $data;
 	}
 	for($daystart = $startunix; $daystart < $endunix; $daystart += SECINDAY) {
@@ -1038,6 +1044,7 @@ function getStatGraphDayConUsersData($start, $end, $affilid, $mode, $provid) {
 	}
 	if(count($addcache))
 		addToStatGraphCache('concurres', $addcache, $affilid, $provid);
+	date_default_timezone_set($tz);
 	return($data);
 }
 
@@ -1064,6 +1071,8 @@ function getStatGraphDayConUsersData($start, $end, $affilid, $mode, $provid) {
 ///
 ////////////////////////////////////////////////////////////////////////////////
 function getStatGraphConBladeUserData($start, $end, $affilid, $mode, $provid) {
+	$tz = date_default_timezone_get();
+	date_default_timezone_set('UTC');
 	$startdt = $start . " 00:00:00";
 	$enddt = $end . " 23:59:59";
 	$startunix = datetimeToUnix($startdt);
@@ -1099,6 +1108,7 @@ function getStatGraphConBladeUserData($start, $end, $affilid, $mode, $provid) {
 		$cachepts[$row['statdate']] = $row['value'];
 	if((count($cachepts) + 31) < $daycnt) {
 		$data = array('nodata' => i('(too much computational time required to generate this graph)'));
+		date_default_timezone_set($tz);
 		return $data;
 	}
 	for($daystart = $startunix; $daystart < $endunix; $daystart += SECINDAY) {
@@ -1216,6 +1226,7 @@ function getStatGraphConBladeUserData($start, $end, $affilid, $mode, $provid) {
 	}
 	if(count($addcache))
 		addToStatGraphCache('concurblade', $addcache, $affilid, $provid);
+	date_default_timezone_set($tz);
 	return($data);
 }
 
@@ -1242,6 +1253,8 @@ function getStatGraphConBladeUserData($start, $end, $affilid, $mode, $provid) {
 ///
 ////////////////////////////////////////////////////////////////////////////////
 function getStatGraphConVMUserData($start, $end, $affilid, $mode, $provid) {
+	$tz = date_default_timezone_get();
+	date_default_timezone_set('UTC');
 	$startdt = $start . " 00:00:00";
 	$enddt = $end . " 23:59:59";
 	$startunix = datetimeToUnix($startdt);
@@ -1277,6 +1290,7 @@ function getStatGraphConVMUserData($start, $end, $affilid, $mode, $provid) {
 		$cachepts[$row['statdate']] = $row['value'];
 	if((count($cachepts) + 31) < $daycnt) {
 		$data = array('nodata' => i('(too much computational time required to generate this graph)'));
+		date_default_timezone_set($tz);
 		return $data;
 	}
 	for($daystart = $startunix; $daystart < $endunix; $daystart += SECINDAY) {
@@ -1378,6 +1392,7 @@ function getStatGraphConVMUserData($start, $end, $affilid, $mode, $provid) {
 	}
 	if(count($addcache))
 		addToStatGraphCache('concurvm', $addcache, $affilid, $provid);
+	date_default_timezone_set($tz);
 	return($data);
 }