2024-11-30 12:26:42 +01:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Event Organiser.
|
|
|
|
*
|
2024-12-16 17:36:23 +01:00
|
|
|
* Defines all the necessary meta information and methods for the integration
|
|
|
|
* of the WordPress "Event Organiser" plugin.
|
2024-11-30 12:26:42 +01:00
|
|
|
*
|
|
|
|
* @link https://wordpress.org/plugins/event-organiser/
|
2024-12-05 16:16:30 +01:00
|
|
|
* @package Event_Bridge_For_ActivityPub
|
2024-11-30 12:26:42 +01:00
|
|
|
* @since 1.0.0
|
|
|
|
*/
|
|
|
|
|
2024-12-05 16:16:30 +01:00
|
|
|
namespace Event_Bridge_For_ActivityPub\Integrations;
|
2024-11-30 12:26:42 +01:00
|
|
|
|
2024-12-15 22:25:28 +01:00
|
|
|
use Event_Bridge_For_ActivityPub\ActivityPub\Transformer\Event_Organiser as Event_Organiser_Transformer;
|
|
|
|
|
2024-11-30 12:26:42 +01:00
|
|
|
// Exit if accessed directly.
|
|
|
|
defined( 'ABSPATH' ) || exit; // @codeCoverageIgnore
|
|
|
|
|
|
|
|
/**
|
2024-12-16 17:36:23 +01:00
|
|
|
* Event Organiser.
|
2024-11-30 12:26:42 +01:00
|
|
|
*
|
2024-12-16 17:36:23 +01:00
|
|
|
* Defines all the necessary meta information and methods for the integration
|
|
|
|
* of the WordPress "Event Organiser" plugin.
|
2024-11-30 12:26:42 +01:00
|
|
|
*
|
|
|
|
* @since 1.0.0
|
|
|
|
*/
|
2024-12-15 22:25:28 +01:00
|
|
|
final class Event_Organiser extends Event_Plugin_Integration {
|
2024-11-30 12:26:42 +01:00
|
|
|
/**
|
|
|
|
* Returns the full plugin file.
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
2024-12-12 23:24:36 +01:00
|
|
|
public static function get_relative_plugin_file(): string {
|
2024-11-30 12:26:42 +01:00
|
|
|
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' );
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2024-12-15 22:25:28 +01:00
|
|
|
* Returns the taxonomy used for the plugin's event categories.
|
2024-11-30 12:26:42 +01:00
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
2024-12-15 22:25:28 +01:00
|
|
|
public static function get_event_category_taxonomy(): string {
|
|
|
|
return 'event-category';
|
2024-11-30 12:26:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2024-12-15 22:25:28 +01:00
|
|
|
* Returns the ActivityPub transformer for a Event_Organiser event post.
|
2024-11-30 12:26:42 +01:00
|
|
|
*
|
2024-12-15 22:25:28 +01:00
|
|
|
* @param WP_Post $post The WordPress post object of the Event.
|
|
|
|
* @return Event_Organiser_Transformer
|
2024-11-30 12:26:42 +01:00
|
|
|
*/
|
2024-12-15 22:25:28 +01:00
|
|
|
public static function get_activitypub_event_transformer( $post ): Event_Organiser_Transformer {
|
|
|
|
return new Event_Organiser_Transformer( $post, self::get_event_category_taxonomy() );
|
2024-11-30 12:26:42 +01:00
|
|
|
}
|
|
|
|
}
|