_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('schedule-move', 'json') ->addActionContext('schedule-add', 'json') ->addActionContext('schedule-remove', 'json') ->addActionContext('builder-feed', 'json') ->initContext(); } public function indexAction() { $this->_helper->layout->setLayout('builder'); $this->view->headScript()->appendFile($this->view->baseUrl('/js/airtime/library/events/library_showbuilder.js'),'text/javascript'); $this->_helper->actionStack('library', 'library'); $this->_helper->actionStack('builder', 'showbuilder'); } public function builderAction() { $request = $this->getRequest(); $baseUrl = $request->getBaseUrl(); $this->view->headScript()->appendScript("var serverTimezoneOffset = ".date("Z")."; //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->headLink()->appendStylesheet($baseUrl.'/css/jquery.ui.timepicker.css'); $this->view->headLink()->appendStylesheet($baseUrl.'/css/showbuilder.css'); $this->_helper->viewRenderer->setResponseSegment('builder'); } public function builderFeedAction() { $request = $this->getRequest(); $current_time = time(); $starts_epoch = $request->getParam("start", $current_time); //default ends is 24 hours after starts. $ends_epoch = $request->getParam("end", $current_time + (60*60*24)); $startsDT = DateTime::createFromFormat("U", $starts_epoch, new DateTimeZone("UTC")); $endsDT = DateTime::createFromFormat("U", $ends_epoch, new DateTimeZone("UTC")); Logging::log("showbuilder starts {$startsDT->format("Y-m-d H:i:s")}"); Logging::log("showbuilder ends {$endsDT->format("Y-m-d H:i:s")}"); $showBuilder = new Application_Model_ShowBuilder($startsDT, $endsDT); $this->view->schedule = $showBuilder->GetItems(); } public function scheduleAddAction() { $request = $this->getRequest(); $mediaItems = $request->getParam("mediaIds", null); $scheduledIds = $request->getParam("schedIds", null); $json = array(); try { $scheduler = new Application_Model_Scheduler(); $scheduler->scheduleAfter($scheduledIds, $mediaItems); $json["message"]="success... maybe"; } catch (Exception $e) { $json["message"]=$e->getMessage(); Logging::log($e->getMessage()); } $this->view->data = $json; } public function scheduleRemoveAction() { $request = $this->getRequest(); $ids = $request->getParam("ids", null); $json = array(); try { $scheduler = new Application_Model_Scheduler(); $scheduler->removeItems($ids); $json["message"]="success... maybe"; } catch (Exception $e) { $json["message"]=$e->getMessage(); Logging::log($e->getMessage()); } $this->view->data = $json; } public function scheduleMoveAction() { $request = $this->getRequest(); $selectedItem = $request->getParam("selectedItem"); $afterItem = $request->getParam("afterItem"); $json = array(); try { $scheduler = new Application_Model_Scheduler(); $scheduler->moveItem($selectedItem, $afterItem); $json["message"]="success... maybe"; } catch (Exception $e) { $json["message"]=$e->getMessage(); Logging::log($e->getMessage()); } $this->view->data = $json; } }