public function ViewSpeakerProfile() { $speaker_id = intval($this->request->param('SPEAKER_ID')); $speaker = $this->speaker_repository->getById($speaker_id); if (!isset($speaker)) { return $this->httpError(404, 'Sorry that speaker could not be found'); } //Requirements::block("summit/css/schedule-grid.css"); Requirements::css("summit/css/summitapp-speaker.css"); return $this->renderWith(array('SummitAppSpeakerPage', 'SummitPage', 'Page'), array('Speaker' => $speaker, 'Summit' => $this->Summit())); }
/** * @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; }
/** * @param $term * @param bool $obscure_email * @return array */ public function getSpeakerByTerm($term, $obscure_email = true) { $data = $this->speaker_repository->searchByTermActive($term); $res = array(); foreach ($data as $row) { $entry = array(); $speaker_id = intval($row['speaker_id']); $member_id = intval($row['member_id']); $entry['name'] = sprintf("%s %s", $row['firstname'], $row['surname']); if (empty($entry['name'])) { continue; } $entry['title'] = ''; $entry['company'] = ''; $entry['speaker_id'] = $speaker_id; $entry['member_id'] = $member_id; if ($member_id > 0) { $member = $this->member_repository->getById($member_id); $entry['pic'] = $member->ProfilePhotoUrl(); $company = $member->getCurrentCompany(); if (!empty($company)) { $entry['company'] = $company; } } if ($speaker_id > 0) { $speaker = $this->speaker_repository->getById($speaker_id); $entry['pic'] = $speaker->ProfilePhoto(); if (!empty($speaker->Title)) { $entry['title'] = $speaker->Title; } } if ($obscure_email) { $entry['email'] = preg_replace('/(?<=.).(?=.*.@)/u', '*', $row['email']); } array_push($res, $entry); } return $res; }