get__id(); // save follower $follower_id = Followers::add_follower( $activity['actor'] ); if ( \is_wp_error( $follower_id ) ) { // it is not even possible to send a "Reject" or "Accept" because // we can not get the Remote-Inbox return; } // save follow request by this follower $follow_request = Follow_Request::save( $follower_id, $user_id, $activity['id'] ); if ( ! $user->get_manually_approves_followers() ) { $follow_request->approve(); } } /** * Send Follow response * * @param int|string $user_id The target users internal user id * @param Activitypub\Model\Follower $follower The followers ActivityPub object * @param array|object $object The ActivityPub follow object * @param string $type The reponse object type: 'Accept' or 'Reject' * * @return void */ public static function send_follow_response( $user_id, $inbox, $object, $type ) { $activity = new Activity(); $activity->set_type( $type ); $activity->set_object( $object ); $activity->set_actor( Users::get_by_id( $user_id )->get_url() ); $activity->set_to( $object['actor'] ); $activity->set_id( $user_id . '#accept-' . \preg_replace( '~^https?://~', '', $object['actor'] ) . '-' . \time() ); $activity = $activity->to_json(); Http::post( $inbox, $activity, $user_id ); } }