96 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Events Manager.
 | 
						|
 *
 | 
						|
 * Defines all the necessary meta information and methods for the integration of the
 | 
						|
 * WordPress plugin "Events Manager".
 | 
						|
 *
 | 
						|
 * @link    https://wordpress.org/plugins/events-manager/
 | 
						|
 * @package Event_Bridge_For_ActivityPub
 | 
						|
 * @since   1.0.0
 | 
						|
 */
 | 
						|
 | 
						|
namespace Event_Bridge_For_ActivityPub\Integrations;
 | 
						|
 | 
						|
// Exit if accessed directly.
 | 
						|
defined( 'ABSPATH' ) || exit; // @codeCoverageIgnore
 | 
						|
 | 
						|
use Event_Bridge_For_ActivityPub\ActivityPub\Transformer\Event\Events_Manager as Events_Manager_Event_Transformer;
 | 
						|
use Event_Bridge_For_ActivityPub\ActivityPub\Transformer\Place\Events_Manager as Events_Manager_Place_Transformer;
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * Events Manager.
 | 
						|
 *
 | 
						|
 * Defines all the necessary meta information and methods for the integration of the
 | 
						|
 * WordPress plugin "Events Manager".
 | 
						|
 *
 | 
						|
 * @since 1.0.0
 | 
						|
 */
 | 
						|
final class Events_Manager extends Event_Plugin_Integration {
 | 
						|
	/**
 | 
						|
	 * Returns the full plugin file.
 | 
						|
	 *
 | 
						|
	 * @return string
 | 
						|
	 */
 | 
						|
	public static function get_relative_plugin_file(): string {
 | 
						|
		return 'events-manager/events-manager.php';
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Returns the event post type of the plugin.
 | 
						|
	 *
 | 
						|
	 * @return string
 | 
						|
	 */
 | 
						|
	public static function get_post_type(): string {
 | 
						|
		return defined( 'EM_POST_TYPE_EVENT' ) ? constant( 'EM_POST_TYPE_EVENT' ) : 'event';
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Returns the place post type of the plugin.
 | 
						|
	 *
 | 
						|
	 * @return string
 | 
						|
	 */
 | 
						|
	public static function get_place_post_type(): string {
 | 
						|
		return defined( 'EM_POST_TYPE_LOCATION' ) ? constant( 'EM_POST_TYPE_LOCATION' ) : 'location';
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Returns the Activitypub transformer for places of the event plugins location post type.
 | 
						|
	 *
 | 
						|
	 * @param \WP_Post $post           The WordPress post object of the Event.
 | 
						|
	 * @return Events_Manager_Place_Transformer
 | 
						|
	 */
 | 
						|
	public static function get_activitypub_place_transformer( $post ): Events_Manager_Place_Transformer {
 | 
						|
		return new Events_Manager_Place_Transformer( $post );
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Returns the IDs of the admin pages of the plugin.
 | 
						|
	 *
 | 
						|
	 * @return array The settings page urls.
 | 
						|
	 */
 | 
						|
	public static function get_settings_page(): array {
 | 
						|
		return array();
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Returns the taxonomy used for the plugin's event categories.
 | 
						|
	 *
 | 
						|
	 * @return string
 | 
						|
	 */
 | 
						|
	public static function get_event_category_taxonomy(): string {
 | 
						|
		return defined( 'EM_TAXONOMY_CATEGORY' ) ? constant( 'EM_TAXONOMY_CATEGORY' ) : 'event-categories';
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Returns the ActivityPub transformer for a Events_Manager event post.
 | 
						|
	 *
 | 
						|
	 * @param \WP_Post $post The WordPress post object of the Event.
 | 
						|
	 * @return Events_Manager_Event_Transformer
 | 
						|
	 */
 | 
						|
	public static function get_activitypub_event_transformer( $post ): Events_Manager_Event_Transformer {
 | 
						|
		return new Events_Manager_Event_Transformer( $post, self::get_event_category_taxonomy() );
 | 
						|
	}
 | 
						|
}
 |