From 68c401b2964c686a1a955191bdbdbc2e6b379bf7 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Mon, 13 Aug 2012 11:04:21 -0400 Subject: [PATCH 01/10] airtime-check-system not using user define port in all cases --- utils/airtime-check-system.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/utils/airtime-check-system.php b/utils/airtime-check-system.php index 22ff7362c..fa244f3b3 100644 --- a/utils/airtime-check-system.php +++ b/utils/airtime-check-system.php @@ -17,7 +17,7 @@ if (substr($sapi_type, 0, 3) == 'cli') { $status = AirtimeCheck::GetStatus($baseUrl, $base_port, $apiKey); - AirtimeCheck::PrintStatus($baseUrl, $status); + AirtimeCheck::PrintStatus($baseUrl, $base_port, $status); } class AirtimeCheck { @@ -92,8 +92,9 @@ class AirtimeCheck { return $os_string." ".$machine; } - public static function GetServerType($p_baseUrl){ - $headerInfo = get_headers("http://$p_baseUrl",1); + public static function GetServerType($p_baseUrl, $p_basePort) + { + $headerInfo = get_headers("http://$p_baseUrl:$p_basePort",1); if (!isset($headerInfo['Server'][0])) return self::UNKNOWN; @@ -120,7 +121,7 @@ class AirtimeCheck { return $data; } - public static function PrintStatus($p_baseUrl, $p_status){ + public static function PrintStatus($p_baseUrl, $p_basePort, $p_status){ if ($p_status === false){ self::output_status("AIRTIME_SERVER_RESPONDING", "FAILED"); @@ -150,7 +151,7 @@ class AirtimeCheck { } self::output_status("OS", self::CheckOsTypeVersion()); self::output_status("CPU", self::GetCpuInfo()); - self::output_status("WEB_SERVER", self::GetServerType($p_baseUrl)); + self::output_status("WEB_SERVER", self::GetServerType($p_baseUrl, $p_basePort)); if (isset($data->services)) { $services = $data->services; From 831a1b192315ef7a957849cd4a03eab702a8c7ed Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Thu, 16 Aug 2012 23:49:37 -0400 Subject: [PATCH 02/10] CC-4242: MP3 streams have the artist name duplicated -fixed --- python_apps/pypo/liquidsoap_scripts/ls_lib.liq | 6 +++--- python_apps/pypo/liquidsoap_scripts/ls_script.liq | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/python_apps/pypo/liquidsoap_scripts/ls_lib.liq b/python_apps/pypo/liquidsoap_scripts/ls_lib.liq index 83ab39322..78854f07d 100644 --- a/python_apps/pypo/liquidsoap_scripts/ls_lib.liq +++ b/python_apps/pypo/liquidsoap_scripts/ls_lib.liq @@ -7,11 +7,11 @@ end def append_title(m) = log("Using stream_format #{!stream_metadata_type}") if !stream_metadata_type == 1 then - [("artist","#{!show_name} - #{m['artist']}")] + [("title", "#{!show_name} - #{m['artist']}")] elsif !stream_metadata_type == 2 then - [("artist",!station_name), ("title", !show_name)] + [("title", "#{!station_name} - #{!show_name}")] else - [] + [("title", "#{m['artist']} - #{m['title']}")] end end diff --git a/python_apps/pypo/liquidsoap_scripts/ls_script.liq b/python_apps/pypo/liquidsoap_scripts/ls_script.liq index 482a60a5e..dabd164a7 100644 --- a/python_apps/pypo/liquidsoap_scripts/ls_script.liq +++ b/python_apps/pypo/liquidsoap_scripts/ls_script.liq @@ -29,7 +29,7 @@ just_switched = ref false %include "ls_lib.liq" queue = on_metadata(notify, queue) -queue = map_metadata(append_title, queue) +queue = map_metadata(update=false, append_title, queue) # the crossfade function controls fade in/out queue = crossfade(queue) ignore(output.dummy(queue, fallible=true)) From 025656be1cec94db54d501cffedf0f7752a29e1d Mon Sep 17 00:00:00 2001 From: denise Date: Tue, 21 Aug 2012 10:46:25 -0400 Subject: [PATCH 03/10] CC-4205: Smart Playlist Builder: Change text on button mouseovers -changed generate success msg --- airtime_mvc/application/forms/SmartBlockCriteria.php | 2 +- airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airtime_mvc/application/forms/SmartBlockCriteria.php b/airtime_mvc/application/forms/SmartBlockCriteria.php index f23885414..0e68f957a 100644 --- a/airtime_mvc/application/forms/SmartBlockCriteria.php +++ b/airtime_mvc/application/forms/SmartBlockCriteria.php @@ -240,7 +240,7 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm $generate = new Zend_Form_Element_Button('generate_button'); $generate->setAttrib('class', 'ui-button ui-state-default sp-button'); - $generate->setAttrib('title', 'Generate playlist content'); + $generate->setAttrib('title', 'Generate playlist content and save criteria'); $generate->setIgnore(true); $generate->setLabel('Generate'); $generate->setDecorators(array('viewHelper')); diff --git a/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js b/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js index 00b55e7df..05c0422ce 100644 --- a/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js +++ b/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js @@ -458,7 +458,7 @@ function callback(data, type) { if (type == 'shuffle') { form.find('.success').text('Smart block shuffled'); } else if (type == 'generate') { - form.find('.success').text('Smart block generated and saved'); + form.find('.success').text('Smart block generated and criteria saved'); //redraw library table so the length gets updated dt.fnStandingRedraw(); } From 179aa3d7390d1859b2c5d2a8b8ea8473e055324d Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Tue, 21 Aug 2012 10:50:18 -0400 Subject: [PATCH 04/10] CC-1665: Scheduled stream rebroadcasting and recording -Show meaningful page after webstream is deleted --- airtime_mvc/application/controllers/WebstreamController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/airtime_mvc/application/controllers/WebstreamController.php b/airtime_mvc/application/controllers/WebstreamController.php index bf67e13bd..c195b23c7 100644 --- a/airtime_mvc/application/controllers/WebstreamController.php +++ b/airtime_mvc/application/controllers/WebstreamController.php @@ -54,6 +54,10 @@ class WebstreamController extends Zend_Controller_Action $webstream = CcWebstreamQuery::create()->findPK($id)->delete(); + $this->view->ws = null; + $this->view->action = "delete"; + $this->view->html = $this->view->render('webstream/webstream.phtml'); + } public function saveAction() From 47852bce2a69a3bb93a1aff93aabbf31c69176b8 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Tue, 21 Aug 2012 10:50:24 -0400 Subject: [PATCH 05/10] indentation fixes --- .../controllers/PlaylistController.php | 74 +++++++++---------- 1 file changed, 35 insertions(+), 39 deletions(-) diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php index 91ad684d7..b60bcdaaf 100644 --- a/airtime_mvc/application/controllers/PlaylistController.php +++ b/airtime_mvc/application/controllers/PlaylistController.php @@ -106,14 +106,13 @@ class PlaylistController extends Zend_Controller_Action } else { $this->view->html = $this->view->render($viewPath); } - }else{ + } else { $this->view->obj = $obj; $this->view->id = $obj->getId(); $this->view->html = $this->view->render($viewPath); unset($this->view->obj); } - } - else { + } else { $this->view->html = $this->view->render($viewPath); } } @@ -138,7 +137,8 @@ class PlaylistController extends Zend_Controller_Action $this->createFullResponse(null); } - private function playlistNoPermission($p_type){ + private function playlistNoPermission($p_type) + { $this->view->error = "You don't have permission to delete selected {$p_type}(s)."; } @@ -151,12 +151,14 @@ class PlaylistController extends Zend_Controller_Action Logging::log("{$e->getMessage()}"); } - private function wrongTypeToBlock($obj) { + private function wrongTypeToBlock($obj) + { $this->view->error = "You can only add tracks to smart block."; $this->createFullResponse($obj); } - private function wrongTypeToPlaylist($obj) { + private function wrongTypeToPlaylist($obj) + { $this->view->error = "You can only add tracks and smart blocks to playlists."; $this->createFullResponse($obj); } @@ -168,27 +170,27 @@ class PlaylistController extends Zend_Controller_Action $request = $this->getRequest(); $baseUrl = $request->getBaseUrl(); - $this->view->headScript()->appendFile($baseUrl.'/js/blockui/jquery.blockUI.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/contextmenu/jquery.contextMenu.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/datatables/js/jquery.dataTables.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.pluginAPI.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/blockui/jquery.blockUI.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/contextmenu/jquery.contextMenu.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/js/jquery.dataTables.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.pluginAPI.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.fnSetFilteringDelay.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.ColVis.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.ColReorder.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.FixedColumns.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.ColVis.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.ColReorder.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.FixedColumns.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/airtime/buttons/buttons.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/airtime/utilities/utilities.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/library.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($this->view->baseUrl('/js/airtime/library/events/library_playlistbuilder.js'),'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/buttons/buttons.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/utilities/utilities.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/library.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($this->view->baseUrl('/js/airtime/library/events/library_playlistbuilder.js'), 'text/javascript'); $this->view->headLink()->appendStylesheet($baseUrl.'/css/media_library.css?'.$CC_CONFIG['airtime_version']); $this->view->headLink()->appendStylesheet($baseUrl.'/css/jquery.contextMenu.css?'.$CC_CONFIG['airtime_version']); $this->view->headLink()->appendStylesheet($baseUrl.'/css/datatables/css/ColVis.css?'.$CC_CONFIG['airtime_version']); $this->view->headLink()->appendStylesheet($baseUrl.'/css/datatables/css/ColReorder.css?'.$CC_CONFIG['airtime_version']); - $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/spl.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/airtime/playlist/smart_blockbuilder.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/spl.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/playlist/smart_blockbuilder.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); $this->view->headLink()->appendStylesheet($baseUrl.'/css/playlist_builder.css?'.$CC_CONFIG['airtime_version']); try { @@ -199,9 +201,9 @@ class PlaylistController extends Zend_Controller_Action $user = new Application_Model_User($userInfo->id); $isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER)); - if($isAdminOrPM || $obj->getCreatorId() == $userInfo->id){ + if ($isAdminOrPM || $obj->getCreatorId() == $userInfo->id) { $this->view->obj = $obj; - if($this->obj_sess->type == "block"){ + if ($this->obj_sess->type == "block") { $form = new Application_Form_SmartBlockCriteria(); $form->startForm($this->obj_sess->id); $this->view->form = $form; @@ -283,6 +285,7 @@ class PlaylistController extends Zend_Controller_Action Logging::log("Not deleting currently active {$type}"); $obj = new $objInfo['className']($this->obj_sess->id); } + if (strcmp($objInfo['className'], 'Application_Model_Playlist')==0) { Application_Model_Playlist::deletePlaylists($ids, $userInfo->id); } else { @@ -310,7 +313,7 @@ class PlaylistController extends Zend_Controller_Action try { $obj = $this->getPlaylist($obj_type); if ($obj_type == 'playlist') { - foreach($ids as $id) { + foreach ($ids as $id) { if (is_array($id) && isset($id[1])) { if ($id[1] == 'playlist') { throw new WrongTypeToPlaylistException; @@ -321,7 +324,7 @@ class PlaylistController extends Zend_Controller_Action } else if ($obj->isStatic()) { // if the dest is a block object //check if any items are playlists - foreach($ids as $id) { + foreach ($ids as $id) { if (is_array($id) && isset($id[1])) { if ($id[1] != 'audioclip') { throw new WrongTypeToBlockException; @@ -333,11 +336,9 @@ class PlaylistController extends Zend_Controller_Action throw new BlockDynamicException; } $this->createUpdateResponse($obj); - } - catch (PlaylistOutDatedException $e) { + } catch (PlaylistOutDatedException $e) { $this->playlistOutdated($e); - } - catch (PlaylistNotFoundException $e) { + } catch (PlaylistNotFoundException $e) { $this->playlistNotFound($obj_type); } catch (WrongTypeToBlockException $e) { @@ -553,14 +554,12 @@ class PlaylistController extends Zend_Controller_Action $result = $bl->generateSmartBlock($params['data']); try { die(json_encode(array("result"=>0, "html"=>$this->createFullResponse($bl, true)))); - } - catch (PlaylistNotFoundException $e) { + } catch (PlaylistNotFoundException $e) { $this->playlistNotFound('block'); - } - catch (Exception $e) { + } catch (Exception $e) { $this->playlistUnknownError($e); } - }else{ + } else { $this->view->obj = $bl; $this->view->id = $bl->getId(); $this->view->form = $form; @@ -581,14 +580,10 @@ class PlaylistController extends Zend_Controller_Action if ($result['result'] == 0) { try { die(json_encode(array("result"=>0, "html"=>$this->createFullResponse($bl, true)))); - } - catch (PlaylistNotFoundException $e) { + } catch (PlaylistNotFoundException $e) { $this->playlistNotFound('block'); } - catch (Exception $e) { - $this->playlistUnknownError($e); - } - }else{ + } else { die(json_encode($result)); } } @@ -606,7 +601,8 @@ class PlaylistController extends Zend_Controller_Action return $info; } - public function getBlockInfoAction(){ + public function getBlockInfoAction() + { $request = $this->getRequest(); $params = $request->getPost(); $bl = new Application_Model_Block($params['id']); From 51ebae3de92a859860fa2052f567b5881abf6541 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Tue, 21 Aug 2012 11:12:33 -0400 Subject: [PATCH 06/10] Make sure we are using the Library controller for the Library page --- .../application/configs/navigation.php | 2 +- .../controllers/LibraryController.php | 61 ++++++++++++++++++- .../controllers/PlaylistController.php | 23 ++----- airtime_mvc/application/models/Playlist.php | 13 ++++ .../scripts/{playlist => library}/index.phtml | 0 5 files changed, 79 insertions(+), 20 deletions(-) rename airtime_mvc/application/views/scripts/{playlist => library}/index.phtml (100%) diff --git a/airtime_mvc/application/configs/navigation.php b/airtime_mvc/application/configs/navigation.php index 4d63196fa..5874aa8e2 100644 --- a/airtime_mvc/application/configs/navigation.php +++ b/airtime_mvc/application/configs/navigation.php @@ -25,7 +25,7 @@ $pages = array( array( 'label' => 'Library', 'module' => 'default', - 'controller' => 'Playlist', + 'controller' => 'Library', 'action' => 'index', 'resource' => 'playlist' ), diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index 79f95ba4f..3ba5738bd 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -27,6 +27,65 @@ class LibraryController extends Zend_Controller_Action $this->search_sess = new Zend_Session_Namespace("search"); } + public function indexAction() + { + global $CC_CONFIG; + + $request = $this->getRequest(); + $baseUrl = $request->getBaseUrl(); + + $this->view->headScript()->appendFile($baseUrl.'/js/blockui/jquery.blockUI.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/contextmenu/jquery.contextMenu.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/js/jquery.dataTables.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.pluginAPI.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.fnSetFilteringDelay.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.ColVis.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.ColReorder.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.FixedColumns.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/buttons/buttons.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/utilities/utilities.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/library.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($this->view->baseUrl('/js/airtime/library/events/library_playlistbuilder.js'), 'text/javascript'); + + $this->view->headLink()->appendStylesheet($baseUrl.'/css/media_library.css?'.$CC_CONFIG['airtime_version']); + $this->view->headLink()->appendStylesheet($baseUrl.'/css/jquery.contextMenu.css?'.$CC_CONFIG['airtime_version']); + $this->view->headLink()->appendStylesheet($baseUrl.'/css/datatables/css/ColVis.css?'.$CC_CONFIG['airtime_version']); + $this->view->headLink()->appendStylesheet($baseUrl.'/css/datatables/css/ColReorder.css?'.$CC_CONFIG['airtime_version']); + + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/spl.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/playlist/smart_blockbuilder.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $this->view->headLink()->appendStylesheet($baseUrl.'/css/playlist_builder.css?'.$CC_CONFIG['airtime_version']); + + try { + if (isset($this->obj_sess->id)) { + $objInfo = Application_Model_Playlist::getObjInfo($this->obj_sess->type); + $obj = new $objInfo['className']($this->obj_sess->id); + $userInfo = Zend_Auth::getInstance()->getStorage()->read(); + $user = new Application_Model_User($userInfo->id); + $isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER)); + + if ($isAdminOrPM || $obj->getCreatorId() == $userInfo->id) { + $this->view->obj = $obj; + if ($this->obj_sess->type == "block") { + $form = new Application_Form_SmartBlockCriteria(); + $form->startForm($this->obj_sess->id); + $this->view->form = $form; + } + } + + $formatter = new LengthFormatter($obj->getLength()); + $this->view->length = $formatter->format(); + $this->view->type = $this->obj_sess->type; + } + } catch (PlaylistNotFoundException $e) { + $this->playlistNotFound($this->obj_sess->type); + } catch (Exception $e) { + $this->playlistUnknownError($e); + } + } + + public function contextMenuAction() { $id = $this->_getParam('id'); @@ -270,7 +329,7 @@ class LibraryController extends Zend_Controller_Action Logging::log($data['MDATA_KEY_FILEPATH']); Application_Model_RabbitMq::SendMessageToMediaMonitor("md_update", $data); - $this->_redirect('Playlist'); + $this->_redirect('Library'); } } diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php index b60bcdaaf..28ea6b5f6 100644 --- a/airtime_mvc/application/controllers/PlaylistController.php +++ b/airtime_mvc/application/controllers/PlaylistController.php @@ -39,7 +39,7 @@ class PlaylistController extends Zend_Controller_Action { $obj = null; - $objInfo = $this->getObjInfo($p_type); + $objInfo = Application_Model_Playlist::getObjInfo($p_type); if (isset($this->obj_sess->id)) { $obj = new $objInfo['className']($this->obj_sess->id); @@ -195,7 +195,7 @@ class PlaylistController extends Zend_Controller_Action try { if (isset($this->obj_sess->id)) { - $objInfo = $this->getObjInfo($this->obj_sess->type); + $objInfo = Application_Model_Playlist::getObjInfo($this->obj_sess->type); $obj = new $objInfo['className']($this->obj_sess->id); $userInfo = Zend_Auth::getInstance()->getStorage()->read(); $user = new Application_Model_User($userInfo->id); @@ -227,7 +227,7 @@ class PlaylistController extends Zend_Controller_Action $userInfo = Zend_Auth::getInstance()->getStorage()->read(); $type = $this->_getParam('type'); - $objInfo = $this->getObjInfo($type); + $objInfo = Application_Model_Playlist::getObjInfo($type); $name = 'Untitled Playlist'; if ($type == 'block') { @@ -246,7 +246,7 @@ class PlaylistController extends Zend_Controller_Action { $id = $this->_getParam('id', null); $type = $this->_getParam('type'); - $objInfo = $this->getObjInfo($type); + $objInfo = Application_Model_Playlist::getObjInfo($type); Logging::log("editing {$type} {$id}"); if (!is_null($id)) { @@ -271,7 +271,7 @@ class PlaylistController extends Zend_Controller_Action $obj = null; - $objInfo = $this->getObjInfo($type); + $objInfo = Application_Model_Playlist::getObjInfo($type); $userInfo = Zend_Auth::getInstance()->getStorage()->read(); $user = new Application_Model_User($userInfo->id); @@ -588,19 +588,6 @@ class PlaylistController extends Zend_Controller_Action } } - public function getObjInfo($p_type) - { - $info = array(); - - if (strcmp($p_type, 'playlist')==0) { - $info['className'] = 'Application_Model_Playlist'; - } else { - $info['className'] = 'Application_Model_Block'; - } - - return $info; - } - public function getBlockInfoAction() { $request = $this->getRequest(); diff --git a/airtime_mvc/application/models/Playlist.php b/airtime_mvc/application/models/Playlist.php index 19023fc8d..29dcd03f8 100644 --- a/airtime_mvc/application/models/Playlist.php +++ b/airtime_mvc/application/models/Playlist.php @@ -899,6 +899,19 @@ SQL; CcPlaylistcontentsQuery::create()->findByDbPlaylistId($this->id)->delete(); } + public static function getObjInfo($p_type) + { + $info = array(); + + if (strcmp($p_type, 'playlist')==0) { + $info['className'] = 'Application_Model_Playlist'; + } else { + $info['className'] = 'Application_Model_Block'; + } + + return $info; + } + } // class Playlist class PlaylistNotFoundException extends Exception {} diff --git a/airtime_mvc/application/views/scripts/playlist/index.phtml b/airtime_mvc/application/views/scripts/library/index.phtml similarity index 100% rename from airtime_mvc/application/views/scripts/playlist/index.phtml rename to airtime_mvc/application/views/scripts/library/index.phtml From 0ce4c1000be977fbf57cc06af0cfba3d100960ce Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Tue, 21 Aug 2012 11:13:27 -0400 Subject: [PATCH 07/10] replace tabs with spaces -also remove \r characters --- .../application/configs/navigation.php | 78 +++++++++---------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/airtime_mvc/application/configs/navigation.php b/airtime_mvc/application/configs/navigation.php index 5874aa8e2..724fa4c40 100644 --- a/airtime_mvc/application/configs/navigation.php +++ b/airtime_mvc/application/configs/navigation.php @@ -8,38 +8,38 @@ * the navigation container below. */ $pages = array( - array( + array( 'label' => 'Now Playing', 'module' => 'default', 'controller' => 'Showbuilder', 'action' => 'index', - 'resource' => 'showbuilder' - ), - array( - 'label' => 'Add Media', - 'module' => 'default', - 'controller' => 'Plupload', - 'action' => 'index', - 'resource' => 'plupload' - ), - array( - 'label' => 'Library', - 'module' => 'default', - 'controller' => 'Library', - 'action' => 'index', - 'resource' => 'playlist' - ), - array( + 'resource' => 'showbuilder' + ), + array( + 'label' => 'Add Media', + 'module' => 'default', + 'controller' => 'Plupload', + 'action' => 'index', + 'resource' => 'plupload' + ), + array( + 'label' => 'Library', + 'module' => 'default', + 'controller' => 'Library', + 'action' => 'index', + 'resource' => 'playlist' + ), + array( 'label' => 'Calendar', 'module' => 'default', 'controller' => 'Schedule', 'action' => 'index', - 'resource' => 'schedule' - ), + 'resource' => 'schedule' + ), array( 'label' => 'System', - 'uri' => '#', - 'resource' => 'preference', + 'uri' => '#', + 'resource' => 'preference', 'pages' => array( array( 'label' => 'Preferences', @@ -51,14 +51,14 @@ $pages = array( 'module' => 'default', 'controller' => 'user', 'action' => 'add-user', - 'resource' => 'user' + 'resource' => 'user' ), array( 'label' => 'Media Folders', 'module' => 'default', 'controller' => 'Preference', 'action' => 'directory-config', - 'id' => 'manage_folder' + 'id' => 'manage_folder' ), array( 'label' => 'Streams', @@ -77,28 +77,28 @@ $pages = array( 'module' => 'default', 'controller' => 'systemstatus', 'action' => 'index', - 'resource' => 'systemstatus' + 'resource' => 'systemstatus' ), - array( - 'label' => 'Playout History', - 'module' => 'default', - 'controller' => 'playouthistory', - 'action' => 'index', - 'resource' => 'playouthistory' - ) + array( + 'label' => 'Playout History', + 'module' => 'default', + 'controller' => 'playouthistory', + 'action' => 'index', + 'resource' => 'playouthistory' + ) ) ), - array( - 'label' => 'Help', - 'uri' => '#', - 'resource' => 'dashboard', + array( + 'label' => 'Help', + 'uri' => '#', + 'resource' => 'dashboard', 'pages' => array( array( 'label' => 'Getting Started', 'module' => 'default', 'controller' => 'dashboard', 'action' => 'help', - 'resource' => 'dashboard' + 'resource' => 'dashboard' ), array( 'label' => 'User Manual', @@ -110,10 +110,10 @@ $pages = array( 'module' => 'default', 'controller' => 'dashboard', 'action' => 'about', - 'resource' => 'dashboard' + 'resource' => 'dashboard' ) ) - ) + ) ); From 0c381d4692490d2ea3f5dbcaea5fdee4869514bb Mon Sep 17 00:00:00 2001 From: denise Date: Tue, 21 Aug 2012 11:58:39 -0400 Subject: [PATCH 08/10] CC-4253: Smart Playlist: Please support filter tracks by date -fixed --- airtime_mvc/application/models/Block.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php index fbd429d1e..00cdf1c04 100644 --- a/airtime_mvc/application/models/Block.php +++ b/airtime_mvc/application/models/Block.php @@ -1140,7 +1140,17 @@ EOT; $column = CcFilesPeer::getTableMap()->getColumnByPhpName(self::$criteria2PeerMap[$spCriteria]); // if the column is timestamp, convert it into UTC if ($column->getType() == PropelColumnTypes::TIMESTAMP) { - $spCriteriaValue = Application_Common_DateHelper::ConvertToUtcDateTimeString($criteria['value']); + /* Check if only a date was supplied and trim + * the time after it is converted to UTC time + */ + if (strlen($criteria['value']) <= 10) { + //extract date only from timestamp in db + $spCriteria = 'date('.$spCriteria.')'; + $spCriteriaValue = Application_Common_DateHelper::ConvertToUtcDateTimeString($criteria['value']); + $spCriteriaValue = substr($spCriteriaValue, 0, 10); + } else { + $spCriteriaValue = Application_Common_DateHelper::ConvertToUtcDateTimeString($criteria['value']); + } } else if($spCriteria == "bit_rate") { // multiply 1000 because we store only number value // e.g 192kps is stored as 192000 From 167881c903c613b4ac786d5e700ffb79f7afe834 Mon Sep 17 00:00:00 2001 From: denise Date: Tue, 21 Aug 2012 12:01:48 -0400 Subject: [PATCH 09/10] CC-4253: Smart Playlist: Please support filter tracks by date -code refactor --- airtime_mvc/application/models/Block.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php index 00cdf1c04..d5816fab5 100644 --- a/airtime_mvc/application/models/Block.php +++ b/airtime_mvc/application/models/Block.php @@ -1140,16 +1140,14 @@ EOT; $column = CcFilesPeer::getTableMap()->getColumnByPhpName(self::$criteria2PeerMap[$spCriteria]); // if the column is timestamp, convert it into UTC if ($column->getType() == PropelColumnTypes::TIMESTAMP) { + $spCriteriaValue = Application_Common_DateHelper::ConvertToUtcDateTimeString($criteria['value']); /* Check if only a date was supplied and trim * the time after it is converted to UTC time */ if (strlen($criteria['value']) <= 10) { //extract date only from timestamp in db $spCriteria = 'date('.$spCriteria.')'; - $spCriteriaValue = Application_Common_DateHelper::ConvertToUtcDateTimeString($criteria['value']); $spCriteriaValue = substr($spCriteriaValue, 0, 10); - } else { - $spCriteriaValue = Application_Common_DateHelper::ConvertToUtcDateTimeString($criteria['value']); } } else if($spCriteria == "bit_rate") { // multiply 1000 because we store only number value From 2a497bf941ef68ee9c7ee9c712d198b9f82e97fb Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Tue, 21 Aug 2012 12:06:07 -0400 Subject: [PATCH 10/10] remove symlink, not actual binary --- python_apps/pypo/install/pypo-initialize.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python_apps/pypo/install/pypo-initialize.py b/python_apps/pypo/install/pypo-initialize.py index 357aa49c6..01fe004bb 100644 --- a/python_apps/pypo/install/pypo-initialize.py +++ b/python_apps/pypo/install/pypo-initialize.py @@ -85,16 +85,16 @@ try: p = Popen("which liquidsoap", shell=True, stdout=PIPE) liq_path = p.communicate()[0].strip() + symlink_path = "/usr/bin/airtime-liquidsoap" if p.returncode == 0: try: - os.unlink(liq_path) + os.remove(symlink_path) except Exception: #liq_path DNE, which is OK. pass - - os.symlink(liq_path, "/usr/bin/airtime-liquidsoap") + os.symlink(liq_path, symlink_path) else: print " * Liquidsoap binary not found!" sys.exit(1)