Skip to content

Commit d18688e

Browse files
authored
Starter Kit: Interaction API (#2049)
1 parent 546fe21 commit d18688e

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Significance: minor
2+
Type: added
3+
4+
Adds support for Starter Kit collections in the ActivityPub API.

includes/rest/class-interaction-controller.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public function get_item( $request ) {
115115
case 'Service':
116116
case 'Application':
117117
case 'Organization':
118-
if ( boolval( get_option( 'activitypub_following_ui', '0' ) ) ) {
118+
if ( \get_option( 'activitypub_following_ui', '0' ) ) {
119119
if ( user_can_activitypub( \get_current_user_id() ) ) {
120120
$redirect_url = \admin_url( 'users.php?page=activitypub-following-list&resource=' . $url_param );
121121
} elseif ( user_can_activitypub( Actors::BLOG_USER_ID ) ) {
@@ -132,8 +132,26 @@ public function get_item( $request ) {
132132
*/
133133
$redirect_url = \apply_filters( 'activitypub_interactions_follow_url', $redirect_url, $uri, $object );
134134
break;
135+
case 'Collection':
136+
case 'CollectionPage':
137+
case 'OrderedCollection':
138+
case 'OrderedCollectionPage':
139+
if ( \get_option( 'activitypub_following_ui', '0' ) ) {
140+
$redirect_url = \admin_url( 'admin.php?import=starter-kit&url=' . $url_param );
141+
}
142+
143+
/**
144+
* Filters the URL used for importing a Starter Kit collection.
145+
*
146+
* @param string $redirect_url The URL to redirect to.
147+
* @param string $uri The URI of the collection to import.
148+
* @param array $object The full collection object data.
149+
*/
150+
$redirect_url = \apply_filters( 'activitypub_interactions_starter_kit_url', $redirect_url, $uri, $object );
151+
break;
135152
default:
136153
$redirect_url = \admin_url( 'post-new.php?in_reply_to=' . $url_param );
154+
137155
/**
138156
* Filters the URL used for replying to an ActivityPub object.
139157
*

includes/wp-admin/import/class-starter-kit.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,10 +242,12 @@ public static function handle_url_import() {
242242
$base_filename = 'starter-kit.json';
243243
$unique_filename = \wp_unique_filename( $upload_dir['path'], $base_filename );
244244
$temp_file = \trailingslashit( $upload_dir['path'] ) . $unique_filename;
245+
245246
if ( ! \WP_Filesystem() ) {
246247
\printf( '<p><strong>%s</strong><br />%s</p>', \esc_html( $error_message ), \esc_html__( 'Failed to initialize the WordPress filesystem.', 'activitypub' ) );
247248
return false;
248249
}
250+
249251
global $wp_filesystem;
250252

251253
if ( ! $wp_filesystem || ! is_a( $wp_filesystem, 'WP_Filesystem_Base' ) ) {
@@ -323,7 +325,6 @@ private static function setup_blog_user_filter() {
323325
* Cleanup blog user filter.
324326
*/
325327
private static function cleanup_blog_user_filter() {
326-
327328
if ( self::$blog_user_filter_callback && self::$blog_user_filter_added ) {
328329
\remove_filter( 'wp_dropdown_users', self::$blog_user_filter_callback );
329330
self::$blog_user_filter_callback = null;

0 commit comments

Comments
 (0)