public function exportPresentationReport(SS_HTTPRequest $request)
 {
     try {
         $query_string = $request->getVars();
         $sort = isset($query_string['sort']) ? Convert::raw2sql($query_string['sort']) : 'name';
         $sort_dir = isset($query_string['sort_dir']) ? Convert::raw2sql($query_string['sort_dir']) : 'ASC';
         $search_term = isset($query_string['term']) ? Convert::raw2sql($query_string['term']) : '';
         $filter = isset($query_string['filter']) ? $query_string['filter'] : 'all';
         $summit_id = intval($request->param('SUMMIT_ID'));
         $summit = $this->summit_repository->getById($summit_id);
         if (is_null($summit)) {
             throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id));
         }
         $ext = 'csv';
         $report_data = $this->presentation_repository->getPresentationsAndSpeakersBySummit($summit_id, null, null, $sort, $sort_dir, $search_term, $filter);
         $data = $report_data['Data'];
         $results = array();
         foreach ($data as $row) {
             $row['Start_Date'] = $summit->convertDateFromUTC2TimeZone($row['Start_Date'], 'm/d/Y g:ia');
             unset($row['Assistance_id']);
             array_push($results, $row);
         }
         $filename = "presentations_report-" . date('Ymd') . "." . $ext;
         $delimiter = $ext == 'xls' ? "\t" : ",";
         return CSVExporter::getInstance()->export($filename, $results, $delimiter);
     } 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 getPresentationReport(SS_HTTPRequest $request)
 {
     try {
         $query_string = $request->getVars();
         $page = isset($query_string['page']) ? Convert::raw2sql($query_string['page']) : '';
         $page_size = isset($query_string['items']) ? Convert::raw2sql($query_string['items']) : '';
         $sort = isset($query_string['sort']) ? Convert::raw2sql($query_string['sort']) : 'presentation';
         $sort_dir = isset($query_string['sort_dir']) ? Convert::raw2sql($query_string['sort_dir']) : 'ASC';
         $search_term = isset($query_string['term']) ? Convert::raw2sql($query_string['term']) : '';
         $filter = isset($query_string['filter']) ? $query_string['filter'] : 'all';
         $summit_id = intval($request->param('SUMMIT_ID'));
         $summit = $this->summit_repository->getById($summit_id);
         if (is_null($summit)) {
             throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id));
         }
         $presentations = $this->presentation_repository->getPresentationsAndSpeakersBySummit($summit_id, $page, $page_size, $sort, $sort_dir, $search_term, $filter);
         $presentation_array = array();
         foreach ($presentations['Data'] as $presentation) {
             $presentation_array[] = array('presentation_id' => $presentation['P_ID'], 'assistance_id' => $presentation['Assistance_id'], 'title' => $presentation['Presentation'], 'published' => $presentation['Published'], 'track' => $presentation['Track'], 'start_date' => $summit->convertDateFromUTC2TimeZone($presentation['Start_Date'], 'm/d/Y g:ia'), 'location' => $presentation['Location'], 'speaker_id' => $presentation['Speaker_id'], 'member_id' => $presentation['Member_id'], 'name' => $presentation['Name'], 'email' => $presentation['Email'], 'phone' => $presentation['Phone'], 'code_type' => $presentation['Type'], 'promo_code' => $presentation['Code'], 'confirmed' => intVal($presentation['Confirmed']), 'registered' => intVal($presentation['Registered']), 'checked_in' => intVal($presentation['Checked_in']));
         }
         return $this->ok(array('total' => $presentations['Total'], 'data' => $presentation_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();
     }
 }