Gallery.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. class Gallery {
  3. public function Index($params) {
  4. $repo=new AlbumRespository();
  5. $albums=$repo->GetAlbums();
  6. return new View("Gallery/index.view",array("albums"=>$albums));
  7. }
  8. public function View($params) {
  9. $album=new Album($params[0],true);
  10. Breadcrumbs::Add($album->AlbumTitle, "");
  11. return new View("Gallery/view.view",array("album"=>$album));
  12. }
  13. public function Manage($params) {
  14. $albumRepo=new AlbumRespository();
  15. $imageRepo=new ImageRepository();
  16. $vars=array();
  17. Breadcrumbs::Add("Manage", "");
  18. $vars["albums"]=$albumRepo->GetAlbums(true,true);
  19. if (isset($params['errors']))
  20. $vars["errors"]=$params['errors'];
  21. $vars['images']=$imageRepo->GetImagesByAlbum(0);
  22. if(isset($params['image']))
  23. $vars['image']=$params['image'];
  24. else
  25. $vars['image']=new Image();
  26. return new View("Gallery/manage.view",$vars);
  27. }
  28. public function Move($params){
  29. if (!isset($params['moveImages']))
  30. return;
  31. //return print_r($params,true);
  32. foreach ($params['selected'] as $imgId){
  33. $image=new Image($imgId);
  34. $image->AlbumId=$params['selectAlbumNew'];
  35. $image->Save();
  36. }
  37. header("location:/gallery/manage");
  38. }
  39. public function CreateAlbum($params) {
  40. Breadcrumbs::Add("Manage", "");
  41. Breadcrumbs::Add("Create Album", "");
  42. $album=new Album();
  43. if (isset($params['title']))
  44. $album->AlbumTitle=$params['title'];
  45. if (isset($params['description']))
  46. $album->AlbumDescription=$params['description'];
  47. if ($album->AlbumTitle!="" && $album->AlbumDescription!=""){
  48. $album->Save();
  49. header("location:/gallery/manage");
  50. return;
  51. }
  52. return new View("Gallery/create_album.view",array("album"=>$album));
  53. }
  54. public function Upload($params) {
  55. if (!isset($_FILES['imageFile'])){
  56. header("location: /gallery/manage/");
  57. return;
  58. }
  59. $errors=array();
  60. $filename=$_FILES['imageFile']['name'];
  61. $tempFile=$_FILES['imageFile']['tmp_name'];
  62. if ($params['imageTitle']=="")
  63. $errors[]="The image doesn't have a title";
  64. if ($_FILES['imageFile']['error'])
  65. $errors[]=Utils::FileUploadErrorToMessage($_FILES['imageFile']['error']);
  66. if (count($errors)==0) {
  67. if(!Image::IsValidType(pathinfo($filename,PATHINFO_EXTENSION)))
  68. $errors[]="File is of an invalid type";
  69. if (getimagesize($tempFile)===false)
  70. $errors[]="File is not an image";
  71. }
  72. $image=new Image($filename,$tempFile);
  73. $image->ImageTitle=$params['imageTitle'];
  74. $image->ImageDescription=$params['imageDesc'];
  75. if (count($errors)==0){
  76. $image->Save();
  77. header("location: /gallery/manage/");
  78. return;
  79. }
  80. return $this->Manage(array("errors"=>$errors,"image"=>$image));
  81. }
  82. public function JsonLoadAlbum($params) {
  83. $repo=new ImageRepository();
  84. $json='[';
  85. $images=$repo->GetImagesByAlbum($params[0]);
  86. foreach ($images as $image)
  87. $json.='{"ImageId":"'.$image->ImageId.'","ImageTitle":"'.$image->ImageTitle.'","Path":"'.$image->Path.'","ThumbnailPath":"'.$image->ThumbnailPath.'"},';
  88. $json=trim($json,',');
  89. $json.=']';
  90. return $json;
  91. //return json_encode($images);
  92. }
  93. }