diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php index 789d4a904..11d397bc3 100644 --- a/airtime_mvc/application/controllers/PlaylistController.php +++ b/airtime_mvc/application/controllers/PlaylistController.php @@ -26,6 +26,7 @@ class PlaylistController extends Zend_Controller_Action ->addActionContext('smart-block-shuffle', 'json') ->addActionContext('get-block-info', 'json') ->addActionContext('shuffle', 'json') + ->addActionContext('empty-content', 'json') ->initContext(); } @@ -336,6 +337,26 @@ class PlaylistController extends Zend_Controller_Action $this->playlistUnknownError($e); } } + + public function emptyContentAction() + { + $type = $this->_getParam('obj_type'); + try { + $obj = $this->getPlaylist($type); + if ($type == 'playlist') { + $obj->deleteAllFilesFromPlaylist(); + } else { + $obj->deleteAllFilesFromBlock(); + } + $this->createUpdateResponse($obj); + } catch (PlaylistOutDatedException $e) { + $this->playlistOutdated($e); + } catch (PlaylistNotFoundException $e) { + $this->playlistNotFound($type); + } catch (Exception $e) { + $this->playlistUnknownError($e); + } + } public function setCueAction() { diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php index cda10c1a3..cb57f0715 100644 --- a/airtime_mvc/application/models/Block.php +++ b/airtime_mvc/application/models/Block.php @@ -1001,7 +1001,10 @@ SQL; public function deleteAllFilesFromBlock() { CcBlockcontentsQuery::create()->findByDbBlockId($this->id)->delete(); - $this->block->reload(); + //$this->block->reload(); + $this->block->setDbMtime(new DateTime("now", new DateTimeZone("UTC"))); + $this->block->save($this->con); + $this->con->commit(); } // smart block functions start diff --git a/airtime_mvc/application/models/Playlist.php b/airtime_mvc/application/models/Playlist.php index 7aaea5243..9eec7ee4f 100644 --- a/airtime_mvc/application/models/Playlist.php +++ b/airtime_mvc/application/models/Playlist.php @@ -930,6 +930,10 @@ SQL; public function deleteAllFilesFromPlaylist() { CcPlaylistcontentsQuery::create()->findByDbPlaylistId($this->id)->delete(); + + $this->pl->setDbMtime(new DateTime("now", new DateTimeZone("UTC"))); + $this->pl->save($this->con); + $this->con->commit(); } public function shuffle() diff --git a/airtime_mvc/application/views/scripts/playlist/playlist.phtml b/airtime_mvc/application/views/scripts/playlist/playlist.phtml index f8496d926..3d388bf36 100644 --- a/airtime_mvc/application/views/scripts/playlist/playlist.phtml +++ b/airtime_mvc/application/views/scripts/playlist/playlist.phtml @@ -16,6 +16,9 @@ if (isset($this->obj)) { obj)) : ?> +