_helper->redirector->gotoUrl($baseUrl . 'login'); return; } $this->view->headTitle(Application_Model_Preference::GetHeadTitle()); $this->view->headScript()->appendFile(Assets::url('js/libs/jquery-1.8.3.min.js'), 'text/javascript'); $this->view->headScript()->appendFile(Assets::url('js/i18n/jquery.i18n.js'), 'text/javascript'); $this->view->headScript()->appendFile($baseUrl . 'locale/general-translation-table', 'text/javascript'); $this->view->headScript()->appendScript('$.i18n.setDictionary(general_dict)'); $this->view->headScript()->appendScript("var baseUrl='{$baseUrl}'"); // jplayer $this->view->headScript()->appendFile(Assets::url('js/jplayer/jquery.jplayer.min.js'), 'text/javascript'); $this->view->headScript()->appendFile(Assets::url('js/jplayer/jplayer.playlist.min.js'), 'text/javascript'); $this->view->headLink()->setStylesheet(Assets::url('css/radio-page/radio-page.css')); $this->view->headLink()->appendStylesheet(Assets::url('css/embed/weekly-schedule-widget.css')); $this->view->headLink()->appendStylesheet(Assets::url('css/radio-page/station-podcast.css')); $this->view->headLink()->appendStylesheet(Assets::url('css/bootstrap.css')); // jplayer control buttons $this->view->headLink()->appendStylesheet(Assets::url('css/redmond/jquery-ui-1.8.8.custom.css')); $this->_helper->layout->setLayout('radio-page'); // translate page to station default language $locale = Application_Model_Preference::GetDefaultLocale(); if ($locale) { Application_Model_Locale::configureLocalization($locale); } $this->view->stationLogo = Application_Model_Preference::GetStationLogo(); $stationName = Application_Model_Preference::GetStationName(); $this->view->stationName = $stationName; $stationDescription = Application_Model_Preference::GetStationDescription(); $this->view->stationDescription = $stationDescription; $this->view->stationUrl = Config::getPublicUrl(); $displayRadioPageLoginButtonValue = Application_Model_Preference::getRadioPageDisplayLoginButton(); if ($displayRadioPageLoginButtonValue == '') { $displayRadioPageLoginButtonValue = true; } $this->view->displayLoginButton = $displayRadioPageLoginButtonValue; // station feed episodes $stationPodcastId = Application_Model_Preference::getStationPodcastId(); $podcastEpisodesService = new Application_Service_PodcastEpisodeService(); $episodes = $podcastEpisodesService->getPodcastEpisodes($stationPodcastId, 0, 0, PodcastEpisodesPeer::PUBLICATION_DATE, 'DESC'); foreach ($episodes as $e => $v) { $episodes[$e]['CcFiles']['track_title'] = htmlspecialchars($v['CcFiles']['track_title'], ENT_QUOTES); $episodes[$e]['CcFiles']['artist_name'] = htmlspecialchars($v['CcFiles']['artist_name'], ENT_QUOTES); $pubDate = explode(' ', $v['publication_date']); $episodes[$e]['publication_date'] = $pubDate[0]; $length = explode('.', $v['CcFiles']['length']); $episodes[$e]['CcFiles']['length'] = $length[0]; $episodes[$e]['mime'] = FileDataHelper::getAudioMimeTypeArray()[$v['CcFiles']['mime']]; if (is_null($v['CcFiles']['description'])) { $episodes[$e]['CcFiles']['description'] = ''; } } $episodePages = array_chunk($episodes, 10); $this->view->episodes = json_encode($episodePages, JSON_FORCE_OBJECT); $this->view->displayRssTab = (!Application_Model_Preference::getStationPodcastPrivacy()); $stationPodcast = PodcastQuery::create()->findOneByDbId($stationPodcastId); $url = $stationPodcast->getDbUrl(); $this->view->stationPodcastRssUrl = $url; $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.'); } public function mainAction() { $this->_helper->layout->setLayout('layout'); } public function maintenanceAction() { $this->getResponse()->setHttpResponseCode(503); } }