Exemple #1
0
 public function __construct($dateTime = null, $dateTimeZone = 'UTC')
 {
     if ($dateTime == null || is_string($dateTime)) {
         $timeZone = new DateTimeZone($dateTimeZone);
         $dateTimeObject = new DateTime($dateTime, $timeZone);
         if ($dateTimeObject == false) {
             $errorMessage = $this->getLastDateTimeErrors();
             $className = Identifier::getName($this->getType());
             throw new Exception(sprintf("Could not create %s from date time string '%s': %s", $className, $dateTime, $errorMessage));
         }
         $dateTime = $dateTimeObject;
     } elseif (!$dateTime instanceof DateTime) {
         throw new Exception('Invalid first argument for some instance of ASN_AbstractTime constructor');
     }
     $this->value = $dateTime;
 }
Exemple #2
0
 protected static function parseIdentifier($identifierOctet, $expectedIdentifier, $offsetForExceptionHandling)
 {
     if (is_string($identifierOctet) || is_numeric($identifierOctet) == false) {
         $identifierOctet = ord($identifierOctet);
     }
     if ($identifierOctet != $expectedIdentifier) {
         $message = 'Can not create an ' . Identifier::getName($expectedIdentifier) . ' from an ' . Identifier::getName($identifierOctet);
         throw new ParserException($message, $offsetForExceptionHandling);
     }
 }
Exemple #3
0
 protected function checkString()
 {
     $stringLength = $this->getContentLength();
     for ($i = 0; $i < $stringLength; $i++) {
         if (in_array($this->value[$i], $this->allowedCharacters) == false) {
             $typeName = Identifier::getName($this->getType());
             throw new Exception("Could not create a {$typeName} from the character sequence '{$this->value}'.");
         }
     }
 }