Fix #5191: $wgLocalTZoffset rounds time zones half an hour ahead of UTC
This commit is contained in:
parent
f64d87b12a
commit
916fab6eb5
3 changed files with 12 additions and 4 deletions
4
UPGRADE
4
UPGRADE
|
|
@ -73,6 +73,10 @@ procedure, and especially after upgrading; check that page views and edits work
|
|||
normally and that special pages continue to function, etc. and correct errors
|
||||
and quirks which reveal themselves.
|
||||
|
||||
== Upgrading from 1.6 wikis ==
|
||||
|
||||
$wgLocalTZoffset was in hours, it is now using minutes.
|
||||
|
||||
== Upgrading from pre-1.5 wikis ==
|
||||
|
||||
Major changes have been made to the schema from 1.4.x. The updater
|
||||
|
|
|
|||
|
|
@ -1654,21 +1654,21 @@ $wgBrowserBlackList = array(
|
|||
$wgLocaltimezone = null;
|
||||
|
||||
/**
|
||||
* Set an offset from UTC in hours to use for the default timezone setting
|
||||
* Set an offset from UTC in minutes to use for the default timezone setting
|
||||
* for anonymous users and new user accounts.
|
||||
*
|
||||
* This setting is used for most date/time displays in the software, and is
|
||||
* overrideable in user preferences. It is *not* used for signature timestamps.
|
||||
*
|
||||
* You can set it to match the configured server timezone like this:
|
||||
* $wgLocalTZoffset = date("Z") / 3600;
|
||||
* $wgLocalTZoffset = date("Z") / 60;
|
||||
*
|
||||
* If your server is not configured for the timezone you want, you can set
|
||||
* this in conjunction with the signature timezone and override the TZ
|
||||
* environment variable like so:
|
||||
* $wgLocaltimezone="Europe/Berlin";
|
||||
* putenv("TZ=$wgLocaltimezone");
|
||||
* $wgLocalTZoffset = date("Z") / 3600;
|
||||
* $wgLocalTZoffset = date("Z") / 60;
|
||||
*
|
||||
* Leave at NULL to show times in universal time (UTC/GMT).
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -527,7 +527,11 @@ class Language {
|
|||
$hrDiff = 0;
|
||||
|
||||
if ( $tz === '' ) {
|
||||
$hrDiff = isset( $wgLocalTZoffset ) ? $wgLocalTZoffset : 0;
|
||||
# Global offset in minutes.
|
||||
if( isset($wgLocalTZoffset) ) {
|
||||
$hrDiff = $wgLocalTZoffset % 60;
|
||||
$minDiff = $wgLocalTZoffset - ($hrDiff * 60);
|
||||
}
|
||||
} elseif ( strpos( $tz, ':' ) !== false ) {
|
||||
$tzArray = explode( ':', $tz );
|
||||
$hrDiff = intval($tzArray[0]);
|
||||
|
|
|
|||
Loading…
Reference in a new issue