41include_once(
'Services/Calendar/classes/class.ilTimeZoneException.php');
 
   73                        $this->timezone = $a_timezone;
 
   80                if(!self::$server_timezone)
 
   85                if(!self::$default_timezone)
 
   93                return array(
'timezone');
 
  132                if(isset(self::$instances[$a_tz]))
 
  134                        $instance = self::$instances[$a_tz];
 
  138                        $instance = self::$instances[$a_tz] = 
new ilTimeZone($a_tz);
 
  142                if(!array_key_exists($instance->getIdentifier(),self::$valid_tz))
 
  144                        if(!$instance->validateTZ())
 
  148                        self::$valid_tz[$instance->getIdentifier()] = 
true;
 
  170                        $this->log->write(__METHOD__.
': Unsupported timezone given: Timzone: '.$this->timezone);
 
  190                        $this->log->write(__METHOD__.
': Unsupported timezone given: Timzone: '.$this->timezone);
 
  222                if(self::$current_timezone == $a_timezone)
 
  224                        #$ilLog->write(__METHOD__.': Do not switch to active timezone: '.$a_timezone); 
  229                if(function_exists(
'date_default_timezone_set'))
 
  231                        if(!date_default_timezone_set($a_timezone))
 
  233                                $ilLog->write(__METHOD__.
': Invalid timezone given. Timezone: '.$a_timezone);
 
  236                        #$ilLog->write(__METHOD__.': Switched timezone to: '.$a_timezone); 
  237                        self::$current_timezone = $a_timezone;
 
  240                if(!putenv(
'TZ='.$a_timezone))
 
  242                        $ilLog->write(__METHOD__.
': Cannot set TZ environment variable. Please register TZ in php.ini (safe_mode_allowed_env_vars). Timezone');
 
  245                self::$current_timezone = $a_timezone;
 
  260                if(!self::$server_timezone)
 
  265                self::$default_timezone = $a_tz;
 
  291                if(strlen(self::$default_timezone))
 
  297                if(function_exists(
'date_default_timezone_get') and 
$tz = @date_default_timezone_get())
 
  299                        return self::$default_timezone = 
$tz;
 
  302                if(
$tz = ini_get(
'date.timezone'))
 
  304                        return self::$default_timezone = 
$tz;
 
  307                if(
$tz = getenv(
'PHP_TZ'))
 
  309                        return self::$default_timezone = 
$tz;
 
  312                if(
$tz = getenv(
'TZ'))
 
  314                        return self::$default_timezone = 
$tz;
 
  316                if(strlen(
$tz = date(
'T')))
 
  318                        return self::$default_timezone = 
$tz;
 
  320                return self::$default_timezone = 
self::UTC;
 
  329                $tz = 
$ini->readVariable(
'server',
'timezone');
 
  338                date_default_timezone_set(
$tz);
 
Class for TimeZone exceptions.
This class offers methods for timezone handling.
restoreTZ()
Restore default timezone.
static initDefaultTimeZone(ilIniFile $ini)
Initialize default timezone from system settings.
getIdentifier()
get identifier
static _restoreDefaultTimeZone()
restore default timezone to server timezone
static _getDefaultTimeZone()
Calculate and set default time zone.
static _switchTimeZone($a_timezone)
Switch tz
static _setDefaultTimeZone($a_tz)
set default timezone
static _getInstance($a_tz='')
get instance by timezone
__construct($a_timezone)
Create new timezone object If no timezone is given, the default server timezone is chosen.
switchTZ()
Switch timezone to given timezone.
validateTZ()
validate timezone