public function ViewEvent()
 {
     $event_id = intval($this->request->param('EVENT_ID'));
     $this->event_id = $event_id;
     $event = $this->event_repository->getById($event_id);
     if (!isset($event)) {
         return $this->httpError(404, 'Sorry that article could not be found');
     }
     Requirements::block("summit/css/schedule-grid.css");
     Requirements::css("summit/css/summitapp-event.css");
     return $this->renderWith(array('SummitAppEventPage', 'SummitPage', 'Page'), array('Event' => $event));
 }
 public function getSponsorOptions(SS_HTTPRequest $request)
 {
     try {
         $query_string = $request->getVars();
         $query = Convert::raw2sql($query_string['query']);
         $summit_id = intval($request->param('SUMMIT_ID'));
         $event_id = intval($request->param('EVENT_ID'));
         $summit = $this->summit_repository->getById($summit_id);
         if (is_null($summit)) {
             throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id));
         }
         $event = $this->summitevent_repository->getById($event_id);
         if (is_null($event)) {
             throw new NotFoundEntityException('SummitEvent', sprintf(' id %s', $event_id));
         }
         $sponsors = DB::query("SELECT C.ID AS id, C.Name AS name FROM Company AS C\n                                    WHERE C.Name LIKE '{$query}%'\n                                    ORDER BY C.Name");
         $json_array = array();
         foreach ($sponsors as $sponsor) {
             $json_array[] = $sponsor;
         }
         echo json_encode($json_array);
     } catch (NotFoundEntityException $ex2) {
         SS_Log::log($ex2->getMessage(), SS_Log::WARN);
         return $this->notFound($ex2->getMessage());
     } catch (Exception $ex) {
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         return $this->serverError();
     }
 }
 public function unPublishEvent(SS_HTTPRequest $request)
 {
     try {
         if (!$this->isJson()) {
             return $this->validationError(array('invalid content type!'));
         }
         $query_string = $request->getVars();
         $summit_id = intval($request->param('SUMMIT_ID'));
         $event_id = intval($request->param('EVENT_ID'));
         $summit = $this->summit_repository->getById($summit_id);
         if (is_null($summit)) {
             throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id));
         }
         $event = $this->summitevent_repository->getById($event_id);
         if (is_null($event)) {
             throw new NotFoundEntityException('SummitEvent', sprintf(' id %s', $event_id));
         }
         $this->summit_service->unpublishEvent($summit, $event);
         return $this->ok();
     } catch (EntityValidationException $ex1) {
         SS_Log::log($ex1->getMessage(), SS_Log::WARN);
         return $this->validationError($ex1->getMessages());
     } catch (NotFoundEntityException $ex3) {
         SS_Log::log($ex3->getMessage(), SS_Log::WARN);
         return $this->notFound($ex3->getMessage());
     } catch (Exception $ex) {
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         return $this->serverError();
     }
 }
 /**
  * @param SS_HTTPRequest $request
  * @return IEntity|null
  */
 private function getSummitEntity(SS_HTTPRequest $request)
 {
     $speaker_id = intval($request->param('SPEAKER_ID'));
     $event_id = intval($request->param('EVENT_ID'));
     if ($event_id > 0) {
         $this->event_id = $event_id;
         return $this->event_repository->getById($event_id);
     }
     if ($speaker_id > 0) {
         return $this->speaker_repository->getById($speaker_id);
     }
     return null;
 }
 public function scheduleViewEditBulkAction(SS_HTTPRequest $request)
 {
     $summit_id = intval($request->param('SummitID'));
     $action = $request->getVar('action');
     $type = $request->getVar('type');
     $event_ids = $request->getVar('event_ids');
     if (empty($action)) {
         throw new InvalidArgumentException('action');
     }
     if (empty($type)) {
         throw new InvalidArgumentException('type');
     }
     if (empty($event_ids)) {
         throw new InvalidArgumentException('event_ids');
     }
     $event_ids = explode(',', $event_ids);
     $summit = Summit::get()->byID($summit_id);
     if (is_null($summit) || $summit->ID <= 0) {
         return $this->httpError(404);
     }
     $events = new ArrayList();
     foreach ($event_ids as $event_id) {
         $event = $this->event_repository->getById(intval($event_id));
         if (is_null($event) || $event->SummitID != $summit_id) {
             continue;
         }
         $events->push($event);
     }
     Requirements::css('summit/css/simple-sidebar.css');
     Requirements::css('themes/openstack/bower_assets/clockpicker/dist/bootstrap-clockpicker.min.css');
     Requirements::css('themes/openstack/bower_assets/sweetalert/dist/sweetalert.css');
     Requirements::css('themes/openstack/bower_assets/bootstrap-datepicker/dist/css/bootstrap-datepicker3.min.css');
     Requirements::css('summit/css/bulk-actions.css');
     Requirements::javascript('summit/javascript/simple-sidebar.js');
     Requirements::javascript('themes/openstack/bower_assets/sweetalert/dist/sweetalert.min.js');
     Requirements::javascript('themes/openstack/javascript/jquery-ajax-loader.js');
     Requirements::javascript('openstack/code/utils/CustomHTMLFields/js/jquery-clockpicker.js');
     Requirements::javascript('themes/openstack/bower_assets/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js');
     Requirements::javascript('themes/openstack/bower_assets/moment/min/moment.min.js');
     Requirements::javascript('summit/javascript/summitapp-bulkactions.js');
     return $this->getViewer('scheduleViewEditBulkAction')->process($this, array('Summit' => $summit, 'Events' => $events, 'UnpublishedEvents' => $type === 'unpublished'));
 }