started tribe plugin, working on smoother build process
Some checks failed
Deploy to https://wordpress-test.event-federation.eu/ / deploy (push) Failing after 7s

This commit is contained in:
Author: ruru4143 2023-12-09 02:02:25 +01:00 committed by ruru4143
parent 89ffb3d797
commit da059c0d70
3 changed files with 48 additions and 2 deletions

View file

@ -29,8 +29,8 @@ if ( ! defined( 'ABSPATH' ) ) {
* @return void * @return void
*/ */
function register_event_transformers( $transformers_manager ) { function register_event_transformers( $transformers_manager ) {
// require_once __DIR__ . '/activitypub/transformer/class-tribe.php'; require_once __DIR__ . '/activitypub/transformer/class-tribe.php';
// $transformers_manager->register( new \Tribe() ); $transformers_manager->register( new \Tribe() );
require_once __DIR__ . '/activitypub/transformer/class-vs-event.php'; require_once __DIR__ . '/activitypub/transformer/class-vs-event.php';
$transformers_manager->register( new \VS_Event() ); $transformers_manager->register( new \VS_Event() );

View file

@ -66,4 +66,49 @@ class Tribe extends \Activitypub\Transformer\Base {
public static function get_supported_post_types() { public static function get_supported_post_types() {
return array( 'tribe_events' ); return array( 'tribe_events' );
} }
/**
* Transforms the VS Event WP_Post object to an ActivityPub Event Object.
*
* @see \Activitypub\Activity\Base_Object
*
* @return \Activitypub\Activity\Base_Object The ActivityPub Object.
*/
public function transform() {
$object = new Event();
$this->set_timeformat( 'Y-m-d\TH:i:s\Z' );
$object
->set_id( $this->get_id() )
->set_url( $this->get_url() )
->set_external_participation_url( $this->get_url() )
->set_published( $this->get_published() )
->if( $this->get_updated() > $this->get_published() )
->set_updated( $this->get_updated() )
->set_attributed_to( $this->get_attributed_to() )
->set_content( $this->get_content() )
->set_content_map( $this->get_basic_content_map() ) // todo rename to basic
->set_summary( $this->get_post_meta( 'post_excerpt', true, $this->get_content() ) ) // todo second argument is fallback / default
->set_start_time( $this->get_post_meta_time( '_EventStartDateUTC' ) )
->set_end_time( $this->get_post_meta_time( '_EventEndDateUTC' ) )
->set_to( $this->get_followers_stream() )
// ->set_location( $this->get_event_location()->to_array())
->set_cc( $this->get_cc() )
->set_attachment( $this->get_attachments() )
->set_tag( $this->get_tags() )
->set_comments_enabled( $this->get_comments_open() )
->set_replies_moderation_option( 'allow_all' )
->set_join_mode( 'external' )
->set_status( 'CONFIRMED' )
->set_category( 'MEETING' );
assert( $object->get_type() === $this->get_object_type() );
return $object;
}
} }

View file

@ -133,6 +133,7 @@ class VS_Event extends \Activitypub\Transformer\Base {
* @return \Activitypub\Activity\Base_Object The ActivityPub Object. * @return \Activitypub\Activity\Base_Object The ActivityPub Object.
*/ */
public function transform() { public function transform() {
// todo make tranform nicer
$context = Event::get_context(); $context = Event::get_context();
$object = new Event(); $object = new Event();
$object $object