wp_object->ID, '_mc_event_id', true ); $this->mc_event = mc_get_event( $mc_event_id ); $this->mc_event_schema = mc_event_schema( $this->mc_event ); } /** * Formats time from the plugin to the activitypub standard */ private function convert_time( $date_string, $time_string ): string { // Create a DateTime object with the given date, time, and timezone. $datetime = new DateTime( $date_string . ' ' . $time_string ); // Set the timezone for proper formatting. $datetime->setTimezone( new DateTimeZone( 'UTC' ) ); // Format the DateTime object as 'Y-m-d\TH:i:s\Z'. $formatted_date = $datetime->format( 'Y-m-d\TH:i:s\Z' ); return $formatted_date; } /** * Get the start time from the events metadata. */ public function get_start_time(): string { return $this->convert_time( $this->mc_event->event_begin, $this->mc_event->event_time); } /** * Get the end time from the events metadata. */ public function get_end_time(): ?string { return $this->convert_time( $this->mc_event->event_end, $this->mc_event->event_endtime); } public function to_object(): Event { $activitypub_object = parent::to_object(); return $activitypub_object; } }