function doUp() { global $database; if (DBSchema::existsColumn($database, 'PresentationSpeaker', 'OnSitePhoneNumber')) { $speakers_info_query = <<<SQL SELECT ID, OnSitePhoneNumber, ConfirmedDate, RegisteredForSummit FROM PresentationSpeaker where OnSitePhoneNumber IS NOT NULL; SQL; $res = DB::query($speakers_info_query); foreach ($res as $row) { $speaker_id = intval($row['ID']); $on_site_phone = intval($row['OnSitePhoneNumber']); $confirmed_date = $row['ConfirmedDate']; $registered = (bool) $row['RegisteredForSummit']; $speaker = PresentationSpeaker::get()->byID($speaker_id); if (is_null($speaker)) { continue; } if (PresentationSpeakerSummitAssistanceConfirmationRequest::get()->filter(array('SummitID' => 5, 'SpeakerID' => $speaker_id))->count() > 0) { continue; } $assistance = PresentationSpeakerSummitAssistanceConfirmationRequest::create(); $assistance->SpeakerID = $speaker_id; $assistance->SummitID = 5; $assistance->OnSitePhoneNumber = $on_site_phone; $assistance->ConfirmationDate = $confirmed_date; $assistance->RegisteredForSummit = $registered; $assistance->IsConfirmed = true; $assistance->write(); } DBSchema::dropColumn($database, 'PresentationSpeaker', 'OnSitePhoneNumber'); DBSchema::dropColumn($database, 'PresentationSpeaker', 'ConfirmedDate'); DBSchema::dropColumn($database, 'PresentationSpeaker', 'RegisteredForSummit'); } }
/** * @param int $summit_id * @return PresentationSpeakerSummitAssistanceConfirmationRequest */ public function createAssistanceFor($summit_id) { $request = PresentationSpeakerSummitAssistanceConfirmationRequest::create(); $request->SummitID = $summit_id; $request->SpeakerID = $this->ID; return $request; }