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;