From d1e6f8178bb6fcb98fe9d73f764e02e1dabb0a69 Mon Sep 17 00:00:00 2001 From: James Date: Wed, 8 Aug 2012 15:29:09 -0400 Subject: [PATCH] CC-4166: Playlist Builder -> Regular Playlist : clicking Fade in/out button for a empty playlist will cause PHP Fatal Error - fixed. Not displaying fade setting button if the playst/smartplaylist is empty. --- .../application/controllers/PlaylistController.php | 7 ++++--- .../application/views/scripts/playlist/playlist.phtml | 9 +++++++-- .../views/scripts/playlist/smart-block.phtml | 9 +++++++-- .../application/views/scripts/playlist/update.phtml | 2 +- airtime_mvc/public/js/airtime/library/spl.js | 11 ++++++++++- .../js/airtime/playlist/smart_playlistbuilder.js | 11 +++++++++++ 6 files changed, 40 insertions(+), 9 deletions(-) diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php index c4472d843..da78aa47c 100644 --- a/airtime_mvc/application/controllers/PlaylistController.php +++ b/airtime_mvc/application/controllers/PlaylistController.php @@ -55,7 +55,7 @@ class PlaylistController extends Zend_Controller_Action } private function changePlaylist($p_id, $p_type) - { + { if (is_null($p_id) || is_null($p_type)) { unset($this->obj_sess->id); unset($this->obj_sess->type); @@ -71,6 +71,7 @@ class PlaylistController extends Zend_Controller_Action $this->view->length = $formatter->format(); $this->view->obj = $obj; + $this->view->contents = $obj->getContents(); $this->view->html = $this->view->render('playlist/update.phtml'); $this->view->name = $obj->getName(); $this->view->description = $obj->getDescription(); @@ -215,7 +216,7 @@ class PlaylistController extends Zend_Controller_Action } public function newAction() - { + { //$pl_sess = $this->pl_sess; $userInfo = Zend_Auth::getInstance()->getStorage()->read(); $type = $this->_getParam('type'); @@ -335,7 +336,7 @@ class PlaylistController extends Zend_Controller_Action } else if ($e->getMessage() == 'track to dynamic') { $this->blockDynamic($obj); } else { - $this->playlistUnknownError($e); + $this->playlistUnknownError($e); } } } diff --git a/airtime_mvc/application/views/scripts/playlist/playlist.phtml b/airtime_mvc/application/views/scripts/playlist/playlist.phtml index 3979bdfc6..5f0572b16 100644 --- a/airtime_mvc/application/views/scripts/playlist/playlist.phtml +++ b/airtime_mvc/application/views/scripts/playlist/playlist.phtml @@ -1,7 +1,11 @@ +obj->getContents(); +$count = count($contents); +?> obj)) : ?> - + "> Playlist crossfade @@ -49,7 +53,8 @@
diff --git a/airtime_mvc/application/views/scripts/playlist/smart-block.phtml b/airtime_mvc/application/views/scripts/playlist/smart-block.phtml index 30d9c8664..ffa7b36a3 100644 --- a/airtime_mvc/application/views/scripts/playlist/smart-block.phtml +++ b/airtime_mvc/application/views/scripts/playlist/smart-block.phtml @@ -1,7 +1,11 @@ +obj->getContents(); +$count = count($contents); +?> obj)) : ?> - + "> Playlist crossfade @@ -49,7 +53,8 @@
diff --git a/airtime_mvc/application/views/scripts/playlist/update.phtml b/airtime_mvc/application/views/scripts/playlist/update.phtml index 288b595e3..c876f1f26 100644 --- a/airtime_mvc/application/views/scripts/playlist/update.phtml +++ b/airtime_mvc/application/views/scripts/playlist/update.phtml @@ -1,5 +1,5 @@ obj->getContents(); +$items = $this->contents; if (count($items)) : ?> 0) { + $("#spl_crossfade").hide(); + } else { + $("#spl_crossfade").show(); + } + } + function getId() { return parseInt($("#obj_id").val(), 10); } @@ -803,6 +811,7 @@ var AIRTIME = (function(AIRTIME){ } else { setPlaylistContent(json); + setFadeIcon(); } mod.enableUI(); diff --git a/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js b/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js index d9b00c694..8c537770d 100644 --- a/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js +++ b/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js @@ -181,6 +181,7 @@ function setSmartPlaylistEvents() { enableLoadingIcon(); $.post(save_action, {format: "json", data: data, obj_id: obj_id}, function(data){ callback(data, "save"); + setFadeIcon(); disableLoadingIcon(); }); }); @@ -254,6 +255,16 @@ function setStaticLengthHolder(lenVal) { } */ +function setFadeIcon(){ + var contents = $("#spl_sortable"); + var show = contents.is(":visible"); + if (show) { + $("#spl_crossfade").show(); + } else { + $("#spl_crossfade").hide(); + } +} + /* This function appends a '+' button for the last * modifier row of each criteria. * If there are no modifier rows, the '+' button