PluginProbe
ActivityPub / 1.1.0
ActivityPub v1.1.0
9.3.1 9.3.0 9.2.2 9.2.1 9.2.0 9.1.0 9.0.2 9.0.1 9.0.0 8.3.0 8.2.1 8.2.0 8.1.1 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.2.0 1.3.0 2.0.0 2.0.1 2.1.0 2.1.1 All 160 releases
activitypub / templates / post-json.php

post-json.php in ActivityPub 1.1.0, at templates/post-json.php

38 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
3 $post = \get_post();
4
5 $object = new \Activitypub\Transformer\Post( $post );
6 $json = \array_merge( array( '@context' => \Activitypub\get_context() ), $object->to_object()->to_array() );
7
8 // filter output
9 $json = \apply_filters( 'activitypub_json_post_array', $json );
10
11 /*
12 * Action triggerd prior to the ActivityPub profile being created and sent to the client
13 */
14 \do_action( 'activitypub_json_post_pre' );
15
16 $options = 0;
17 // JSON_PRETTY_PRINT added in PHP 5.4
18 if ( \get_query_var( 'pretty' ) ) {
19 $options |= \JSON_PRETTY_PRINT; // phpcs:ignore
20 }
21
22 $options |= \JSON_HEX_TAG | \JSON_HEX_AMP | \JSON_HEX_QUOT;
23
24 /*
25 * Options to be passed to json_encode()
26 *
27 * @param int $options The current options flags
28 */
29 $options = \apply_filters( 'activitypub_json_post_options', $options );
30
31 \header( 'Content-Type: application/activity+json' );
32 echo \wp_json_encode( $json, $options );
33
34 /*
35 * Action triggerd after the ActivityPub profile has been created and sent to the client
36 */
37 \do_action( 'activitypub_json_post_post' );
38