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(); } }