Exemple #1
0
 public function SaveAction()
 {
     $request_user_id = (int) Project::getUser()->getShowedUser()->id;
     $user_id = (int) Project::getUser()->getDbUser()->id;
     $login = Project::getUser()->getDbUser()->login;
     $request = Project::getRequest();
     $album = USER_UPLOAD_DIR . DIRECTORY_SEPARATOR . $login . DIRECTORY_SEPARATOR . 'album' . DIRECTORY_SEPARATOR;
     $thumbs = $album . 'thumbs' . DIRECTORY_SEPARATOR;
     $images = $album . 'images' . DIRECTORY_SEPARATOR;
     clearstatcache();
     $album_id = 0;
     if (is_array($request->photo_id)) {
         foreach ($request->photo_id as $photo_id) {
             $photo_id = (int) $photo_id;
             $photo_model = new PhotoModel();
             $photo_model->load($photo_id);
             // Проверка, является ли пользователем владельцем альбома
             if ((int) $photo_model->id > 0 && (int) $photo_model->user_id === $user_id) {
                 if (isset($request->photo_del[$photo_id])) {
                     // Delete album
                     $f = $thumbs . $photo_model->path;
                     if (file_exists($f) && is_file($f)) {
                         unlink($f);
                     }
                     $f = $images . $photo_model->thumbnail;
                     if (file_exists($f) && is_file($f)) {
                         unlink($f);
                     }
                     $photo_model->delete($photo_id);
                 } else {
                     $photo_model->is_rating = isset($request->is_rating[$photo_id]) ? 1 : 0;
                     $photo_model->is_onmain = isset($request->is_onmain[$photo_id]) ? 1 : 0;
                     $photo_model->access = (int) $request->photo_access[$photo_id];
                     $photo_model->name = isset($request->photo_name[$photo_id]) ? $request->photo_name[$photo_id] : $photo_model->name;
                     $photo_model->save();
                     if ($album_id == 0) {
                         $album_id = (int) $photo_model->album_id;
                     }
                 }
             }
         }
     }
     if ($album_id > 0) {
         $album_model = new AlbumModel();
         $album_model->load($album_id);
         $album_model->thumbnail_id = (int) $request->thumb_photo;
         $album_model->save();
     }
     Project::getResponse()->redirect($this->getAlbumUrl($album_id, $login));
 }
Exemple #2
0
 public function ListSaveAction()
 {
     $request_user_id = (int) Project::getUser()->getShowedUser()->id;
     $user_id = (int) Project::getUser()->getDbUser()->id;
     $login = Project::getUser()->getDbUser()->login;
     $request = Project::getRequest();
     if ($user_id !== $request_user_id) {
         // Can't save somebody's album
         $this->ListAction();
         return;
     }
     $album = USER_UPLOAD_DIR . DIRECTORY_SEPARATOR . $login . DIRECTORY_SEPARATOR . 'album' . DIRECTORY_SEPARATOR;
     $thumbs = $album . 'thumbs' . DIRECTORY_SEPARATOR;
     $images = $album . 'images' . DIRECTORY_SEPARATOR;
     clearstatcache();
     if (is_array($request->album_id)) {
         foreach ($request->album_id as $album_id) {
             $album_model = new AlbumModel();
             $album_model->load($album_id);
             // Проверка, является ли пользователем владельцем альбома
             if ((int) $album_model->id > 0 && (int) $album_model->user_id === $user_id) {
                 if (isset($request->delete[$album_id])) {
                     // Delete album
                     $photo_model = new PhotoModel();
                     $list = $photo_model->loadByAlbum($album_id);
                     foreach ($list as $item) {
                         $f = $thumbs . $item['path'];
                         if (file_exists($f) && is_file($f)) {
                             unlink($f);
                         }
                         $f = $images . $item['thumbnail'];
                         if (file_exists($f) && is_file($f)) {
                             unlink($f);
                         }
                         $photo_model->delete($item['id']);
                     }
                     $album_model->delete($album_id);
                 } else {
                     $album_model->is_onmain = isset($request->is_onmain[$album_id]) ? 1 : 0;
                     $album_model->access = isset($request->album_access[$album_id]) ? $request->album_access[$album_id] : ACCESS::MYSELF;
                     $album_model->name = isset($request->album_name[$album_id]) ? $request->album_name[$album_id] : $album_model->name;
                     $album_model->save();
                 }
             }
         }
     }
     Project::getResponse()->redirect($request->createUrl('Album', 'List'));
 }