public function getVideoReport(SS_HTTPRequest $request) { try { $summit_id = intval($request->param('SUMMIT_ID')); $summit = $this->summit_repository->getById($summit_id); $query_string = $request->getVars(); $report = $this->report_repository->getByName('video_report'); $tracks = ''; if (isset($query_string['tracks']) && $query_string['tracks'] != '') { $tracks = html_entity_decode($query_string['tracks']); } else { if ($report) { $tracks = $report->getConfigByName('Tracks'); } } $venues = isset($query_string['venues']) ? $query_string['venues'] : ''; $start_date = isset($query_string['start_date']) && $query_string['start_date'] ? date('Y-m-d', strtotime($query_string['start_date'])) : ''; $end_date = isset($query_string['end_date']) && $query_string['end_date'] ? date('Y-m-d', strtotime($query_string['end_date'])) : ''; $search_term = isset($query_string['search_term']) ? $query_string['search_term'] : ''; if (is_null($summit)) { throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id)); } $days = $summit->getDates(); $report_array = array(); foreach ($days as $day) { $day_report = $this->assistance_repository->getPresentationMaterialBySummitAndDay($summit_id, $day->Date, $tracks, $venues, $start_date, $end_date, $search_term); $report_array[$day->Label] = array(); foreach ($day_report as $videos) { $report_array[$day->Label][] = array('id' => intVal($videos['id']), 'date' => $summit->convertDateFromUTC2TimeZone($videos['start_date'], 'm/d/Y'), 'start_time' => $summit->convertDateFromUTC2TimeZone($videos['start_date'], 'g:ia'), 'end_time' => $summit->convertDateFromUTC2TimeZone($videos['end_date'], 'g:ia'), 'tags' => $videos['tags'] . ',' . $videos['speakers'] . ',OpenStack Summit Austin', 'title' => $videos['event'], 'description' => $videos['description'], 'room' => $videos['room'], 'venue' => $videos['venue'], 'display' => intval($videos['display']), 'youtube' => $videos['youtube_id']); } } $return_array['tracks'] = $tracks ? explode(',', $tracks) : ''; $return_array['report'] = $report_array; return $this->ok($return_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(); } }