예제 #1
0
 /**
  * @param null $imageTwo
  *
  * @return $this
  */
 public function setImageTwo($imageTwo = null)
 {
     if (!$imageTwo) {
         return $this;
     }
     if (!$imageTwo instanceof ImageInterface && !$imageTwo instanceof UploadedFile) {
         $type = is_object($imageTwo) ? get_class($imageTwo) : gettype($imageTwo);
         throw new \InvalidArgumentException(sprintf('Image is not a valid type, "%s" given.', $type));
     }
     if ($this->imageTwo) {
         // existing image, only update content
         $this->imageTwo->copyContentFromFile($imageTwo);
     } elseif ($imageTwo instanceof ImageInterface) {
         $imageTwo->setName('image');
         // ensure document has right name
         $this->imageTwo = $imageTwo;
     } else {
         $this->imageTwo = new Image();
         $this->imageTwo->copyContentFromFile($imageTwo);
     }
     return $this;
 }
예제 #2
0
 /**
  * Set the image for this block.
  *
  * Setting null will do nothing, as this is what happens when you edit this
  * block in a form without uploading a replacement file.
  *
  * If you need to delete the Image, you can use getImage and delete it with
  * the document manager. Note that this block does not make much sense
  * without an image, though.
  *
  * @param ImageInterface|UploadedFile|null $image optional the image to update
  *
  * @return $this
  *
  * @throws \InvalidArgumentException If the $image parameter can not be handled.
  */
 public function setImage($image = null)
 {
     if (!$image) {
         return $this;
     }
     if (!$image instanceof ImageInterface && !$image instanceof UploadedFile) {
         $type = is_object($image) ? get_class($image) : gettype($image);
         throw new \InvalidArgumentException(sprintf('Image is not a valid type, "%s" given.', $type));
     }
     if ($this->image) {
         // existing image, only update content
         // TODO: https://github.com/doctrine/phpcr-odm/pull/262
         $this->image->copyContentFromFile($image);
     } elseif ($image instanceof ImageInterface) {
         $image->setName('image');
         // ensure document has right name
         $this->image = $image;
     } else {
         $this->image = new Image();
         $this->image->copyContentFromFile($image);
     }
     return $this;
 }