Ejemplo n.º 1
0
 /**
  * Test the SimpleSAML\Utils\Time::initTimezone() method.
  *
  * @covers SimpleSAML\Utils\Time::initTimezone
  */
 public function testInitTimezone()
 {
     $tz = 'UTC';
     $os = @date_default_timezone_get();
     if ($os === 'UTC') {
         // avoid collisions
         $tz = 'Europe/Oslo';
     }
     // test guessing timezone from the OS
     \SimpleSAML_Configuration::loadFromArray(array('timezone' => null), '[ARRAY]', 'simplesaml');
     @Time::initTimezone();
     $this->assertEquals($os, @date_default_timezone_get());
     // clear initialization
     $c = new \ReflectionProperty('\\SimpleSAML\\Utils\\Time', 'tz_initialized');
     $c->setAccessible(true);
     $c->setValue(false);
     // test unknown timezone
     \SimpleSAML_Configuration::loadFromArray(array('timezone' => 'INVALID'), '[ARRAY]', 'simplesaml');
     try {
         @Time::initTimezone();
         $this->fail('Failed to recognize an invalid timezone.');
     } catch (\SimpleSAML_Error_Exception $e) {
         $this->assertEquals('Invalid timezone set in the "timezone" option in config.php.', $e->getMessage());
     }
     // test a valid timezone
     \SimpleSAML_Configuration::loadFromArray(array('timezone' => $tz), '[ARRAY]', 'simplesaml');
     @Time::initTimezone();
     $this->assertEquals($tz, @date_default_timezone_get());
     // make sure initialization happens only once
     \SimpleSAML_Configuration::loadFromArray(array('timezone' => 'Europe/Madrid'), '[ARRAY]', 'simplesaml');
     @Time::initTimezone();
     $this->assertEquals($tz, @date_default_timezone_get());
 }
Ejemplo n.º 2
0
 /**
  * Build a new logging handler based on files.
  */
 public function __construct(\SimpleSAML_Configuration $config)
 {
     // get the metadata handler option from the configuration
     $this->logFile = $config->getPathValue('loggingdir', 'log/') . $config->getString('logging.logfile', 'simplesamlphp.log');
     $this->processname = $config->getString('logging.processname', 'SimpleSAMLphp');
     if (@file_exists($this->logFile)) {
         if (!@is_writeable($this->logFile)) {
             throw new \Exception("Could not write to logfile: " . $this->logFile);
         }
     } else {
         if (!@touch($this->logFile)) {
             throw new \Exception("Could not create logfile: " . $this->logFile . " The logging directory is not writable for the web server user.");
         }
     }
     \SimpleSAML\Utils\Time::initTimezone();
 }
Ejemplo n.º 3
0
 /**
  * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Time::initTimezone() instead.
  */
 public static function initTimezone()
 {
     \SimpleSAML\Utils\Time::initTimezone();
 }