95 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						||
/**
 | 
						||
 * EventON – Events Calendar
 | 
						||
 *
 | 
						||
 * Defines all the necessary meta information for the integration of the WordPress event plugin
 | 
						||
 * "EventON – Events Calendar".
 | 
						||
 *
 | 
						||
 * @link    https://wordpress.org/plugins/eventon-lite
 | 
						||
 * @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\EventOn as EventOn_Event_Transformer;
 | 
						||
use Event_Bridge_For_ActivityPub\ActivityPub\Transformer\Place\EventOn as EventOn_Location_Transformer;
 | 
						||
 | 
						||
/**
 | 
						||
 * EventON – Events Calendar
 | 
						||
 *
 | 
						||
 * Defines all the necessary meta information for the integration of the WordPress event plugin
 | 
						||
 * "EventON – Events Calendar".
 | 
						||
 *
 | 
						||
 * @since 1.0.0
 | 
						||
 */
 | 
						||
final class EventOn extends Event_Plugin_Integration {
 | 
						||
	/**
 | 
						||
	 * Returns the full plugin file.
 | 
						||
	 *
 | 
						||
	 * @return string
 | 
						||
	 */
 | 
						||
	public static function get_relative_plugin_file(): string {
 | 
						||
		return 'eventon-lite/eventon.php';
 | 
						||
	}
 | 
						||
 | 
						||
	/**
 | 
						||
	 * Returns the event post type of the plugin.
 | 
						||
	 *
 | 
						||
	 * @return string
 | 
						||
	 */
 | 
						||
	public static function get_post_type(): string {
 | 
						||
		return 'ajde_events';
 | 
						||
	}
 | 
						||
 | 
						||
	/**
 | 
						||
	 * 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( 'admin.php?page=eventon' );
 | 
						||
	}
 | 
						||
 | 
						||
	/**
 | 
						||
	 * Returns the taxonomy used for the plugin's event categories.
 | 
						||
	 *
 | 
						||
	 * @return string
 | 
						||
	 */
 | 
						||
	public static function get_event_category_taxonomy(): string {
 | 
						||
		return '';
 | 
						||
	}
 | 
						||
 | 
						||
	/**
 | 
						||
	 * Returns the ActivityPub transformer for a VS_Event_List event post.
 | 
						||
	 *
 | 
						||
	 * @param \WP_Post $post The WordPress post object of the Event.
 | 
						||
	 * @return EventOn_Event_Transformer
 | 
						||
	 */
 | 
						||
	public static function get_activitypub_event_transformer( $post ): EventOn_Event_Transformer {
 | 
						||
		return new EventOn_Event_Transformer( $post, self::get_event_category_taxonomy() );
 | 
						||
	}
 | 
						||
 | 
						||
	/**
 | 
						||
	 * In case an event plugin uses a custom taxonomy for storing locations/venues return it here.
 | 
						||
	 *
 | 
						||
	 * @return string
 | 
						||
	 */
 | 
						||
	public static function get_place_taxonomy() {
 | 
						||
		return 'event_location';
 | 
						||
	}
 | 
						||
 | 
						||
	/**
 | 
						||
	 * Returns the ActivityPub transformer for a Event_Organiser event venue which is stored in a taxonomy.
 | 
						||
	 *
 | 
						||
	 * @param \WP_Term $term The WordPress Term/Taxonomy of the venue.
 | 
						||
	 * @return EventOn_Location_Transformer
 | 
						||
	 */
 | 
						||
	public static function get_activitypub_place_transformer( $term ): EventOn_Location_Transformer {
 | 
						||
		return new EventOn_Location_Transformer( $term );
 | 
						||
	}
 | 
						||
}
 |