123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- class Gallery extends Controller {
- public function Index(IAlbumRepository $repo) {
- $albums=$repo->GetAlbums();
- return new View("Gallery/index.view",array("albums"=>$albums));
- }
- public function View($url) {
- $album=new Album($url,true);
- Breadcrumbs::Add($album->AlbumTitle, "");
- return new View("Gallery/view.view",array("album"=>$album));
- }
- public function Manage(IAlbumRepository $albumRepo, IImageRepository $imageRepo, $errors) {
- $vars=array();
- Breadcrumbs::Add("Manage", "");
- $vars["albums"]=$albumRepo->GetAlbums(true,true,true);
- if (isset($errors))
- $vars["errors"]=$errors;
- $vars['images']=$imageRepo->GetImagesByAlbum(0);
- if(isset($image))
- $vars['image']=$image;
- else
- $vars['image']=new Image();
- return new View("Gallery/manage.view",$vars);
- }
- public function Move(IAlbumRepository $albumRepo, $selectedImages, $targetAlbumId){
- if ($selectedImages!=null){
- foreach ($selectedImages as $imgId){
- $image=new Image($imgId);
- $image->AlbumId=$targetAlbumId;
- $image->Save();
- }
- }
- $albums=$albumRepo->GetAlbums(true,true,true);
- return json_encode($albums);
- }
- public function DeleteImages(IAlbumRepository $albumRepo, IImageRepository $imageRepo, $selectedImages){
- $imageRepo->DeleteImages($selectedImages);
- $albums=$albumRepo->GetAlbums(true,true,true);
- return json_encode($albums);
- }
- public function CreateAlbum($title,$description) {
- Breadcrumbs::Add("Manage", "");
- Breadcrumbs::Add("Create Album", "");
- $album=new Album();
- if (isset($title))
- $album->AlbumTitle=$title;
- if (isset($description))
- $album->AlbumDescription=$description;
- if ($album->AlbumTitle!="" && $album->AlbumDescription!=""){
- $album->Save();
- header("location:/gallery/manage");
- return;
- }
- return new View("Gallery/create_album.view",array("album"=>$album));
- }
- public function Upload($imageTitle,$imageDesc) {
- if (!isset($_FILES['imageFile'])){
- header("location: /gallery/manage/");
- return;
- }
- $errors=array();
- $filename=$_FILES['imageFile']['name'];
- $tempFile=$_FILES['imageFile']['tmp_name'];
- if ($imageTitle=="")
- $errors[]="The image doesn't have a title";
- if ($_FILES['imageFile']['error'])
- $errors[]=Utils::FileUploadErrorToMessage($_FILES['imageFile']['error']);
- if (count($errors)==0) {
- if(!Image::IsValidType(pathinfo($filename,PATHINFO_EXTENSION)))
- $errors[]="File is of an invalid type";
- if (getimagesize($tempFile)===false)
- $errors[]="File is not an image";
- }
- $image=new Image($filename,$tempFile);
- $image->ImageTitle=$imageTitle;
- $image->ImageDescription=$imageDesc;
- if (count($errors)==0){
- $image->Save();
- header("location: /gallery/manage/");
- return;
- }
- return $this->Manage(array("errors"=>$errors,"image"=>$image));
- }
- public function JsonLoadAlbum($albumId) {
- $repo=new ImageRepository();
- $json='[';
- $images=$repo->GetImagesByAlbum($albumId);
- foreach ($images as $image)
- $json.='{"ImageId":"'.$image->ImageId.'","ImageTitle":"'.$image->ImageTitle.'","Path":"'.$image->Path.'","ThumbnailPath":"'.$image->ThumbnailPath.'"},';
- $json=trim($json,',');
- $json.=']';
- return $json;
- //return json_encode($images);
- }
- }
|