some small changes

This commit is contained in:
Matthias Pfefferle 2018-09-05 22:03:57 +02:00
parent 52f0d81228
commit ac9022f429
4 changed files with 48 additions and 7 deletions

View file

@ -19,9 +19,13 @@ function activitypub_init() {
require_once dirname( __FILE__ ) . '/includes/functions.php'; require_once dirname( __FILE__ ) . '/includes/functions.php';
require_once dirname( __FILE__ ) . '/includes/class-activitypub.php'; require_once dirname( __FILE__ ) . '/includes/class-activitypub.php';
add_filter( 'template_include', array( 'Activity_Pub', 'render_profile' ), 99 ); add_filter( 'template_include', array( 'Activitypub', 'render_profile' ), 99 );
add_action( 'webfinger_user_data', array( 'Activity_Pub', 'add_webfinger_discovery' ), 10, 3 ); add_action( 'webfinger_user_data', array( 'Activitypub', 'add_webfinger_discovery' ), 10, 3 );
add_filter( 'query_vars', array( 'Activity_Pub', 'add_query_vars' ) ); add_filter( 'query_vars', array( 'Activitypub', 'add_query_vars' ) );
add_action( 'init', array( 'Activity_Pub', 'add_rewrite_endpoint' ) ); add_action( 'init', array( 'Activitypub', 'add_rewrite_endpoint' ) );
require_once dirname( __FILE__ ) . '/includes/class-activitypub-outbox.php';
// Configure the REST API route
add_action( 'rest_api_init', array( 'Activitypub_Outbox', 'register_routes' ) );
} }
add_action( 'plugins_loaded', 'activitypub_init' ); add_action( 'plugins_loaded', 'activitypub_init' );

View file

@ -0,0 +1,34 @@
<?php
/**
* ActivityPub Outbox Class
*
* @author Matthias Pfefferle
*/
class Activitypub_Outbox {
/**
* Register the Route.
*/
public static function register_routes() {
register_rest_route(
'activitypub/1.0', '/outbox', array(
array(
'methods' => WP_REST_Server::READABLE,
'callback' => array( 'Activitypub_Outbox', 'get' ),
),
)
);
}
public static function get( $request ) {
$outbox = new stdClass();
$outbox->{'@context'} = array(
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
);
//var_dump($request->get_param('page'));
return new WP_REST_Response( $outbox, 200 );
}
}

View file

@ -1,6 +1,6 @@
<?php <?php
class Activity_Pub { class Activitypub {
public static function render_profile( $template ) { public static function render_profile( $template ) {
if ( ! is_author() ) { if ( ! is_author() ) {
return $template; return $template;

View file

@ -18,7 +18,7 @@ $json->id = get_author_posts_url( $author_id );
$json->type = 'Person'; $json->type = 'Person';
$json->name = get_the_author_meta( 'display_name', $author_id ); $json->name = get_the_author_meta( 'display_name', $author_id );
$json->summary = get_the_author_meta( 'description', $author_id ); $json->summary = get_the_author_meta( 'description', $author_id );
$json->preferredUsername = get_the_author(); $json->preferredUsername = get_the_author(); // phpcs:ignore
$json->url = get_author_posts_url( $author_id ); $json->url = get_author_posts_url( $author_id );
$json->icon = array( $json->icon = array(
'type' => 'Image', 'type' => 'Image',
@ -32,7 +32,10 @@ if ( has_header_image() ) {
); );
} }
$json->outbox = get_rest_url( null, '/activitypub/1.0/outbox' );
if ( method_exists( 'Magic_Sig', 'get_public_key' ) ) { if ( method_exists( 'Magic_Sig', 'get_public_key' ) ) {
// phpcs:ignore
$json->publicKey = array( $json->publicKey = array(
'id' => get_author_posts_url( $author_id ) . '#key', 'id' => get_author_posts_url( $author_id ) . '#key',
'owner' => get_author_posts_url( $author_id ), 'owner' => get_author_posts_url( $author_id ),
@ -53,7 +56,7 @@ do_action( 'activitypub_profile_pre' );
$options = 0; $options = 0;
// JSON_PRETTY_PRINT added in PHP 5.4 // JSON_PRETTY_PRINT added in PHP 5.4
if ( get_query_var( 'pretty' ) ) { if ( get_query_var( 'pretty' ) ) {
$options |= JSON_PRETTY_PRINT; $options |= JSON_PRETTY_PRINT; // phpcs:ignore
} }
/* /*