public function getRegistrationCodeByTerm(SS_HTTPRequest $request) { try { $term = Convert::raw2sql($request->param('REG_CODE')); $summit_id = intval($request->param('SUMMIT_ID')); $summit = Summit::get_by_id('Summit', $summit_id); if (is_null($summit)) { throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id)); } $codes = SpeakerSummitRegistrationPromoCode::get()->filter(array('SummitID' => $summit_id, 'OwnerID' => 0, 'SpeakerID' => 0))->where(" Code LIKE '{$term}%' ")->limit(25, 0); $data = array(); foreach ($codes as $code) { $data[] = array('code' => trim($code->Code), 'name' => sprintf('%s (%s)', $code->Code, $code->Type)); } return $this->ok($data, false); } 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 getMembers(SS_HTTPRequest $request) { try { $query_string = $request->getVars(); $query = Convert::raw2sql($query_string['query']); $summit_id = intval($request->param('SUMMIT_ID')); $summit = Summit::get_by_id('Summit', $summit_id); if (is_null($summit)) { throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id)); } $members = DB::query("SELECT M.ID AS id, CONCAT(M.FirstName,' ',M.Surname,' (',M.Email,')') AS name FROM Member AS M\n\n WHERE\n (\n M.FirstName LIKE '%{$query}%' OR\n M.Surname LIKE '%{$query}%' OR\n M.Email LIKE '%{$query}%' OR\n CONCAT(M.FirstName,' ',M.Surname) LIKE '%{$query}%'\n )\n AND\n EXISTS\n (\n SELECT 1 FROM Group_Members AS GM\n INNER JOIN `Group` AS G ON G.ID = GM.GroupID\n WHERE\n GM.MemberID = M.ID\n AND\n (\n G.Code = '" . IFoundationMember::CommunityMemberGroupSlug . "'\n OR\n G.Code = '" . IFoundationMember::FoundationMemberGroupSlug . "'\n )\n )\n ORDER BY M.FirstName, M.Surname LIMIT 25;"); $data = array(); foreach ($members as $member) { $data[] = $member; } return $this->ok($data); } 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 getSchedule(SS_HTTPRequest $request) { try { $summit_id = intval($request->param('SUMMIT_ID')); $summit = Summit::get_by_id('Summit', $summit_id); if (is_null($summit)) { throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id)); } $attendee_id = intval($request->param('ATTENDEE_ID')); $attendee = SummitAttendee::get_by_id('SummitAttendee', $attendee_id); if (is_null($attendee)) { throw new NotFoundEntityException('SummitAttendee', sprintf(' id %s', $attendee_id)); } $events_array = array(); $events = $attendee->Schedule()->sort('StartDate'); foreach ($events as $event) { $event_start_unix = strtotime($event->getStartDateUTC()); $event_end_unix = strtotime($event->getEndDateUTC()); $current_event = time() > $event_start_unix && time() < $event_end_unix; $events_array[] = array('title' => $event->Title, 'location' => $event->getLocationNameNice(), 'time' => $event->getDateNice(), 'current_event' => $current_event); } return $this->ok($events_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 getSpeakerByID(SS_HTTPRequest $request) { try { $speaker_id = intval($request->param('SPEAKER_ID')); $summit_id = intval($request->param('SUMMIT_ID')); $summit = Summit::get_by_id('Summit', $summit_id); if (is_null($summit)) { throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id)); } $speaker = PresentationSpeaker::get_by_id('PresentationSpeaker', $speaker_id); $speaker_array = array('Title' => $speaker->Title, 'FirstName' => $speaker->FirstName, 'LastName' => $speaker->LastName, 'Email' => $speaker->RegistrationRequest()->Email, 'Member' => $speaker->Member()->Exists() ? $speaker->Member()->toMap() : null, 'Twitter' => $speaker->TwitterName, 'IRC' => $speaker->IRCHandle, 'Bio' => $speaker->Bio, 'PicUrl' => $speaker->ProfilePhoto(50), 'Expertise' => $speaker->AreasOfExpertise()->toNestedArray(), 'Presentations' => $speaker->Presentations()->toNestedArray(), 'OtherPresentations' => $speaker->OtherPresentationLinks()->toNestedArray(), 'TravelPreferences' => $speaker->TravelPreferences()->toNestedArray(), 'Languages' => $speaker->Languages()->toNestedArray(), 'Promocodes' => $speaker->PromoCodes()->toNestedArray(), 'Assistances' => $speaker->SummitAssistances()->toNestedArray(), 'OrganizationalRoles' => $speaker->OrganizationalRoles()->toNestedArray(), 'ActiveInvolvements' => $speaker->ActiveInvolvements()->toNestedArray()); return $this->ok($speaker_array, false); } 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 $ex->getMessage(); } }