Gallery.php 2.8 KB

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