diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 1e3037fa6..a473e4628 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -84,10 +84,11 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $view->headScript()->appendFile($baseUrl.'/js/airtime/dashboard/playlist.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/airtime/dashboard/versiontooltip.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $view->headScript()->appendFile($baseUrl.'/js/airtime/common/common.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); if (Application_Model_Preference::GetPlanLevel() != "disabled" - && $_SERVER['REQUEST_URI'] != '/Dashboard/stream-player') { + && ($_SERVER['REQUEST_URI'] != '/Dashboard/stream-player' || $_SERVER['REQUEST_URI'] != '/Playlist/audio-preview-player')) { $client_id = Application_Model_Preference::GetClientId(); $view->headScript()->appendScript("var livechat_client_id = '$client_id';"); $view->headScript()->appendFile($baseUrl . '/js/airtime/common/livechat.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php index efa4fb8b4..a0911f636 100644 --- a/airtime_mvc/application/controllers/PlaylistController.php +++ b/airtime_mvc/application/controllers/PlaylistController.php @@ -15,6 +15,7 @@ class PlaylistController extends Zend_Controller_Action ->addActionContext('new', 'json') ->addActionContext('edit', 'json') ->addActionContext('delete', 'json') + ->addActionContext('play', 'json') ->addActionContext('set-playlist-fades', 'json') ->addActionContext('get-playlist-fades', 'json') ->addActionContext('set-playlist-name', 'json') @@ -111,6 +112,7 @@ class PlaylistController extends Zend_Controller_Action $baseUrl = $request->getBaseUrl(); $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/spl.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/playlist_jplayer_preview.js?'.filemtime($baseDir.'/js/airtime/library/playlist_jplayer_preview.js'), 'text/javascript'); $this->view->headLink()->appendStylesheet($baseUrl.'/css/playlist_builder.css?'.$CC_CONFIG['airtime_version']); $this->_helper->viewRenderer->setResponseSegment('spl'); @@ -194,6 +196,31 @@ class PlaylistController extends Zend_Controller_Action $this->playlistUnknownError($e); } } + + public function audioPreviewPlayerAction() + { + Logging::log("PlaylistControler::in the play action"); + + $fileName = $this->_getParam('elementFilename'); + $playlistIndex = $this->_getParam('elemIndexString'); + + $request = $this->getRequest(); + $baseUrl = $request->getBaseUrl(); + $baseDir = dirname($_SERVER['SCRIPT_FILENAME']); + + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/playlist_jplayer_preview.js?'.filemtime($baseDir.'/js/airtime/library/playlist_jplayer_preview.js'),'text/javascript'); + $this->view->headLink()->appendStylesheet($baseUrl.'/js/jplayer/skin/jplayer.blue.monday.css?'.filemtime($baseDir.'/js/jplayer/skin/jplayer.blue.monday.css')); + $this->_helper->layout->setLayout('bare'); + + $logo = Application_Model_Preference::GetStationLogo(); + if($logo){ + $this->view->logo = "data:image/png;base64,$logo"; + } else { + $this->view->logo = "$baseUrl/css/images/airtime_logo_jp.png"; + } + $this->view->fileName = $fileName; + $this->view->playlistIndex= $playlistIndex; + } public function addItemsAction() { diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index aee765c85..83a0bf068 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -629,9 +629,7 @@ class Application_Model_StoredFile { $results = Application_Model_StoredFile::searchFiles($displayColumns, $fromTable, $datatables); - foreach ($results['aaData'] as &$row) { - $row['id'] = intval($row['id']); $formatter = new LengthFormatter($row['length']); diff --git a/airtime_mvc/application/views/scripts/playlist/update.phtml b/airtime_mvc/application/views/scripts/playlist/update.phtml index 3159530f3..35efc766c 100644 --- a/airtime_mvc/application/views/scripts/playlist/update.phtml +++ b/airtime_mvc/application/views/scripts/playlist/update.phtml @@ -1,15 +1,12 @@ pl->getContents(); if (count($items)) : ?> -
  • " unqid="">
    - ', '');"> + ', '');">
    diff --git a/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js b/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js index f4516ea2c..12b419d96 100644 --- a/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js +++ b/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js @@ -186,88 +186,7 @@ function audioStream(){ swfPath: "/js/jplayer", supplied: supplied }); -} - -function playlistAudioPreviewEditor(filename, elemIndexString){ - - elemIndex =parseInt(elemIndexString)+1;//increment the index as tags start from 1 not 0 - console.log("hello world with index "+elemIndex); - - - var cueIn = $("dd[id^=spl_cue_in_"+elemIndex+"]").find('span').html(); - console.log(cueIn); - - var cueOut = $("dd[id^=spl_cue_out_"+elemIndex+"]").find('span').html(); - console.log("The cueOut is "+cueOut); - - var fadeIn = $("dd[id^=spl_fade_in_"+elemIndex+"]").find('span').html(); - if (fadeIn == undefined){ console.log("undefined fadein"); fadeIn = $("dd[id^=spl_fade_in_main]").find('span').html();} - console.log("The fadeIn is "+fadeIn); - - var fadeInFileName = ""; - if (fadeIn != undefined && parseInt(fadeIn) > 0 ){ - //need to get the previous element in the playlist...but don't support previous playlist fading becuase thats not possible. - - } - console.log("The fadeInFileName is "+fadeInFileName); - - var fadeOut = $("dd[id^=spl_fade_out_"+elemIndex+"]").find('span').html(); - if (fadeOut == undefined){ console.log("undefined fadeout"); fadeOut = $("dd[id^=spl_fade_out_main]").find('span').html();} - console.log("The fadeOut is "+fadeOut); - - var fadeOutFileName = ""; - if (fadeOut != undefined && parseInt(fadeOut) > 0 ){ - //need to get the next element in the playlist...but don't support next playlist fading becuase thats not possible. - - } - console.log("The fadeOutFileName is "+fadeOutFileName); - - //Pop out a play list with cue in and cue out set. - console.log(baseUrl+"Dashboard/audio-preview-player"); - //window.open(baseUrl+"Dashboard/audio-preview-player", "music player", "width=200,height=200"); - event.preventDefault(); - - //Set the play button to pause. - var elemID = "spl_"+elemIndexString; - $('#'+elemID+' div.list-item-container a span').attr("class", "ui-icon ui-icon-pause"); - -} - -function audioPreview(filename, elemID){ - - var elems = $('.ui-icon.ui-icon-pause'); - elems.attr("class", "ui-icon ui-icon-play"); - - if ($("#jquery_jplayer_1").data("jPlayer") && $("#jquery_jplayer_1").data("jPlayer").status.paused != true){ - $('#jquery_jplayer_1').jPlayer('stop'); - return; - } - - var ext = getFileExt(filename); - var uri = "/api/get-media/file/" + filename; - - var media; - var supplied; - if (ext == "ogg"){ - media = {oga:uri}; - supplied = "oga"; - } else { - media = {mp3:uri}; - supplied = "mp3"; - } - - $("#jquery_jplayer_1").jPlayer("destroy"); - $("#jquery_jplayer_1").jPlayer({ - ready: function () { - $(this).jPlayer("setMedia", media).jPlayer("play"); - }, - swfPath: "/js/jplayer", - supplied: supplied, - wmode:"window" - }); - - $('#'+elemID+' div.list-item-container a span').attr("class", "ui-icon ui-icon-pause"); -} +} function resizeImg(ele, targetWidth, targetHeight){ var img = $(ele);