$ts = time();
wfRunHooks( 'ParserGetVariableValueTs', array( &$this, &$ts ) );
- # Use the time zone
- global $wgLocaltimezone;
- if ( isset( $wgLocaltimezone ) ) {
- $oldtz = getenv( 'TZ' );
- putenv( 'TZ='.$wgLocaltimezone );
- }
- $timestamp = date( 'YmdHis', $ts );
- $month = date( 'm', $ts );
- $monthname = date( 'n', $ts );
- $day = date( 'j', $ts );
- $day2 = date( 'd', $ts );
- $dayofweek = date( 'w', $ts );
- $week = date( 'W', $ts );
- $year = date( 'Y', $ts );
- if ( isset( $wgLocaltimezone ) ) {
- putenv( 'TZ='.$oldtz );
- }
-
switch ( $index ) {
case MAG_CURRENTMONTH:
- return $varCache[$index] = $wgContLang->formatNum( $month );
+ return $varCache[$index] = $wgContLang->formatNum( date( 'm', $ts ) );
case MAG_CURRENTMONTHNAME:
- return $varCache[$index] = $wgContLang->getMonthName( $monthname );
+ return $varCache[$index] = $wgContLang->getMonthName( date( 'n', $ts ) );
case MAG_CURRENTMONTHNAMEGEN:
- return $varCache[$index] = $wgContLang->getMonthNameGen( $monthname );
+ return $varCache[$index] = $wgContLang->getMonthNameGen( date( 'n', $ts ) );
case MAG_CURRENTMONTHABBREV:
- return $varCache[$index] = $wgContLang->getMonthAbbreviation( $monthname );
+ return $varCache[$index] = $wgContLang->getMonthAbbreviation( date( 'n', $ts ) );
case MAG_CURRENTDAY:
- return $varCache[$index] = $wgContLang->formatNum( $day );
+ return $varCache[$index] = $wgContLang->formatNum( date( 'j', $ts ) );
case MAG_CURRENTDAY2:
- return $varCache[$index] = $wgContLang->formatNum( $day2 );
+ return $varCache[$index] = $wgContLang->formatNum( date( 'd', $ts ) );
case MAG_PAGENAME:
return $this->mTitle->getText();
case MAG_PAGENAMEE:
case MAG_SUBJECTSPACEE:
return( wfUrlencode( $this->mTitle->getSubjectNsText() ) );
case MAG_CURRENTDAYNAME:
- return $varCache[$index] = $wgContLang->getWeekdayName( $dayofweek + 1 );
+ return $varCache[$index] = $wgContLang->getWeekdayName( date( 'w', $ts ) + 1 );
case MAG_CURRENTYEAR:
- return $varCache[$index] = $wgContLang->formatNum( $year, true );
+ return $varCache[$index] = $wgContLang->formatNum( date( 'Y', $ts ), true );
case MAG_CURRENTTIME:
- return $varCache[$index] = $wgContLang->time( $timestamp, false, false );
+ return $varCache[$index] = $wgContLang->time( wfTimestamp( TS_MW, $ts ), false, false );
case MAG_CURRENTWEEK:
// @bug 4594 PHP5 has it zero padded, PHP4 does not, cast to
// int to remove the padding
- return $varCache[$index] = $wgContLang->formatNum( (int)$week );
+ return $varCache[$index] = $wgContLang->formatNum( (int)date( 'W', $ts ) );
case MAG_CURRENTDOW:
- return $varCache[$index] = $wgContLang->formatNum( $dayofweek );
+ return $varCache[$index] = $wgContLang->formatNum( date( 'w', $ts ) );
case MAG_NUMBEROFARTICLES:
return $varCache[$index] = $wgContLang->formatNum( wfNumberOfArticles() );
case MAG_NUMBEROFFILES:
case MAG_NUMBEROFADMINS:
return $varCache[$index] = $wgContLang->formatNum( wfNumberOfAdmins() );
case MAG_CURRENTTIMESTAMP:
- return $varCache[$index] = $timestamp;
+ return $varCache[$index] = wfTimestampNow();
case MAG_CURRENTVERSION:
global $wgVersion;
return $wgVersion;