canUserEditEvent($event_id)) { wp_die('You do not have permission to edit this event.'); } // Initialize event data $event_data = []; if ($event_id > 0) { try { // Use generator to efficiently load data foreach ($form_handler->getEventData($event_id) as $key => $value) { $event_data[$key] = $value; } } catch (Exception $e) { wp_die('Error loading event: ' . esc_html($e->getMessage())); } } // Set defaults for new events $defaults = [ 'title' => '', 'content' => '', 'excerpt' => '', 'status' => 'draft', '_EventStartDate' => date('Y-m-d'), '_EventEndDate' => date('Y-m-d'), '_EventAllDay' => '0', '_EventCost' => '', '_EventCurrencySymbol' => '$', '_EventURL' => '', '_EventShowMap' => '1', '_EventShowMapLink' => '1', '_EventTimezone' => get_option('timezone_string'), 'venue' => new ArrayObject(), 'organizer' => new ArrayObject(), 'categories' => [], ]; // Merge with defaults $event_data = array_merge($defaults, $event_data); // Parse dates for form display $start_date = ''; $start_time = ''; if (!empty($event_data['_EventStartDate'])) { $start_dt = new DateTime($event_data['_EventStartDate']); $start_date = $start_dt->format('Y-m-d'); $start_time = $start_dt->format('H:i'); } $end_date = ''; $end_time = ''; if (!empty($event_data['_EventEndDate'])) { $end_dt = new DateTime($event_data['_EventEndDate']); $end_date = $end_dt->format('Y-m-d'); $end_time = $end_dt->format('H:i'); } get_header(); ?>
Event saved successfully!