blue-twilight/app/AlbumSources/IAlbumSource.php

48 lines
1.5 KiB
PHP

<?php
namespace App\AlbumSources;
use App\Album;
use App\Photo;
use Symfony\Component\HttpFoundation\File\File;
interface IAlbumSource
{
function getOriginalsFolder();
/**
* Gets the absolute path to the given photo file.
* @param Album $album Album containing the photo.
* @param Photo $photo Photo to get the path to.
* @param string $thumbnail Thumbnail to get the image to.
* @return string
*/
function getPathToPhoto(Album $album, Photo $photo, $thumbnail);
/**
* Gets the absolute URL to the given photo file.
* @param Album $album Album containing the photo.
* @param Photo $photo Photo to get the URL to.
* @param string $thumbnail Thumbnail to get the image to.
* @return string
*/
function getUrlToPhoto(Album $album, Photo $photo, $thumbnail);
/**
* Saves a generated thumbnail to its permanent location.
* @param Album $album Album containing the photo.
* @param Photo $photo Photo the thumbnail relates to.
* @param string $thumbnailInfo Information about the thumbnail.
* @param string $tempFilename Filename containing the thumbnail.
* @return mixed
*/
function saveThumbnail(Album $album, Photo $photo, $thumbnailInfo, $tempFilename);
/**
* Saves an uploaded file to the container and returns the filename.
* @param Album $album The album containing the photo
* @param File $uploadedFile The photo uploaded
* @return File
*/
function saveUploadedPhoto(Album $album, File $uploadedFile);
}