Merge branch 'Automattic:master' into Comments
This commit is contained in:
commit
e7c065d173
9 changed files with 40 additions and 10 deletions
11
README.md
11
README.md
|
@ -3,7 +3,7 @@
|
||||||
**Tags:** OStatus, fediverse, activitypub, activitystream
|
**Tags:** OStatus, fediverse, activitypub, activitystream
|
||||||
**Requires at least:** 4.7
|
**Requires at least:** 4.7
|
||||||
**Tested up to:** 6.3
|
**Tested up to:** 6.3
|
||||||
**Stable tag:** 1.0.5
|
**Stable tag:** 1.0.7
|
||||||
**Requires PHP:** 5.6
|
**Requires PHP:** 5.6
|
||||||
**License:** MIT
|
**License:** MIT
|
||||||
**License URI:** http://opensource.org/licenses/MIT
|
**License URI:** http://opensource.org/licenses/MIT
|
||||||
|
@ -105,6 +105,15 @@ Where 'blog' is the path to the subdirectory at which your blog resides.
|
||||||
|
|
||||||
Project maintained on GitHub at [automattic/wordpress-activitypub](https://github.com/automattic/wordpress-activitypub).
|
Project maintained on GitHub at [automattic/wordpress-activitypub](https://github.com/automattic/wordpress-activitypub).
|
||||||
|
|
||||||
|
### 1.0.7 ###
|
||||||
|
|
||||||
|
* Fixed: broken function call
|
||||||
|
* Add: filter to hook into "is blog public" check
|
||||||
|
|
||||||
|
### 1.0.6 ###
|
||||||
|
|
||||||
|
* Fixed: more restrictive request verification
|
||||||
|
|
||||||
### 1.0.5 ###
|
### 1.0.5 ###
|
||||||
|
|
||||||
* Fixed: compatibility with WebFinger and NodeInfo plugin
|
* Fixed: compatibility with WebFinger and NodeInfo plugin
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* Plugin Name: ActivityPub
|
* Plugin Name: ActivityPub
|
||||||
* Plugin URI: https://github.com/pfefferle/wordpress-activitypub/
|
* Plugin URI: https://github.com/pfefferle/wordpress-activitypub/
|
||||||
* Description: The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format.
|
* Description: The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format.
|
||||||
* Version: 1.0.5
|
* Version: 1.0.7
|
||||||
* Author: Matthias Pfefferle & Automattic
|
* Author: Matthias Pfefferle & Automattic
|
||||||
* Author URI: https://automattic.com/
|
* Author URI: https://automattic.com/
|
||||||
* License: MIT
|
* License: MIT
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
|
|
||||||
namespace Activitypub;
|
namespace Activitypub;
|
||||||
|
|
||||||
|
use function Activitypub\is_blog_public;
|
||||||
use function Activitypub\site_supports_blocks;
|
use function Activitypub\site_supports_blocks;
|
||||||
|
|
||||||
require_once __DIR__ . '/includes/compat.php';
|
require_once __DIR__ . '/includes/compat.php';
|
||||||
|
@ -52,7 +53,7 @@ function rest_init() {
|
||||||
Rest\Collection::init();
|
Rest\Collection::init();
|
||||||
|
|
||||||
// load NodeInfo endpoints only if blog is public
|
// load NodeInfo endpoints only if blog is public
|
||||||
if ( \get_option( 'blog_public', 1 ) ) {
|
if ( is_blog_public() ) {
|
||||||
Rest\NodeInfo::init();
|
Rest\NodeInfo::init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
namespace Activitypub;
|
namespace Activitypub;
|
||||||
|
|
||||||
use WP_Error;
|
use WP_Error;
|
||||||
|
use Activitypub\Webfinger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ActivityPub Mention Class
|
* ActivityPub Mention Class
|
||||||
|
|
|
@ -79,7 +79,7 @@ function get_remote_metadata_by_actor( $actor, $cached = true ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$short_timeout = function() {
|
$short_timeout = function() {
|
||||||
return 3;
|
return 10;
|
||||||
};
|
};
|
||||||
add_filter( 'activitypub_remote_get_timeout', $short_timeout );
|
add_filter( 'activitypub_remote_get_timeout', $short_timeout );
|
||||||
$response = Http::get( $actor );
|
$response = Http::get( $actor );
|
||||||
|
@ -715,3 +715,12 @@ function site_supports_blocks() {
|
||||||
function is_json( $data ) {
|
function is_json( $data ) {
|
||||||
return \is_array( \json_decode( $data, true ) ) ? true : false;
|
return \is_array( \json_decode( $data, true ) ) ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a blog is public based on the `blog_public` option
|
||||||
|
*
|
||||||
|
* @return bollean True if public, false if not
|
||||||
|
*/
|
||||||
|
function is_blog_public() {
|
||||||
|
return (bool) apply_filters( 'activitypub_is_blog_public', \get_option( 'blog_public', 1 ) );
|
||||||
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
'<dd>' . \wp_kses( __( 'The post\'s title.', 'activitypub' ), array( 'code' => array() ) ) . '</dd>' .
|
'<dd>' . \wp_kses( __( 'The post\'s title.', 'activitypub' ), array( 'code' => array() ) ) . '</dd>' .
|
||||||
'<dt><code>[ap_content apply_filters="yes"]</code></dt>' .
|
'<dt><code>[ap_content apply_filters="yes"]</code></dt>' .
|
||||||
'<dd>' . \wp_kses( __( 'The post\'s content. With <code>apply_filters</code> you can decide if filters (<code>apply_filters( \'the_content\', $content )</code>) should be applied or not (default is <code>yes</code>). The values can be <code>yes</code> or <code>no</code>. <code>apply_filters</code> attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '</dd>' .
|
'<dd>' . \wp_kses( __( 'The post\'s content. With <code>apply_filters</code> you can decide if filters (<code>apply_filters( \'the_content\', $content )</code>) should be applied or not (default is <code>yes</code>). The values can be <code>yes</code> or <code>no</code>. <code>apply_filters</code> attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '</dd>' .
|
||||||
'<dt><code>[ap_excerpt lenght="400"]</code></dt>' .
|
'<dt><code>[ap_excerpt length="400"]</code></dt>' .
|
||||||
'<dd>' . \wp_kses( __( 'The post\'s excerpt (default 400 chars). <code>length</code> attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '</dd>' .
|
'<dd>' . \wp_kses( __( 'The post\'s excerpt (default 400 chars). <code>length</code> attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '</dd>' .
|
||||||
'<dt><code>[ap_permalink type="url"]</code></dt>' .
|
'<dt><code>[ap_permalink type="url"]</code></dt>' .
|
||||||
'<dd>' . \wp_kses( __( 'The post\'s permalink. <code>type</code> can be either: <code>url</code> or <code>html</code> (an <a /> tag). <code>type</code> attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '</dd>' .
|
'<dd>' . \wp_kses( __( 'The post\'s permalink. <code>type</code> can be either: <code>url</code> or <code>html</code> (an <a /> tag). <code>type</code> attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '</dd>' .
|
||||||
|
|
|
@ -38,7 +38,7 @@ class Inbox {
|
||||||
'/inbox',
|
'/inbox',
|
||||||
array(
|
array(
|
||||||
array(
|
array(
|
||||||
'methods' => WP_REST_Server::EDITABLE,
|
'methods' => WP_REST_Server::CREATABLE,
|
||||||
'callback' => array( self::class, 'shared_inbox_post' ),
|
'callback' => array( self::class, 'shared_inbox_post' ),
|
||||||
'args' => self::shared_inbox_post_parameters(),
|
'args' => self::shared_inbox_post_parameters(),
|
||||||
'permission_callback' => '__return_true',
|
'permission_callback' => '__return_true',
|
||||||
|
@ -51,7 +51,7 @@ class Inbox {
|
||||||
'/users/(?P<user_id>[\w\-\.]+)/inbox',
|
'/users/(?P<user_id>[\w\-\.]+)/inbox',
|
||||||
array(
|
array(
|
||||||
array(
|
array(
|
||||||
'methods' => WP_REST_Server::EDITABLE,
|
'methods' => WP_REST_Server::CREATABLE,
|
||||||
'callback' => array( self::class, 'user_inbox_post' ),
|
'callback' => array( self::class, 'user_inbox_post' ),
|
||||||
'args' => self::user_inbox_post_parameters(),
|
'args' => self::user_inbox_post_parameters(),
|
||||||
'permission_callback' => '__return_true',
|
'permission_callback' => '__return_true',
|
||||||
|
|
|
@ -86,7 +86,7 @@ class Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
// POST-Requets are always signed
|
// POST-Requets are always signed
|
||||||
if ( 'post' === \strtolower( $request->get_method() ) ) {
|
if ( 'get' !== \strtolower( $request->get_method() ) ) {
|
||||||
$verified_request = Signature::verify_http_signature( $request );
|
$verified_request = Signature::verify_http_signature( $request );
|
||||||
if ( \is_wp_error( $verified_request ) ) {
|
if ( \is_wp_error( $verified_request ) ) {
|
||||||
return $verified_request;
|
return $verified_request;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
namespace Activitypub\Integration;
|
namespace Activitypub\Integration;
|
||||||
|
|
||||||
|
use Activitypub\Rest\Webfinger as Webfinger_Rest;
|
||||||
use Activitypub\Collection\Users as User_Collection;
|
use Activitypub\Collection\Users as User_Collection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -52,6 +53,6 @@ class Webfinger {
|
||||||
return $array;
|
return $array;
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::get_profile( $resource );
|
return Webfinger_Rest::get_profile( $resource );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
11
readme.txt
11
readme.txt
|
@ -3,7 +3,7 @@ Contributors: automattic, pfefferle, mediaformat, mattwiebe, akirk, jeherve, nur
|
||||||
Tags: OStatus, fediverse, activitypub, activitystream
|
Tags: OStatus, fediverse, activitypub, activitystream
|
||||||
Requires at least: 4.7
|
Requires at least: 4.7
|
||||||
Tested up to: 6.3
|
Tested up to: 6.3
|
||||||
Stable tag: 1.0.5
|
Stable tag: 1.0.7
|
||||||
Requires PHP: 5.6
|
Requires PHP: 5.6
|
||||||
License: MIT
|
License: MIT
|
||||||
License URI: http://opensource.org/licenses/MIT
|
License URI: http://opensource.org/licenses/MIT
|
||||||
|
@ -105,6 +105,15 @@ Where 'blog' is the path to the subdirectory at which your blog resides.
|
||||||
|
|
||||||
Project maintained on GitHub at [automattic/wordpress-activitypub](https://github.com/automattic/wordpress-activitypub).
|
Project maintained on GitHub at [automattic/wordpress-activitypub](https://github.com/automattic/wordpress-activitypub).
|
||||||
|
|
||||||
|
= 1.0.7 =
|
||||||
|
|
||||||
|
* Fixed: broken function call
|
||||||
|
* Add: filter to hook into "is blog public" check
|
||||||
|
|
||||||
|
= 1.0.6 =
|
||||||
|
|
||||||
|
* Fixed: more restrictive request verification
|
||||||
|
|
||||||
= 1.0.5 =
|
= 1.0.5 =
|
||||||
|
|
||||||
* Fixed: compatibility with WebFinger and NodeInfo plugin
|
* Fixed: compatibility with WebFinger and NodeInfo plugin
|
||||||
|
|
Loading…
Reference in a new issue