} unset($message); } else { // validate date fields //$now = new DateTime('now'); $st = DateTime::createFromFormat("m/d/Y H:i A", $date . " " . $start_time); $et = DateTime::createFromFormat("m/d/Y H:i A", $date . " " . $end_time); /* if($now > $st) { array_push($failure_messages, "<p><strong>Error:</strong> You cannot create an event that has already started</p>"); } else */ if ($st > $et) { array_push($failure_messages, "<p><strong>Time paradox:</strong> You cannot have an event which ends before it starts.</p>"); } else { $event->save(); $event_id = $event->getEventId(); header("Location:../events/details.php?event_id={$event_id}&new=1"); } } } // end if for was submitted ?> <!DOCTYPE html> <html> <head> <?php include_once '../basic_includes/sheets_and_scripts.php'; ?> <title>Create Event</title> </head> <body>
public function testDeleteForceCascadeOneToOne() { $event = new Event(); $event->setTitle('Delete Restrict Event'); $event->setStartDate(new fDate()); $event->store(); $event_detail = new EventDetail(); $event_detail->setEventId($event->getEventId()); $event_detail->setAllowsRegistration(TRUE); $event_detail->store(); $event->delete(TRUE); $this->assertEquals(FALSE, $event->exists()); }
public function update(Event $event) { global $PDO; if (!$event->getEventId()) { throw new Exception("Event don't have eventId when event don't exists"); } else { update("event", ["title" => $event->getTitle(), "description" => $event->getDescription(), "type" => $event->getType(), "location" => $event->getLocation(), "start_hour" => $event->getStartHour(), "final_hour" => $event->getFinalHour(), "color" => $event->getColor(), "status" => $event->getStatus(), "date_create" => $event->getDateCreate(), "user_id" => $event->getUserId(), "google_calendar_event_id" => $event->getGoogleCalendarEventId(), "notify_status" => $event->getNotifyStatus(), "parent_event_id" => $event->getParentEventId(), "calendar_id" => $event->getCalendarId()], ["Codigo" => $event->getEventId()]); //Event::eventId exits when not problem $eventMeta = $event->getEventMeta(); update("event_meta", ["event_id" => $eventMeta->getEventId(), "date_start" => $eventMeta->getDateStart(), "interval_case" => $eventMeta->getIntervalCase(), "interval_value" => $eventMeta->getIntervalValue(), "week" => $eventMeta->getWeek(), "week_day" => $eventMeta->getWeekDay()], ["Codigo" => $eventMeta->getEventMetaId()]); //verify if exists attendees $childEventsId = $event->childEventsId(); if ($childEventsId) { $filterOfChildEventsId = implode(",", $childEventsId); $rowsAffected = $PDO->exec("\n UPDATE event \n SET title = '{$event->getTitle()}',\n description = '{$event->getDescription()}',\n type = '{$event->getType()}',\n location = '{$event->getLocation()}',\n start_hour = '{$event->getStartHour()}',\n final_hour = '{$event->getFinalHour()}',\n color = '{$event->getColor()}'\n WHERE Codigo IN ({$filterOfChildEventsId})"); $rowsAffected = $PDO->exec("\n UPDATE event_meta \n SET date_start = '{$eventMeta->getDateStart()}',\n interval_case = '{$eventMeta->getIntervalCase()}',\n interval_value = '{$eventMeta->getIntervalValue()}',\n week = '{$eventMeta->getWeek()}',\n week_day = '{$eventMeta->getWeekDay()}'\n WHERE event_id IN ({$filterOfChildEventsId})"); } if ($event->getGoogleCalendarEventId()) { //verify google access $myGoogleClient = get_my_google_client($event->getUserId()); if ($myGoogleClient) { $client = $myGoogleClient->client; $service = new Google_Service_Calendar($client); $googleEvent = $service->events->get('primary', $event->getGoogleCalendarEventId()); $googleEvent->setSummary($event->getTitle()); $googleEvent->setDescription($event->getDescription()); $googleEvent->setLocation($event->getLocation()); //////////////////////////////////////////////////////////////////////// //create google calendar datetime $dateStart = $eventMeta->getDateStart(); $dateEnd = new DateTime($eventMeta->getDateStart()); $startHour = $event->getStartHour(); $finalHour = $event->getFinalHour(); //dateEnd $intervalValue = $eventMeta->getIntervalValue(); $dateEnd->add(new DateInterval("P{$intervalValue}D")); $dateEnd = $dateEnd->format("Y-m-d"); $start_event_date_time = new Google_Service_Calendar_EventDateTime(); $start_event_date_time->setDateTime("{$dateStart}T{$startHour}"); $start_event_date_time->setTimeZone("America/Lima"); $end_event_date_time = new Google_Service_Calendar_EventDateTime(); $end_event_date_time->setDateTime("{$dateEnd}T{$finalHour}"); $end_event_date_time->setTimeZone("America/Lima"); //////////////////////////////////////////////////////////////////////// $googleEvent->setStart($start_event_date_time); $googleEvent->setEnd($end_event_date_time); $service->events->update('primary', $googleEvent->getId(), $googleEvent); } } } return $event; }