/** * 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); } }
/** * Create reference for media. * * @param MediaInterface $media * * @return bool */ public function createReference(MediaInterface $media) { $allowed = false; foreach ($this->contexts as $context) { if (in_array($media->getExtension(), $context)) { $allowed = true; break; } } if ($allowed === false) { $this->error = array('error.extensionNotAllowed', array('%extension%' => $media->getExtension())); return false; } // secure extension for reference if (!in_array($media->getExtension(), $this->trustedExtensions)) { $media->setExtension($media->getExtension() . '.txt'); $media->setType($media::OTHER); } do { $media->setReference(sha1(microtime(true) . mt_rand()) . '.' . $media->getExtension()); } while ($this->filesystemManipulator->has($this->originalDir . '/' . $media->getReference())); return true; }