public static function getMergedFromArrays(array $meetupEvent = [], array $dbEvent = null) { if (empty($meetupEvent)) { $supporter = new NullSupporter(); $date = new \DateTime(); $talk = new NullTalk(); $venue = new NullVenue(); $model = new EventModel($talk, $date, $venue, $supporter); return $model; } if (!is_null($dbEvent)) { $speaker = new Speaker($dbEvent['first_name'], $dbEvent['last_name'], new Email($dbEvent['email']), new Twitter($dbEvent['twitter']), $dbEvent['avatar']); $speaker->setId($dbEvent['speaker_id']); $supporter = new Supporter($dbEvent['supporter_name'], $dbEvent['supporter_url'], new Twitter($dbEvent['supporter_twitter']), new Email($dbEvent['supporter_email']), $dbEvent['supporter_logo']); $supporter->setId($dbEvent['supporter_id']); } else { $speaker = new NullSpeaker(); $supporter = new NullSupporter(); } $talk = new Talk($meetupEvent['subject'], $meetupEvent['description'], $speaker); $venue = new Venue($meetupEvent['venue_name'], $meetupEvent['venue_address']); $venue->setId($meetupEvent['venue_id']); $date = \DateTime::createFromFormat('F jS Y g:ia', $meetupEvent['date'] . ' ' . $meetupEvent['time']); $event = new EventModel($talk, $date, $venue, $supporter); $event->setName($meetupEvent['group']); $event->setMindsUrl($meetupEvent['minds_url']); $event->setMeetupID($meetupEvent['id']); $event->setMeetupURL($meetupEvent['event_url']); return $event; }
public function getEvent() { return $this->get('event', function () { $email = new Email('*****@*****.**'); $twitter = new Twitter('@PHPMiNDS'); $startDate = "17/12/2015"; $startTime = '20:00'; $eventDuration = 'PT2H'; $speaker = new Speaker('A', 'Speaker', $email, $twitter); $talk = new Talk('A title', 'A description', $speaker, $eventDuration); $venue = new Venue('a little venue', 'by the sidewalk', 'Europe'); $venue->setId(123); $supporter = new Supporter('a big fan', 'youareawso.me', $twitter, $email, 'http://nolo.go'); return new EventModel($talk, \DateTime::createFromFormat("d/m/Y H:i", $startDate . ' ' . $startTime), $venue, $supporter); }); }
protected function getEvent() { $email = new Email('*****@*****.**'); $twitter = new Twitter('@PHPMiNDS'); $startDate = '2017-03-10'; $startTime = '20:00'; $eventDuration = 'PT2H'; $speaker = new Speaker('AnAwesome', 'Speaker', $email, $twitter); $speaker->setId(300); $talk = new Talk('A title', 'A description. But I think we need a much longer description in order for joind.in to accept this talk...', $speaker, $eventDuration); $talk->setId(200); $venue = new Venue('JH', 'by the sidewalk', 'Europe'); $venue->setId(100); $supporter = new Supporter('a big fan', 'youareawso.me', $twitter, $email, 'http://nolo.go'); $supporter->setId(350); return new EventModel($talk, $startDate, $startTime, $venue, $supporter); }