diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index 5bd5949de..a1a4edd82 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -176,7 +176,7 @@ class LibraryController extends Zend_Controller_Action if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { if ($obj_sess->type === "playlist") { $menu["pl_add"] = array("name"=> "Add to Playlist", "icon" => "add-playlist", "icon" => "copy"); - } elseif ($obj_sess->type === "block") { + } elseif ($obj_sess->type === "block" && $obj->isStatic()) { $menu["pl_add"] = array("name"=> "Add to Smart Block", "icon" => "add-playlist", "icon" => "copy"); } } diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php index 38dbd4fd2..0d2ead443 100644 --- a/airtime_mvc/application/controllers/PlaylistController.php +++ b/airtime_mvc/application/controllers/PlaylistController.php @@ -513,7 +513,7 @@ class PlaylistController extends Zend_Controller_Action } catch (BlockNotFoundException $e) { $this->playlistNotFound('block', true); } catch (Exception $e) { - //Logging::info($e); + Logging::info($e); $this->playlistUnknownError($e); } } diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php index 3aa0a1882..c06b24cb8 100644 --- a/airtime_mvc/application/models/Block.php +++ b/airtime_mvc/application/models/Block.php @@ -1191,7 +1191,7 @@ SQL; $sizeOfInsert = count($insertList); // if block is not full and reapeat_track is check, fill up more - while (!$isBlockFull && $repeat == 1) { + while (!$isBlockFull && $repeat == 1 && $sizeOfInsert > 0) { $randomEleKey = array_rand(array_slice($insertList, 0, $sizeOfInsert)); $insertList[] = $insertList[$randomEleKey]; $totalTime += $insertList[$randomEleKey]['length']; diff --git a/airtime_mvc/application/models/Scheduler.php b/airtime_mvc/application/models/Scheduler.php index 356210b74..80f7ded9e 100644 --- a/airtime_mvc/application/models/Scheduler.php +++ b/airtime_mvc/application/models/Scheduler.php @@ -193,7 +193,8 @@ class Application_Model_Scheduler } } else { $dynamicFiles = $bl->getListOfFilesUnderLimit(); - foreach ($dynamicFiles as $fileId=>$f) { + foreach ($dynamicFiles as $f) { + $fileId = $f['id']; $file = CcFilesQuery::create()->findPk($fileId); if (isset($file) && $file->getDbFileExists()) { $data["id"] = $file->getDbId(); @@ -250,7 +251,8 @@ class Application_Model_Scheduler } } else { $dynamicFiles = $bl->getListOfFilesUnderLimit(); - foreach ($dynamicFiles as $fileId=>$f) { + foreach ($dynamicFiles as $f) { + $fileId = $f['id']; $file = CcFilesQuery::create()->findPk($fileId); if (isset($file) && $file->getDbFileExists()) { $data["id"] = $file->getDbId(); @@ -445,7 +447,6 @@ class Application_Model_Scheduler } else { $sched = new CcSchedule(); } - Logging::info($file); $sched->setDbStarts($nextStartDT) ->setDbEnds($endTimeDT) ->setDbCueIn($file['cuein']) diff --git a/airtime_mvc/application/views/scripts/webstream/webstream.phtml b/airtime_mvc/application/views/scripts/webstream/webstream.phtml index 6695c82fc..eb9574ffe 100644 --- a/airtime_mvc/application/views/scripts/webstream/webstream.phtml +++ b/airtime_mvc/application/views/scripts/webstream/webstream.phtml @@ -9,11 +9,11 @@
  • New Webstream
  • - + +obj)) : ?>
    -obj)) : ?>
    diff --git a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js index fd9851f33..457b219b7 100644 --- a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js +++ b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js @@ -8,10 +8,16 @@ var AIRTIME = (function(AIRTIME) { mod = AIRTIME.library; mod.checkAddButton = function() { - var selected = mod.getChosenItemsLength(), sortable = $('#spl_sortable'), check = false; - // make sure audioclips are selected and a playlist is currently open. - if (selected !== 0 && sortable.length !== 0) { + var selected = mod.getChosenItemsLength(), + sortable = $('#spl_sortable:visible'), + check = false, + blockType = $('input[name=sp_type]:checked', '#smart-block-form').val(); + + // make sure audioclips are selected and a playlist or static block is currently open. + // static blocks have value of 0 + // dynamic blocks have value of 1 + if (selected !== 0 && (sortable.length !== 0 || blockType === "0")) { check = true; } @@ -96,6 +102,10 @@ var AIRTIME = (function(AIRTIME) { return container; }, cursor : 'pointer', + cursorAt: { + top: 30, + left: 100 + }, connectToSortable : '#spl_sortable' }); }; diff --git a/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js b/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js index c33ccc351..94f40b4a8 100644 --- a/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js +++ b/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js @@ -201,7 +201,8 @@ function setSmartBlockEvents() { /********** CHANGE PLAYLIST TYPE **********/ form.find('dd[id="sp_type-element"]').live("change", function(){ - setupUI(); + setupUI(); + AIRTIME.library.checkAddButton(); }); /********** CRITERIA CHANGE **********/