diff --git a/README.md b/README.md index 34991a5..93f3e85 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ **Tags:** OStatus, fediverse, activitypub, activitystream **Requires at least:** 4.7 **Tested up to:** 6.3 -**Stable tag:** 1.0.5 +**Stable tag:** 1.0.7 **Requires PHP:** 5.6 **License:** 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). +### 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 ### * Fixed: compatibility with WebFinger and NodeInfo plugin diff --git a/activitypub.php b/activitypub.php index 3ae2be9..521a379 100644 --- a/activitypub.php +++ b/activitypub.php @@ -3,7 +3,7 @@ * Plugin Name: 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. - * Version: 1.0.5 + * Version: 1.0.7 * Author: Matthias Pfefferle & Automattic * Author URI: https://automattic.com/ * License: MIT @@ -15,6 +15,7 @@ namespace Activitypub; +use function Activitypub\is_blog_public; use function Activitypub\site_supports_blocks; require_once __DIR__ . '/includes/compat.php'; @@ -52,7 +53,7 @@ function rest_init() { Rest\Collection::init(); // load NodeInfo endpoints only if blog is public - if ( \get_option( 'blog_public', 1 ) ) { + if ( is_blog_public() ) { Rest\NodeInfo::init(); } } diff --git a/includes/class-mention.php b/includes/class-mention.php index cf9b95a..8f782b5 100644 --- a/includes/class-mention.php +++ b/includes/class-mention.php @@ -2,6 +2,7 @@ namespace Activitypub; use WP_Error; +use Activitypub\Webfinger; /** * ActivityPub Mention Class diff --git a/includes/functions.php b/includes/functions.php index a00c213..afb9d51 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -79,7 +79,7 @@ function get_remote_metadata_by_actor( $actor, $cached = true ) { } $short_timeout = function() { - return 3; + return 10; }; add_filter( 'activitypub_remote_get_timeout', $short_timeout ); $response = Http::get( $actor ); @@ -715,3 +715,12 @@ function site_supports_blocks() { function is_json( $data ) { 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 ) ); +} diff --git a/includes/help.php b/includes/help.php index 3f0c7b9..d593d3e 100644 --- a/includes/help.php +++ b/includes/help.php @@ -11,7 +11,7 @@ '
[ap_content apply_filters="yes"]
apply_filters
you can decide if filters (apply_filters( \'the_content\', $content )
) should be applied or not (default is yes
). The values can be yes
or no
. apply_filters
attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '[ap_excerpt lenght="400"]
[ap_excerpt length="400"]
length
attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '[ap_permalink type="url"]
type
can be either: url
or html
(an <a /> tag). type
attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '