mc_event = get_post_meta( $wp_object->ID, '_mc_event_data', true); } /** * 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; } }