/** * 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); }
/** * copy dir and all inside * * @param Response $response * @param string $target * @param string $dst * @param string $newFolder */ private function copyDir(Response $response, $target, $dst, $newFolder = '') { $folder = trim(strrchr($target, DIRECTORY_SEPARATOR), DIRECTORY_SEPARATOR); $newFolder = $newFolder ?: $dst . DIRECTORY_SEPARATOR . $folder; if (file_exists($newFolder)) { throw new ExistsException(sprintf('folder "%s" exists', $newFolder)); } mkdir($newFolder); $response->addAdded($this->getFileInfo($newFolder)); foreach (glob($target . '/*') as $name) { if (is_dir($name)) { $this->copyDir($response, $name, $newFolder); } else { $filename = $newFolder . DIRECTORY_SEPARATOR . pathinfo($name, PATHINFO_BASENAME); copy($name, $filename); $response->addAdded($this->getFileInfo($filename)); } } }