remove experiment with chaining in the generic setter from the VSEL transformer

This commit is contained in:
André Menrath 2024-09-02 14:02:18 +02:00
parent ebc8bd4b37
commit 812cbca546

View file

@ -171,82 +171,37 @@ class VS_Event_List extends Event_Transformer {
return $summary; return $summary;
} }
/** // /**
* Generic setter. // * Transform the WordPress Object into an ActivityPub Object.
* // *
* @param string $key The key to set. // * @return Activitypub\Activity\Event
* @param string $value The value to set. // */
* // public function to_object() {
* @return mixed The value.
*/
public function set( $key, $value ) {
if ( ! $this->ap_object->has( $key ) ) { // $this->ap_object = new Event();
return new WP_Error( 'invalid_key', __( 'Invalid key', 'activitypub' ), array( 'status' => 404 ) ); // $this->ap_object = parent::to_object();
}
$setter_function = 'set_' . $key; // $this
$getter_function = 'get_' . $key; // ->set_content()
// ->set_replies()
if ( in_array( $getter_function, get_class_methods( $this ), true ) ) { // ->set_content_map()
$this->ap_object->$setter_function( $this->$getter_function() ); // ->set_attributed_to()
} else { // ->set_published()
$this->ap_object->$setter_function( $value ); // ->set_start_time()
} // ->set_end_time()
// ->set_type()
return $this; // ->set_category()
} // ->set_attachment()
// ->set_comments_enabled( true )
/** // ->set_external_participation_url( $this->get_url() )
* Magic function to implement setter // ->set_status( 'CONFIRMED' )
* // ->set_name( get_the_title( $this->wp_object->ID ) )
* @param string $method The method name. // ->set_is_online( false )
* @param string $params The method params. // ->set_in_language( $this->get_locale() )
* // ->set_actor()
* @return void|this // ->set_to( array( 'https://www.w3.org/ns/activitystreams#Public' ) )
*/ // ->set_location()
public function __call( $method, $params ) { // ->set_id();
// return $this->ap_object;
$var = \strtolower( \substr( $method, 4 ) ); // }
if ( \strncasecmp( $method, 'set', 3 ) === 0 ) {
return $this->set( $var, $params[0] );
}
// TODO: When do we need: call_user_func( array( $activitypub_object, $setter ), $value ).
return $this;
}
/**
* Transform the WordPress Object into an ActivityPub Object.
*
* @return Activitypub\Activity\Event
*/
public function to_object() {
$this->ap_object = new Event();
$this
->set_content()
->set_content_map()
->set_attributed_to()
->set_published()
->set_start_time()
->set_end_time()
->set_type()
->set_category()
->set_attachment()
->set_comments_enabled( true )
->set_external_participation_url( $this->get_url() )
->set_status( 'CONFIRMED' )
->set_name( get_the_title( $this->wp_object->ID ) )
->set_is_online( false )
->set_in_language( $this->get_locale() )
->set_actor()
->set_to( array( 'https://www.w3.org/ns/activitystreams#Public' ) )
->set_location()
->set_id();
return $this->ap_object;
}
} }