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)); }
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')); }