Gallery.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. class Gallery {
  3. public function Index($params) {
  4. $albums=Album::GetAlbums();
  5. return new View("Gallery/index.view",array("albums"=>$albums));
  6. }
  7. public function View($params) {
  8. $album=new Album($params[0],true);
  9. Breadcrumbs::Add($album->AlbumTitle, "");
  10. return new View("Gallery/view.view",array("album"=>$album));
  11. }
  12. public function Manage($params) {
  13. $vars=array();
  14. Breadcrumbs::Add("Manage", "");
  15. $vars["albums"]=Album::GetAlbums();
  16. if (isset($params['errors']))
  17. $vars["errors"]=$params['errors'];
  18. $vars['images']=Image::GetImagesByAlbum(0);
  19. return new View("Gallery/manage.view",$vars);
  20. }
  21. public function CreateAlbum($params) {
  22. Breadcrumbs::Add("Manage", "");
  23. Breadcrumbs::Add("Create Album", "");
  24. $album=new Album();
  25. if (isset($params['title']))
  26. $album->AlbumTitle=$params['title'];
  27. if (isset($params['description']))
  28. $album->AlbumDescription=$params['description'];
  29. if ($album->AlbumTitle!="" && $album->AlbumDescription!=""){
  30. $album->Save();
  31. header("location:/gallery/manage");
  32. return;
  33. }
  34. return new View("Gallery/create_album.view",array("album"=>$album));
  35. }
  36. public function Upload($params) {
  37. $errors=array();
  38. $filename=$_FILES['imageFile']['name'];
  39. $tempFile=$_FILES['imageFile']['tmp_name'];
  40. if ($params['imageTitle']=="")
  41. $errors[]="The image doesn't have a title";
  42. if ($_FILES['imageFile']['error'])
  43. $errors[]=Helper::FileUploadErrorToMessage($_FILES['imageFile']['error']);
  44. if ($filename=="")
  45. $errors[]="A file was not selected";
  46. if (count($errors)==0) {
  47. if(!Image::IsValidType(pathinfo($filename,PATHINFO_EXTENSION)))
  48. $errors[]="File is of an invalid type";
  49. if (getimagesize($tempFile)===false)
  50. $errors[]="File is not an image";
  51. }
  52. if (count($errors)==0){
  53. $image=new Image($filename,$tempFile);
  54. $image->ImageTitle=$params['imageTitle'];
  55. $image->ImageDescription=$params['imageDesc'];
  56. $image->Save();
  57. header("location: /gallery/manage");
  58. return;
  59. }
  60. return $this->Manage(array("errors"=>$errors));
  61. }
  62. }