diff --git a/airtime_mvc/application/controllers/IndexController.php b/airtime_mvc/application/controllers/IndexController.php index a17850932..8a04b85ca 100644 --- a/airtime_mvc/application/controllers/IndexController.php +++ b/airtime_mvc/application/controllers/IndexController.php @@ -82,6 +82,7 @@ class IndexController extends Zend_Controller_Action $stationName = Application_Model_Preference::GetStationName(); $this->view->podcastTitle = sprintf(_("%s Podcast"), !empty($stationName) ? $stationName : $CC_CONFIG["stationId"]); + $this->view->emptyPodcastMessage = _("No tracks have been published yet."); } diff --git a/airtime_mvc/application/views/scripts/index/index.phtml b/airtime_mvc/application/views/scripts/index/index.phtml index f9a2ac550..8b5ba22c0 100644 --- a/airtime_mvc/application/views/scripts/index/index.phtml +++ b/airtime_mvc/application/views/scripts/index/index.phtml @@ -243,46 +243,52 @@ ready: function () { var episodes = episodes ?>; - buildJplayerPlaylist(0, episodes); + var empty_podcast_message = "emptyPodcastMessage ?>"; - // update current track metadata on player bar - $("#jquery_jplayer_1").bind(jQuery.jPlayer.event.play, function (event) - { - var current = _playlist_jplayer.current; - $('.current-track span').html(playlist[current].title); - }); + if (Object.keys(episodes).length <= 0) { + $(".jp-playlist").append(empty_podcast_message); + } else { + buildJplayerPlaylist(0, episodes); - // build pagination menu - var pages = "
  • <
  • "; - $.each(episodes, function(index, value) { - var page_number = +index + 1; - pages += "
  • "+page_number+"
  • "; - }); - var last_index = Object.keys(episodes).length -1; - pages += "
  • >
  • "; - $("ul.pagination").append(pages); - $("ul.pagination").find("li:contains('1')").addClass('current'); - // pagination click - $("ul.pagination li").click(function() { - buildJplayerPlaylist($(this).attr("data-page-index"), episodes); - $(this).siblings().removeClass('current'); - if ($(this).text() === "<") { - $(this).next().addClass("current"); - } else if ($(this).text() ===">") { - $(this).prev().addClass("current"); - } else { - $(this).addClass('current'); - } + // update current track metadata on player bar + $("#jquery_jplayer_1").bind(jQuery.jPlayer.event.play, function (event) { + var current = _playlist_jplayer.current; + $('.current-track span').html(playlist[current].title); + }); - }); + // build pagination menu + var pages = "
  • <
  • "; + $.each(episodes, function (index, value) { + var page_number = +index + 1; + pages += "
  • " + page_number + "
  • "; + }); + var last_index = Object.keys(episodes).length - 1; + pages += "
  • >
  • "; + $("ul.pagination").append(pages); + $("ul.pagination").find("li:contains('1')").addClass('current'); - //turn off player bar when podcast track is played - $("a.jp-playlist-item, .jp-play, .podcast_play").click(function() { - if ($("#player_iframe").contents().find('.play').hasClass('pause')) { - $("#player_iframe").contents().find('.play').click(); - } - }); + // pagination click + $("ul.pagination li").click(function () { + buildJplayerPlaylist($(this).attr("data-page-index"), episodes); + $(this).siblings().removeClass('current'); + if ($(this).text() === "<") { + $(this).next().addClass("current"); + } else if ($(this).text() === ">") { + $(this).prev().addClass("current"); + } else { + $(this).addClass('current'); + } + + }); + + //turn off player bar when podcast track is played + $("a.jp-playlist-item, .jp-play, .podcast_play").click(function () { + if ($("#player_iframe").contents().find('.play').hasClass('pause')) { + $("#player_iframe").contents().find('.play').click(); + } + }); + } } } );