55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Jetpack integration file.
 | |
|  *
 | |
|  * @package Activitypub
 | |
|  */
 | |
| 
 | |
| namespace Activitypub\Integration;
 | |
| 
 | |
| use Activitypub\Comment;
 | |
| 
 | |
| /**
 | |
|  * Jetpack integration class.
 | |
|  */
 | |
| class Jetpack {
 | |
| 
 | |
| 	/**
 | |
| 	 * Initialize the class, registering WordPress hooks.
 | |
| 	 */
 | |
| 	public static function init() {
 | |
| 		\add_filter( 'jetpack_sync_post_meta_whitelist', array( self::class, 'add_sync_meta' ) );
 | |
| 		\add_filter( 'jetpack_json_api_comment_types', array( self::class, 'add_comment_types' ) );
 | |
| 		\add_filter( 'jetpack_api_include_comment_types_count', array( self::class, 'add_comment_types' ) );
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Add ActivityPub meta keys to the Jetpack sync allow list.
 | |
| 	 *
 | |
| 	 * @param array $allow_list The Jetpack sync allow list.
 | |
| 	 *
 | |
| 	 * @return array The Jetpack sync allow list with ActivityPub meta keys.
 | |
| 	 */
 | |
| 	public static function add_sync_meta( $allow_list ) {
 | |
| 		if ( ! is_array( $allow_list ) ) {
 | |
| 			return $allow_list;
 | |
| 		}
 | |
| 		$activitypub_meta_keys = array(
 | |
| 			'_activitypub_user_id',
 | |
| 			'_activitypub_inbox',
 | |
| 			'_activitypub_actor_json',
 | |
| 		);
 | |
| 		return \array_merge( $allow_list, $activitypub_meta_keys );
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Add custom comment types to the list of comment types.
 | |
| 	 *
 | |
| 	 * @param array $comment_types Default comment types.
 | |
| 	 * @return array
 | |
| 	 */
 | |
| 	public static function add_comment_types( $comment_types ) {
 | |
| 		return array_unique( \array_merge( $comment_types, Comment::get_comment_type_slugs() ) );
 | |
| 	}
 | |
| }
 |