first_name; } /** * @param string $first_name */ public function setFirstName($first_name) { $this->first_name = $first_name; } /** * @return string */ public function getLastName() { return $this->last_name; } /** * @param string $last_name */ public function setLastName($last_name) { $this->last_name = $last_name; } /** * @return string */ public function getTitle() { return $this->title; } /** * @param string $title */ public function setTitle($title) { $this->title = $title; } /** * @return string */ public function getBio() { return $this->bio; } /** * @param string $bio */ public function setBio($bio) { $this->bio = $bio; } /** * @return string */ public function getIrcHandle() { return $this->irc_handle; } /** * @param string $irc_handle */ public function setIrcHandle($irc_handle) { $this->irc_handle = $irc_handle; } /** * @return string */ public function getTwitterName() { return $this->twitter_name; } /** * @param string $twitter_name */ public function setTwitterName($twitter_name) { $this->twitter_name = $twitter_name; } public function __construct() { parent::__construct(); $this->presentations = new ArrayCollection; $this->moderated_presentations = new ArrayCollection; } /** * @param Presentation $presentation */ public function addPresentation(Presentation $presentation){ $this->presentations->add($presentation); } /** * @param null|int $summit_id * @param bool|true $published_ones * @return Presentation[] */ public function presentations($summit_id, $published_ones = true) { return $this->presentations ->filter(function($p) use($published_ones, $summit_id){ $res = $published_ones? $p->isPublished(): true; $res &= is_null($summit_id)? true : $p->getSummit()->getId() == $summit_id; return $res; }); } /** * @param null|int $summit_id * @param bool|true $published_ones * @return Presentation[] */ public function moderated_presentations($summit_id, $published_ones = true) { return $this->moderated_presentations ->filter(function($p) use($published_ones, $summit_id){ $res = $published_ones? $p->isPublished(): true; $res &= is_null($summit_id)? true : $p->getSummit()->getId() == $summit_id; return $res; }); } /** * @param int $presentation_id * @return Presentation */ public function getPresentation($presentation_id) { return $this->presentations->get($presentation_id); } /** * @param null $summit_id * @param bool|true $published_ones * @return array */ public function getPresentationIds($summit_id, $published_ones = true) { return $this->presentations($summit_id, $published_ones)->map(function($entity) { return $entity->getId(); })->toArray(); } /** * @param null $summit_id * @param bool|true $published_ones * @return array */ public function getPresentations($summit_id, $published_ones = true) { return $this->presentations($summit_id, $published_ones)->map(function($entity) { return $entity; })->toArray(); } /** * @param null $summit_id * @param bool|true $published_ones * @return array */ public function getModeratedPresentationIds($summit_id, $published_ones = true) { return $this->moderated_presentations($summit_id, $published_ones)->map(function($entity) { return $entity->getId(); })->toArray(); } /** * @param null $summit_id * @param bool|true $published_ones * @return array */ public function getModeratedPresentations($summit_id, $published_ones = true) { return $this->moderated_presentations($summit_id, $published_ones)->map(function($entity) { return $entity; })->toArray(); } /** * @return File */ public function getPhoto() { return $this->photo; } /** * @return Member */ public function getMember() { return $this->member; } /** * @return bool */ public function hasMember(){ return $this->getMemberId() > 0; } /** * @return int */ public function getMemberId() { try{ return $this->member->getId(); } catch(\Exception $ex){ return 0; } } /** * @return SpeakerRegistrationRequest */ public function getRegistrationRequest() { return $this->registration_request; } /** * @param SpeakerRegistrationRequest $registration_request */ public function setRegistrationRequest($registration_request) { $this->registration_request = $registration_request; } }