/** * add Image * * @param Response $response * @param Image $image * @param string $galleryId * @param string $imageSize */ private function addImage(Response $response, Image $image, $galleryId, $imageSize) { if (!$image->get($imageSize)) { throw new NotFoundException(sprintf('file with size "%s" not found', $imageSize)); } $href = $image->get($imageSize)->getHref(); $file = new FileInfo($image->getTitle() . '(' . $imageSize . ')', $this->getDriverId(), $image->getUpdateAt()->getTimestamp(), $galleryId); $file->setMime('image/jpeg'); $file->setTmb($image->get($this->driverOptions['thumbSize'])->getHref()); $file->setUrl($href); $file->setPath($href); $response->addFile($file); }
/** * get file info by full path file name * * @param string $file * * @return FileInfo */ private function getFileInfo($file) { if (!file_exists($file)) { throw new NotFoundException(sprintf('file "%s" not found', $file)); } $fileStat = stat($file); $directory = dirname($file) == '.' ? '' : dirname($file); $fileInfo = new FileInfo(basename($file), $this->getDriverId(), $fileStat['mtime'], $directory); $fileInfo->setSize($fileStat['size']); $fileInfo->setWrite(is_writable($file)); $fileInfo->setMime($this->getMimeType($file)); $fileInfo->setLocked($this->driverOptions['locked']); $this->setDirs($fileInfo, $file); $tmb = $this->getThumb($file); if (!file_exists($tmb) && in_array($fileInfo->getMime(), ['image/jpeg', 'image/png', 'image/gif'])) { $fileInfo->setTmb(1); } elseif (file_exists($tmb)) { $fileInfo->setTmb(DIRECTORY_SEPARATOR . $tmb); } return $fileInfo; }