Exemplo n.º 1
0
 /**
  * Add infos for front : urls of thumbnails and html value of media.
  *
  * @param MediaInterface $media
  *
  * @return MediaInterface
  */
 private function addInfosForFront(MediaInterface $media)
 {
     $mediaManager = $this->getMediaManager();
     $media->setUrls(array('original' => $mediaManager->getUrl($media), '500x400' => $mediaManager->getUrl($media, '500x400'), '78x44_focus' => $mediaManager->getUrl($media, '78x44_focus')));
     $media->setHtml($mediaManager->getHtml($media));
     return $media;
 }
Exemplo n.º 2
0
 /**
  * Update the focus after update.
  *
  * @param MediaInterface $media
  */
 public function updateFocus(MediaInterface $media)
 {
     if ($this->direction == 'x') {
         $media->setFocusLeft(100 - $media->getFocusLeft());
     } elseif ($this->direction == 'y') {
         $media->setFocusTop(100 - $media->getFocusTop());
     }
 }
Exemplo n.º 3
0
 /**
  * Apply the filter.
  *
  * @param string $aliasName
  */
 public function apply($aliasName = null)
 {
     $reset = false;
     if ($aliasName === null) {
         $aliasName = $this->mediaManager->getOriginalDir();
         $reset = true;
     }
     $this->updateFile($this->image);
     $this->updateFocus($this->media);
     $fs = $this->mediaManager->getFilesystemManipulator();
     $fs->saveContent($aliasName . '/' . $this->media->getReference(), $this->image->get($this->media->getExtension()));
     $this->mediaManager->setSizeWidthAndHeight($this->media)->save($this->media);
     if ($reset === true) {
         $this->mediaManager->reset($this->media);
     }
 }
Exemplo n.º 4
0
 /**
  * Update the focus after update.
  *
  * @param MediaInterface $media
  */
 public function updateFocus(MediaInterface $media)
 {
     if ($this->angle == 90) {
         $focusLeft = 100 - $media->getFocusTop();
         $focusTop = $media->getFocusLeft();
     } elseif ($this->angle == -90) {
         $focusLeft = $media->getFocusTop();
         $focusTop = 100 - $media->getFocusLeft();
     }
     $media->setFocusLeft($focusLeft);
     $media->setFocusTop($focusTop);
 }
Exemplo n.º 5
0
 /**
  * Update the focus after update.
  *
  * @param MediaInterface $media
  */
 public function updateFocus(MediaInterface $media)
 {
     $originalFocusLeftPx = $media->getFocusLeft() * $media->getWidth() / 100;
     $newFocusLeftPx = $originalFocusLeftPx - $this->x;
     $newFocusLeft = $newFocusLeftPx * 100 / $this->w;
     if ($newFocusLeft < 0) {
         $newFocusLeft = 0;
     }
     if ($newFocusLeft > 100) {
         $newFocusLeft = 100;
     }
     $media->setFocusLeft($newFocusLeft);
     $originalFocusTopPx = $media->getFocusTop() * $media->getHeight() / 100;
     $newFocusTopPx = $originalFocusTopPx - $this->y;
     $newFocusTop = $newFocusTopPx * 100 / $this->h;
     if ($newFocusTop < 0) {
         $newFocusTop = 0;
     }
     if ($newFocusTop > 100) {
         $newFocusTop = 100;
     }
     $media->setFocusTop($newFocusTop);
 }
Exemplo n.º 6
0
 /**
  * Save media.
  *
  * @param MediaInterface $media
  * @param bool           $flush
  *
  * @return bool If return false (when add new file), the error is in $error attribute
  */
 public function save($media, $flush = true)
 {
     if ($media->getFile() !== null) {
         if ($this->saveFile($media) === false) {
             return false;
         }
     }
     if ($media->getFocusIsEdited() === true) {
         $this->reset($media, true);
         $media->setFocusIsEdited(false);
     }
     $media->setUpdatedAt(new \Datetime());
     parent::save($media, $flush);
     return true;
 }