getExpireTime() public static method

Compares 2 dates and returns the earliest.
public static getExpireTime ( string $cacheDuration = null, string $validUntil = null ) : integer
$cacheDuration string The duration, as a string.
$validUntil string The valid until date, as a string or as a timestamp
return integer $expireTime The expiration time.
Example #1
0
 /**
  * Tests the getExpireTime method of the OneLogin_Saml2_Utils
  *
  * @covers OneLogin_Saml2_Utils::getExpireTime
  */
 public function testGetExpireTime()
 {
     $this->assertNull(OneLogin_Saml2_Utils::getExpireTime());
     $this->assertNotNull(OneLogin_Saml2_Utils::getExpireTime('PT1393462294S'));
     $this->assertEquals('1418186371', OneLogin_Saml2_Utils::getExpireTime('PT1393462294S', '2014-12-10T04:39:31Z'));
     $this->assertEquals('1418186371', OneLogin_Saml2_Utils::getExpireTime('PT1393462294S', 1418186371));
     $this->assertNotEquals('1418186371', OneLogin_Saml2_Utils::getExpireTime('PT1393462294S', '2012-12-10T04:39:31Z'));
 }
Example #2
0
 /**
  * Validates an XML SP Metadata.
  *
  * @param string $xml Metadata's XML that will be validate
  *
  * @return Array The list of found errors
  */
 public function validateMetadata($xml)
 {
     assert('is_string($xml)');
     $errors = array();
     $res = OneLogin_Saml2_Utils::validateXML($xml, 'saml-schema-metadata-2.0.xsd', $this->_debug);
     if (!$res instanceof DOMDocument) {
         $errors[] = $res;
     } else {
         $dom = $res;
         $element = $dom->documentElement;
         if ($element->tagName !== 'md:EntityDescriptor') {
             $errors[] = 'noEntityDescriptor_xml';
         } else {
             $validUntil = $cacheDuration = $expireTime = null;
             if ($element->hasAttribute('validUntil')) {
                 $validUntil = OneLogin_Saml2_Utils::parseSAML2Time($element->getAttribute('validUntil'));
             }
             if ($element->hasAttribute('cacheDuration')) {
                 $cacheDuration = $element->getAttribute('cacheDuration');
             }
             $expireTime = OneLogin_Saml2_Utils::getExpireTime($cacheDuration, $validUntil);
             if (isset($expireTime) && time() > $expireTime) {
                 $errors[] = 'expired_xml';
             }
         }
     }
     // TODO: Support Metadata Sign Validation
     return $errors;
 }