<?php /** * Event Organiser. * * Defines all the necessary meta information and methods for the integration * of the WordPress "Event Organiser" plugin. * * @link https://wordpress.org/plugins/event-organiser/ * @package Event_Bridge_For_ActivityPub * @since 1.0.0 */ namespace Event_Bridge_For_ActivityPub\Integrations; use Event_Bridge_For_ActivityPub\ActivityPub\Transformer\Event_Organiser as Event_Organiser_Transformer; // Exit if accessed directly. defined( 'ABSPATH' ) || exit; // @codeCoverageIgnore /** * Event Organiser. * * Defines all the necessary meta information and methods for the integration * of the WordPress "Event Organiser" plugin. * * @since 1.0.0 */ final class Event_Organiser extends Event_Plugin_Integration { /** * Returns the full plugin file. * * @return string */ public static function get_relative_plugin_file(): string { return 'event-organiser/event-organiser.php'; } /** * Returns the event post type of the plugin. * * @return string */ public static function get_post_type(): string { return 'event'; } /** * Returns the IDs of the admin pages of the plugin. * * @return array The settings page urls. */ public static function get_settings_pages(): array { return array( 'event-organiser' ); } /** * Returns the taxonomy used for the plugin's event categories. * * @return string */ public static function get_event_category_taxonomy(): string { return 'event-category'; } /** * Returns the ActivityPub transformer for a Event_Organiser event post. * * @param WP_Post $post The WordPress post object of the Event. * @return Event_Organiser_Transformer */ public static function get_activitypub_event_transformer( $post ): Event_Organiser_Transformer { return new Event_Organiser_Transformer( $post, self::get_event_category_taxonomy() ); } }