wordpress-activitypub/templates/author-json.php

35 lines
973 B
PHP
Raw Normal View History

<?php
2023-07-03 11:20:44 +02:00
$user = \Activitypub\Collection\Users::get_by_id( \get_the_author_meta( 'ID' ) );
2023-06-28 16:43:05 +02:00
$user->set_context(
\Activitypub\Model\Activity::CONTEXT
);
/*
* Action triggerd prior to the ActivityPub profile being created and sent to the client
*/
2023-06-28 14:22:27 +02:00
\do_action( 'activitypub_json_author_pre', $user->get__id() );
$options = 0;
// JSON_PRETTY_PRINT added in PHP 5.4
2019-09-27 11:36:52 +02:00
if ( \get_query_var( 'pretty' ) ) {
$options |= \JSON_PRETTY_PRINT; // phpcs:ignore
}
$options |= \JSON_HEX_TAG | \JSON_HEX_AMP | \JSON_HEX_QUOT;
2019-02-02 23:56:05 +01:00
/*
* Options to be passed to json_encode()
*
* @param int $options The current options flags
*/
2023-06-28 14:22:27 +02:00
$options = \apply_filters( 'activitypub_json_author_options', $options, $user->get__id() );
2019-09-27 11:36:52 +02:00
\header( 'Content-Type: application/activity+json' );
echo \wp_json_encode( $user->to_array(), $options );
/*
* Action triggerd after the ActivityPub profile has been created and sent to the client
*/
2023-06-28 14:22:27 +02:00
\do_action( 'activitypub_json_author_post', $user->get__id() );