Пример #1
0
 /**
  * Class process method wnich is used to execute this component.
  */
 public function process()
 {
     $sCurrentTimeZone = Phpfox::getTimeZone() == '0' ? '' : ' ' . (substr(Phpfox::getTimeZone(), 0, 1) == '-' ? Phpfox::getTimeZone() : '+' . Phpfox::getTimeZone());
     if (substr(Phpfox::getTimeZone(), 0, 1) == 'z' && PHPFOX_USE_DATE_TIME) {
         $aTimeZones = Phpfox::getService('core')->getTimeZones();
         if (isset($aTimeZones[Phpfox::getTimeZone()])) {
             $oDTZ = new DateTime('now', new DateTimeZone($aTimeZones[Phpfox::getTimeZone()]));
             $sCurrentTimeZone = $oDTZ->getOffset() / 3600;
         }
     }
     $this->template()->assign(array('sCurrentSiteTime' => Phpfox::getTime(Phpfox::getParam('forum.global_forum_timezone'), PHPFOX_TIME), 'sCurrentTimeZone' => $sCurrentTimeZone));
 }
Пример #2
0
 /**
  * Gets a time stamp, Works similar to PHP date() function.
  * We also take into account locale and time zone settings.
  *
  * @see date()
  * @param string $sStamp Time stamp format.
  * @param int $iTime UNIX epoch time stamp.
  * @return string Time stamp value based on locale.
  */
 public static function getTime($sStamp = null, $iTime = PHPFOX_TIME, $bTimeZone = true)
 {
     static $sUserOffSet;
     if ($bTimeZone) {
         if (!$sUserOffSet) {
             $sUserOffSet = Phpfox::getTimeZone();
         }
         if (!preg_match('/z[0-9]+/i', $sUserOffSet, $aMatch)) {
             // try to find it in the cache
             $aTZ = Phpfox::getService('core')->getTimeZones();
             $sTz = array_search($sUserOffSet, $aTZ);
             if ($sTz !== false) {
                 $sUserOffSet = $sTz;
             }
         }
         if (substr($sUserOffSet, 0, 1) == 'z' && PHPFOX_USE_DATE_TIME) {
             // we are using DateTime
             // get the offset to use based on the time zone index code
             if (!isset($aTZ)) {
                 $aTZ = Phpfox::getService('core')->getTimeZones();
             }
             if (isset($aTZ[$sUserOffSet])) {
                 $oTZ = new DateTimeZone($aTZ[$sUserOffSet]);
                 $oDateTime = new DateTime(null, $oTZ);
                 $oDateTime->setTimestamp($iTime);
                 $sUserOffSet = $aTZ[$sUserOffSet];
                 if ($sStamp !== null) {
                     $iNewTime = $oDateTime->format($sStamp);
                     $bSet = true;
                 }
             }
         }
         if ($sStamp === null) {
             return !empty($sUserOffSet) ? substr($sUserOffSet, 0, 1) == '-' ? $iTime - substr($sUserOffSet, 1) * 3600 : $sUserOffSet * 3600 + $iTime : $iTime;
         } elseif (!isset($bSet)) {
             $iNewTime = !empty($sUserOffSet) ? date($sStamp, substr($sUserOffSet, 0, 1) == '-' ? $iTime - substr($sUserOffSet, 1) * 3600 : $sUserOffSet * 3600 + $iTime) : date($sStamp, $iTime);
         }
     } else {
         $iNewTime = date($sStamp, $iTime);
     }
     $aFind = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
     $aReplace = array(Phpfox::getPhrase('core.monday'), Phpfox::getPhrase('core.tuesday'), Phpfox::getPhrase('core.wednesday'), Phpfox::getPhrase('core.thursday'), Phpfox::getPhrase('core.friday'), Phpfox::getPhrase('core.saturday'), Phpfox::getPhrase('core.sunday'), Phpfox::getPhrase('core.january'), Phpfox::getPhrase('core.february'), Phpfox::getPhrase('core.march'), Phpfox::getPhrase('core.april'), Phpfox::getPhrase('core.may'), Phpfox::getPhrase('core.june'), Phpfox::getPhrase('core.july'), Phpfox::getPhrase('core.august'), Phpfox::getPhrase('core.september'), Phpfox::getPhrase('core.october'), Phpfox::getPhrase('core.november'), Phpfox::getPhrase('core.december'));
     $iNewTime = str_replace('Mon', 'Monday', $iNewTime);
     $iNewTime = str_replace('Tue', 'Tuesday', $iNewTime);
     $iNewTime = str_replace('Wed', 'Wednesday', $iNewTime);
     $iNewTime = str_replace('Thu', 'Thursday', $iNewTime);
     $iNewTime = str_replace('Fri', 'Friday', $iNewTime);
     $iNewTime = str_replace('Sat', 'Saturday', $iNewTime);
     $iNewTime = str_replace('Sun', 'Sunday', $iNewTime);
     $iNewTime = str_replace('Jan', 'January', $iNewTime);
     $iNewTime = str_replace('Feb', 'February', $iNewTime);
     $iNewTime = str_replace('Mar', 'March', $iNewTime);
     $iNewTime = str_replace('Apr', 'April', $iNewTime);
     $iNewTime = str_replace('May', 'May', $iNewTime);
     $iNewTime = str_replace('Jun', 'June', $iNewTime);
     $iNewTime = str_replace('Jul', 'July', $iNewTime);
     $iNewTime = str_replace('Aug', 'August', $iNewTime);
     $iNewTime = str_replace('Sep', 'September', $iNewTime);
     $iNewTime = str_replace('Oct', 'October', $iNewTime);
     $iNewTime = str_replace('Nov', 'November', $iNewTime);
     $iNewTime = str_replace('Dec', 'December', $iNewTime);
     $iNewTime = str_replace('Mondayday', 'Monday', $iNewTime);
     $iNewTime = str_replace('Tuesdaysday', 'Tuesday', $iNewTime);
     $iNewTime = str_replace('Wednesdaynesday', 'Wednesday', $iNewTime);
     $iNewTime = str_replace('Thursdayrsday', 'Thursday', $iNewTime);
     $iNewTime = str_replace('Fridayday', 'Friday', $iNewTime);
     $iNewTime = str_replace('Saturdayurday', 'Saturday', $iNewTime);
     $iNewTime = str_replace('Sundayday', 'Sunday', $iNewTime);
     $iNewTime = str_replace('Januaryuary', 'January', $iNewTime);
     $iNewTime = str_replace('Februaryruary', 'February', $iNewTime);
     $iNewTime = str_replace('Marchch', 'March', $iNewTime);
     $iNewTime = str_replace('Aprilil', 'April', $iNewTime);
     $iNewTime = str_replace('Junee', 'June', $iNewTime);
     $iNewTime = str_replace('Julyy', 'July', $iNewTime);
     $iNewTime = str_replace('Augustust', 'August', $iNewTime);
     $iNewTime = str_replace('Septembertember', 'September', $iNewTime);
     $iNewTime = str_replace('Octoberober', 'October', $iNewTime);
     $iNewTime = str_replace('Novemberember', 'November', $iNewTime);
     $iNewTime = str_replace('Decemberember', 'December', $iNewTime);
     $iNewTime = str_replace($aFind, $aReplace, $iNewTime);
     $iNewTime = str_replace('PM', Phpfox::getPhrase('core.pm'), $iNewTime);
     $iNewTime = str_replace('AM', Phpfox::getPhrase('core.am'), $iNewTime);
     return $iNewTime;
 }
Пример #3
0
	/**
	 * Gets the offset from the current timezone being used to GMT.
	 *
	 * @param int $iTime Current time stamp to check
	 * @return int Returns GMT offset
	 */
	public function getGmtOffset($iTime)
	{		
		return Phpfox::getTimeZone();
	}
<?php 
    echo Phpfox::getPhrase('user.time_zone');
    ?>
:
			</div>
			<div class="table_right">
				<select name="val[time_zone]">
<?php 
    if (count((array) $this->_aVars['aTimeZones'])) {
        foreach ((array) $this->_aVars['aTimeZones'] as $this->_aVars['sTimeZoneKey'] => $this->_aVars['sTimeZone']) {
            ?>
					<option value="<?php 
            echo $this->_aVars['sTimeZoneKey'];
            ?>
"<?php 
            if (Phpfox::getTimeZone() == $this->_aVars['sTimeZoneKey'] && !isset($this->_aVars['iTimeZonePosted']) || isset($this->_aVars['iTimeZonePosted']) && $this->_aVars['iTimeZonePosted'] == $this->_aVars['sTimeZoneKey'] || Phpfox::getParam('core.default_time_zone_offset') == $this->_aVars['sTimeZoneKey']) {
                ?>
 selected="selected"<?php 
            }
            ?>
><?php 
            echo $this->_aVars['sTimeZone'];
            ?>
</option>
<?php 
        }
    }
    ?>
				</select>
			</div>
			<div class="clear"></div>