_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('switch-source', 'json') ->addActionContext('disconnect-source', 'json') ->initContext(); } public function indexAction() { // action body } public function disconnectSourceAction(){ $request = $this->getRequest(); $sourcename = $request->getParam('sourcename'); $userInfo = Zend_Auth::getInstance()->getStorage()->read(); $user = new Application_Model_User($userInfo->id); $show = Application_Model_Show::GetCurrentShow(); $show_id = isset($show['id'])?$show['id']:0; $source_connected = Application_Model_Preference::GetSourceStatus($sourcename); if($user->canSchedule($show_id) && $source_connected){ $data = array("sourcename"=>$sourcename); Application_Model_RabbitMq::SendMessageToPypo("disconnect_source", $data); }else{ if($source_connected){ $this->view->error = "You don't have permission to disconnect source."; }else{ $this->view->error = "There is no source connected to this input."; } } } public function switchSourceAction(){ $request = $this->getRequest(); $sourcename = $this->_getParam('sourcename'); $current_status = $this->_getParam('status'); $userInfo = Zend_Auth::getInstance()->getStorage()->read(); $user = new Application_Model_User($userInfo->id); $show = Application_Model_Show::GetCurrentShow(); $show_id = isset($show['id'])?$show['id']:0; $source_connected = Application_Model_Preference::GetSourceStatus($sourcename); if($user->canSchedule($show_id) && ($source_connected || $sourcename == 'scheduled_play')){ $change_status_to = "on"; if(strtolower($current_status) == "on"){ $change_status_to = "off"; } $data = array("sourcename"=>$sourcename, "status"=>$change_status_to); Application_Model_RabbitMq::SendMessageToPypo("switch_source", $data); if(strtolower($current_status) == "on"){ Application_Model_Preference::SetSourceSwitchStatus($sourcename, "off"); $this->view->status = "OFF"; }else{ Application_Model_Preference::SetSourceSwitchStatus($sourcename, "on"); $this->view->status = "ON"; } } else{ if($source_connected){ $this->view->error = "You don't have permission to switch source."; }else{ $this->view->error = "There is no source connected to this input."; } } } public function switchOffSource(){ } public function streamPlayerAction() { global $CC_CONFIG; $request = $this->getRequest(); $baseUrl = $request->getBaseUrl(); $this->view->headLink()->appendStylesheet($baseUrl.'/js/jplayer/skin/jplayer.blue.monday.css?'.$CC_CONFIG['airtime_version']); $this->_helper->layout->setLayout('bare'); $logo = Application_Model_Preference::GetStationLogo(); if($logo){ $this->view->logo = "data:image/png;base64,$logo"; } else { $this->view->logo = "$baseUrl/css/images/airtime_logo_jp.png"; } } public function helpAction() { // action body } public function aboutAction() { $this->view->airtime_version = Application_Model_Preference::GetAirtimeVersion(); } }