Пример #1
0
 /**
  * @param  string $key
  * @return DateTimeImmutable
  * @throws UnexpectedValueException
  */
 private function retrieveDate($key)
 {
     $object = $this->dictionary->get($key);
     if (!$object instanceof DateType) {
         throw new UnexpectedValueException(sprintf('Expected an object of type %s, but got %s', DateType::class, get_class($object)));
     }
     return $object->getDateTime();
 }
Пример #2
0
 /**
  * {@inheritdoc}
  */
 public function writeToStream(SplFileObject $fileObject, $encryptionKey)
 {
     $this['Length'] = new NumericObject(strlen($this->data));
     parent::writeToStream($fileObject, $encryptionKey);
     unset($this['Length']);
     $fileObject->fwrite("\nstream\n");
     $data = $this->data;
     if (null !== $encryptionKey) {
         $data = EncryptionUtils::rc4($encryptionKey, $data);
     }
     $fileObject->fwrite($data);
     $fileObject->fwrite("\nendstream");
 }
Пример #3
0
 /**
  * Writes the trailer.
  *
  * @param SplFileObject $fileObject
  */
 private function writeTrailer(SplFileObject $fileObject)
 {
     $fileObject->fwrite("trailer\n");
     $trailer = new DictionaryObject();
     $trailer['Size'] = new NumericObject(count($this->objects) + 1);
     $trailer['Root'] = $this->root;
     $trailer['Info'] = $this->info;
     $trailer['Id'] = new ArrayObject([$this->firstId, $this->secondId]);
     $trailer->writeToStream($fileObject, null);
 }
Пример #4
0
 /**
  * {@inheritdoc}
  */
 public function writeToStream(SplFileObject $fileObject, $encryptionKey)
 {
     $this->dictionary->writeToStream($fileObject, $encryptionKey);
 }