static function getImageDescription($path) { $imageName = pathinfoFilename($path); $imageDirectory = normalizePath(pathinfoDirname($path)); $possibleDescriptionPath = $imageDirectory . $imageName . '.txt'; if (is_file($possibleDescriptionPath)) { return file_get_contents($possibleDescriptionPath); } return null; }
function generateThumbnail($originalImagePathFromRoot) { $imageGalleryRelative = $this->getGalleryRelativeURLFromPath($originalImagePathFromRoot); $filename = pathinfoFilename($imageGalleryRelative); $fileExtension = pathinfoExtension($imageGalleryRelative); $directory = pathinfoDirname($imageGalleryRelative); if ($directory === ".") { $directory = ""; } $directory = normalizePath($directory); $targetCachedFileName = $this->photosPathFromRoot . 'cache' . DIRECTORY_SEPARATOR . $directory . $filename . '_' . $this->settings['thumbnail_size'] . '.' . $fileExtension; $createCachedFile = $this->fileSystemHelper->generateCacheDirectory($directory); //Load the original image switch ($fileExtension) { case 'jpg': case 'jpeg': $image = imagecreatefromjpeg($originalImagePathFromRoot); $format = "jpeg"; break; case 'png': $image = imagecreatefrompng($originalImagePathFromRoot); $format = "png"; break; } //Resize it $width = imagesx($image); $height = imagesy($image); $new_size = $this->resizedSize($width, $height); $newImage = ImageCreateTrueColor($new_size[0], $new_size[1]); imagecopyresampled($newImage, $image, 0, 0, 0, 0, $new_size[0], $new_size[1], $width, $height); $this->cacheImage($newImage, $targetCachedFileName, $format); return true; }