diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index eeb2b9d35..067a33ac6 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -59,7 +59,7 @@ class LibraryController extends Zend_Controller_Action if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { if ($this->obj_sess->type === "playlist") { $menu["pl_add"] = array("name"=> "Add to Playlist", "icon" => "add-playlist", "icon" => "copy"); - } else { + } else if ($this->obj_sess->type === "block") { $menu["pl_add"] = array("name"=> "Add to Smart Playlist", "icon" => "add-playlist", "icon" => "copy"); } } @@ -101,8 +101,6 @@ class LibraryController extends Zend_Controller_Action if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { if ($this->obj_sess->type === "playlist") { $menu["pl_add"] = array("name"=> "Add to Playlist", "icon" => "add-playlist", "icon" => "copy"); - } else { - $menu["pl_add"] = array("name"=> "Add to Smart Playlist", "icon" => "add-playlist", "icon" => "copy"); } } } @@ -181,7 +179,7 @@ class LibraryController extends Zend_Controller_Action try { Application_Model_Block::deleteBlocks($blocks, $user->getId()); } catch (Exception $e) { - //TODO: warn user that not all blocks could be deleted. + //TODO: warn user that not all blocks could be deleted. } try { diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php index b8468af6b..ecaa91494 100644 --- a/airtime_mvc/application/controllers/PlaylistController.php +++ b/airtime_mvc/application/controllers/PlaylistController.php @@ -153,8 +153,8 @@ class PlaylistController extends Zend_Controller_Action Logging::log("{$e->getMessage()}"); } - private function playlistDenied($obj) { - $this->view->error = "You cannot add playlists to smart playlists."; + private function wrongTypeToBlock($obj) { + $this->view->error = "You can only add tracks to smart playlists."; $this->createFullResponse($obj); } @@ -315,13 +315,15 @@ class PlaylistController extends Zend_Controller_Action // if the dest is a block object //check if any items are playlists foreach($ids as $id) { - if (is_array($id) && isset($id[1]) && $id[1] == 'playlist') { - throw new Exception('playlist to block'); + if (is_array($id) && isset($id[1])) { + if ($id[1] != 'audioclip') { + throw new WrongTypeToBlockException; + } } } $obj->addAudioClips($ids, $afterItem, $addType); } else { - throw new Exception('track to dynamic'); + throw new BlockDynamicException; } $this->createUpdateResponse($obj); } @@ -331,14 +333,14 @@ class PlaylistController extends Zend_Controller_Action catch (PlaylistNotFoundException $e) { $this->playlistNotFound($obj_type); } + catch (WrongTypeToBlockException $e) { + $this->wrongTypeToBlock($obj); + } + catch (BlockDynamicException $e) { + $this->blockDynamic($obj); + } catch (Exception $e) { - if ($e->getMessage() == 'playlist to block') { - $this->playlistDenied($obj); - } else if ($e->getMessage() == 'track to dynamic') { - $this->blockDynamic($obj); - } else { - $this->playlistUnknownError($e); - } + $this->playlistUnknownError($e); } } @@ -593,5 +595,6 @@ class PlaylistController extends Zend_Controller_Action } die(json_encode($out)); } - } +class WrongTypeToBlockException extends Exception {} +class BlockDynamicException extends Exception {}