From f28f6659dc6369b8a4d601d01af150af209d55f7 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 12 Mar 2012 14:23:03 +0100 Subject: [PATCH] CC-3403 : Replace Now Playing with the new Timeline screen --- .../application/configs/navigation.php | 11 +-- .../controllers/LoginController.php | 4 +- .../controllers/ShowbuilderController.php | 88 +++++++++++++++++-- .../application/layouts/scripts/builder.phtml | 3 + .../views/scripts/showbuilder/index.phtml | 1 + .../public/js/airtime/showbuilder/builder.js | 15 ++-- 6 files changed, 96 insertions(+), 26 deletions(-) diff --git a/airtime_mvc/application/configs/navigation.php b/airtime_mvc/application/configs/navigation.php index 46aef0654..ef1ff8d66 100644 --- a/airtime_mvc/application/configs/navigation.php +++ b/airtime_mvc/application/configs/navigation.php @@ -11,9 +11,9 @@ $pages = array( array( 'label' => 'Now Playing', 'module' => 'default', - 'controller' => 'Nowplaying', + 'controller' => 'Showbuilder', 'action' => 'index', - 'resource' => 'nowplaying' + 'resource' => 'showbuilder' ), array( 'label' => 'Add Media', @@ -29,13 +29,6 @@ $pages = array( 'action' => 'index', 'resource' => 'library' ), - array( - 'label' => 'Airtimeline', - 'module' => 'default', - 'controller' => 'Showbuilder', - 'action' => 'index', - 'resource' => 'showbuilder' - ), array( 'label' => 'Calendar', 'module' => 'default', diff --git a/airtime_mvc/application/controllers/LoginController.php b/airtime_mvc/application/controllers/LoginController.php index 652dc4f42..5906ef814 100644 --- a/airtime_mvc/application/controllers/LoginController.php +++ b/airtime_mvc/application/controllers/LoginController.php @@ -68,7 +68,7 @@ class LoginController extends Zend_Controller_Action $tempSess = new Zend_Session_Namespace("referrer"); $tempSess->referrer = 'login'; - $this->_redirect('Nowplaying'); + $this->_redirect('Showbuilder'); } else { @@ -95,7 +95,7 @@ class LoginController extends Zend_Controller_Action public function logoutAction() { Zend_Auth::getInstance()->clearIdentity(); - $this->_redirect('login/index'); + $this->_redirect('showbuilder/index'); } } diff --git a/airtime_mvc/application/controllers/ShowbuilderController.php b/airtime_mvc/application/controllers/ShowbuilderController.php index 28a9ba804..08edddcf0 100644 --- a/airtime_mvc/application/controllers/ShowbuilderController.php +++ b/airtime_mvc/application/controllers/ShowbuilderController.php @@ -18,10 +18,80 @@ class ShowbuilderController extends Zend_Controller_Action public function indexAction() { $this->_helper->layout->setLayout('builder'); + $this->_helper->viewRenderer->setResponseSegment('dialog'); + + global $CC_CONFIG; + + $request = $this->getRequest(); + $baseUrl = $request->getBaseUrl(); - $this->view->headScript()->appendFile($this->view->baseUrl('/js/airtime/library/events/library_showbuilder.js'),'text/javascript'); - - $this->_helper->actionStack('library', 'library'); + $this->view->headScript()->appendFile($this->view->baseUrl('/js/airtime/library/events/library_showbuilder.js?'.$CC_CONFIG['airtime_version']),'text/javascript'); + + $refer_sses = new Zend_Session_Namespace('referrer'); + $userInfo = Zend_Auth::getInstance()->getStorage()->read(); + $user = new Application_Model_User($userInfo->id); + + if ($request->isPost()) { + $form = new Application_Form_RegisterAirtime(); + + $values = $request->getPost(); + if ($values["Publicise"] != 1 && $form->isValid($values)) { + Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); + + if (isset($values["Privacy"])) { + Application_Model_Preference::SetPrivacyPolicyCheck($values["Privacy"]); + } + // unset session + Zend_Session::namespaceUnset('referrer'); + } + else if ($values["Publicise"] == '1' && $form->isValid($values)) { + Application_Model_Preference::SetHeadTitle($values["stnName"], $this->view); + Application_Model_Preference::SetPhone($values["Phone"]); + Application_Model_Preference::SetEmail($values["Email"]); + Application_Model_Preference::SetStationWebSite($values["StationWebSite"]); + Application_Model_Preference::SetPublicise($values["Publicise"]); + + $form->Logo->receive(); + $imagePath = $form->Logo->getFileName(); + + Application_Model_Preference::SetStationCountry($values["Country"]); + Application_Model_Preference::SetStationCity($values["City"]); + Application_Model_Preference::SetStationDescription($values["Description"]); + Application_Model_Preference::SetStationLogo($imagePath); + Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); + + if (isset($values["Privacy"])){ + Application_Model_Preference::SetPrivacyPolicyCheck($values["Privacy"]); + } + // unset session + Zend_Session::namespaceUnset('referrer'); + } + else { + $logo = Application_Model_Preference::GetStationLogo(); + if ($logo) { + $this->view->logoImg = $logo; + } + $this->view->dialog = $form; + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/register.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + } + } + else { + //popup if previous page was login + if ($refer_sses->referrer == 'login' && Application_Model_Nowplaying::ShouldShowPopUp() + && !Application_Model_Preference::GetSupportFeedback() && $user->isAdmin()){ + + $form = new Application_Form_RegisterAirtime(); + + $logo = Application_Model_Preference::GetStationLogo(); + if ($logo) { + $this->view->logoImg = $logo; + } + $this->view->dialog = $form; + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/register.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + } + } + + $this->_helper->actionStack('library', 'library'); $this->_helper->actionStack('builder', 'showbuilder'); } @@ -34,7 +104,7 @@ class ShowbuilderController extends Zend_Controller_Action $now = time(); $from = $request->getParam("from", $now); - $to = $request->getParam("to", $now+(24*60*60)); + $to = $request->getParam("to", $now + (24*60*60)); $start = DateTime::createFromFormat("U", $from, new DateTimeZone("UTC")); $start->setTimezone(new DateTimeZone(date_default_timezone_get())); @@ -53,12 +123,12 @@ class ShowbuilderController extends Zend_Controller_Action $offset = date("Z") * -1; $this->view->headScript()->appendScript("var serverTimezoneOffset = {$offset}; //in seconds"); - $this->view->headScript()->appendFile($baseUrl.'/js/timepicker/jquery.ui.timepicker.js','text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/airtime/showbuilder/builder.js','text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/airtime/showbuilder/main_builder.js','text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/timepicker/jquery.ui.timepicker.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/showbuilder/builder.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/showbuilder/main_builder.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headLink()->appendStylesheet($baseUrl.'/css/jquery.ui.timepicker.css'); - $this->view->headLink()->appendStylesheet($baseUrl.'/css/showbuilder.css'); + $this->view->headLink()->appendStylesheet($baseUrl.'/css/jquery.ui.timepicker.css?'.$CC_CONFIG['airtime_version']); + $this->view->headLink()->appendStylesheet($baseUrl.'/css/showbuilder.css?'.$CC_CONFIG['airtime_version']); } public function builderDialogAction() { diff --git a/airtime_mvc/application/layouts/scripts/builder.phtml b/airtime_mvc/application/layouts/scripts/builder.phtml index c90f2a277..d1d37a4f2 100644 --- a/airtime_mvc/application/layouts/scripts/builder.phtml +++ b/airtime_mvc/application/layouts/scripts/builder.phtml @@ -23,5 +23,8 @@
layout()->builder ?>
+ +layout()->dialog ?> + diff --git a/airtime_mvc/application/views/scripts/showbuilder/index.phtml b/airtime_mvc/application/views/scripts/showbuilder/index.phtml index e69de29bb..f8dc512d7 100644 --- a/airtime_mvc/application/views/scripts/showbuilder/index.phtml +++ b/airtime_mvc/application/views/scripts/showbuilder/index.phtml @@ -0,0 +1 @@ +dialog ?> \ No newline at end of file diff --git a/airtime_mvc/public/js/airtime/showbuilder/builder.js b/airtime_mvc/public/js/airtime/showbuilder/builder.js index 6a54357ec..fd0e0dc84 100644 --- a/airtime_mvc/public/js/airtime/showbuilder/builder.js +++ b/airtime_mvc/public/js/airtime/showbuilder/builder.js @@ -346,13 +346,16 @@ var AIRTIME = (function(AIRTIME){ } //current song is not set, set a timeout to refresh when the first item on the timeline starts. else { - tr = tableDiv.find("tbody tr:first"); - aData = tr.data("aData"); + tr = tableDiv.find("tbody tr.sb-allowed.sb-header:first"); - AIRTIME.showbuilder.timeout = setTimeout(function(){ - AIRTIME.showbuilder.resetTimestamp(); - oTable.fnDraw(); - }, aData.timeUntil * 1000); //need refresh in milliseconds + if (tr.length > 0) { + aData = tr.data("aData"); + + AIRTIME.showbuilder.timeout = setTimeout(function(){ + AIRTIME.showbuilder.resetTimestamp(); + oTable.fnDraw(); + }, aData.timeUntil * 1000); //need refresh in milliseconds + } } }, "fnHeaderCallback": function(nHead) {