From d6eb0438996671823cd8f79fa68c7de9ffa0d04a Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Wed, 2 Jan 2013 16:09:32 -0500 Subject: [PATCH] CC-4765: Webstream of AAC type can't be previewed -fixed --- .../application/controllers/LibraryController.php | 4 +++- airtime_mvc/application/models/StoredFile.php | 5 +++++ airtime_mvc/public/js/airtime/library/library.js | 12 +++++------- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index 738fa29de..96fd37435 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -218,9 +218,11 @@ class LibraryController extends Zend_Controller_Action } $menu["duplicate"] = array("name" => _("Duplicate Playlist"), "icon" => "edit", "url" => $baseUrl."/library/duplicate"); } elseif ($type == "stream") { - $webstream = CcWebstreamQuery::create()->findPK($id); $obj = new Application_Model_Webstream($webstream); + + $menu["play"]["mime"] = $webstream->getDbMime(); + if (isset($obj_sess->id) && $screen == "playlist") { if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { if ($obj_sess->type === "playlist") { diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index 4b13cfe9f..dd284709d 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -709,6 +709,11 @@ SQL; $blSelect[] = "NULL::VARCHAR AS ".$key; $fileSelect[] = $key; $streamSelect[] = "url AS ".$key; + } else if ($key == "mime") { + $plSelect[] = "NULL::VARCHAR AS ".$key; + $blSelect[] = "NULL::VARCHAR AS ".$key; + $fileSelect[] = $key; + $streamSelect[] = $key; } else { $plSelect[] = "NULL::text AS ".$key; $blSelect[] = "NULL::text AS ".$key; diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index 35caf2ebd..1686e0582 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -558,20 +558,18 @@ var AIRTIME = (function(AIRTIME) { // add the play function to the library_type td $(nRow).find('td.library_type').click(function(){ if (aData.ftype === 'playlist' && aData.length !== '0.0'){ - playlistIndex = $(this).parent().attr('id').substring(3); // remove - // the - // pl_ + playlistIndex = $(this).parent().attr('id').substring(3); open_playlist_preview(playlistIndex, 0); } else if (aData.ftype === 'audioclip') { if (isAudioSupported(aData.mime)) { open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name); } } else if (aData.ftype == 'stream') { - open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name); + if (isAudioSupported(aData.mime)) { + open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name); + } } else if (aData.ftype == 'block' && aData.bl_type == 'static') { - blockIndex = $(this).parent().attr('id').substring(3); // remove - // the - // bl_ + blockIndex = $(this).parent().attr('id').substring(3); open_block_preview(blockIndex, 0); } return false;