| @@ -2,14 +2,14 @@ | ||
| 2 | 2 | /** |
| 3 | 3 | * Plugin Name: ActivityPub |
| 4 | 4 | * Plugin URI: https://github.com/pfefferle/wordpress-activitypub/ |
| 5 | 5 | * Description: The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format. |
| 6 | - * Version: 2.1.0 | |
| 6 | + * Version: 2.6.0 | |
| 7 | 7 | * Author: Matthias Pfefferle & Automattic |
| 8 | 8 | * Author URI: https://automattic.com/ |
| 9 | 9 | * License: MIT |
| 10 | 10 | * License URI: http://opensource.org/licenses/MIT |
| 11 | - * Requires PHP: 5.6 | |
| 11 | + * Requires PHP: 7.0 | |
| 12 | 12 | * Text Domain: activitypub |
| 13 | 13 | * Domain Path: /languages |
| 14 | 14 | */ |
| 15 | 15 | |
| @@ -20,8 +20,10 @@ | ||
| 20 | 20 | |
| 21 | 21 | require_once __DIR__ . '/includes/compat.php'; |
| 22 | 22 | require_once __DIR__ . '/includes/functions.php'; |
| 23 | 23 | |
| 24 | +\define( 'ACTIVITYPUB_PLUGIN_VERSION', '2.6.0' ); | |
| 25 | + | |
| 24 | 26 | /** |
| 25 | 27 | * Initialize the plugin constants. |
| 26 | 28 | */ |
| 27 | 29 | \defined( 'ACTIVITYPUB_REST_NAMESPACE' ) || \define( 'ACTIVITYPUB_REST_NAMESPACE', 'activitypub/1.0' ); |
| @@ -29,9 +31,9 @@ | ||
| 29 | 31 | \defined( 'ACTIVITYPUB_SHOW_PLUGIN_RECOMMENDATIONS' ) || \define( 'ACTIVITYPUB_SHOW_PLUGIN_RECOMMENDATIONS', true ); |
| 30 | 32 | \defined( 'ACTIVITYPUB_MAX_IMAGE_ATTACHMENTS' ) || \define( 'ACTIVITYPUB_MAX_IMAGE_ATTACHMENTS', 3 ); |
| 31 | 33 | \defined( 'ACTIVITYPUB_HASHTAGS_REGEXP' ) || \define( 'ACTIVITYPUB_HASHTAGS_REGEXP', '(?:(?<=\s)|(?<=<p>)|(?<=<br>)|^)#([A-Za-z0-9_]+)(?:(?=\s|[[:punct:]]|$))' ); |
| 32 | 34 | \defined( 'ACTIVITYPUB_USERNAME_REGEXP' ) || \define( 'ACTIVITYPUB_USERNAME_REGEXP', '(?:([A-Za-z0-9\._-]+)@((?:[A-Za-z0-9_-]+\.)+[A-Za-z]+))' ); |
| 33 | -\defined( 'ACTIVITYPUB_CUSTOM_POST_CONTENT' ) || \define( 'ACTIVITYPUB_CUSTOM_POST_CONTENT', "<strong>[ap_title]</strong>\n\n[ap_content]\n\n[ap_hashtags]\n\n[ap_shortlink]" ); | |
| 35 | +\defined( 'ACTIVITYPUB_CUSTOM_POST_CONTENT' ) || \define( 'ACTIVITYPUB_CUSTOM_POST_CONTENT', "<h2>[ap_title]</h2>\n\n[ap_content]\n\n[ap_hashtags]\n\n[ap_shortlink]" ); | |
| 34 | 36 | \defined( 'ACTIVITYPUB_AUTHORIZED_FETCH' ) || \define( 'ACTIVITYPUB_AUTHORIZED_FETCH', false ); |
| 35 | 37 | \defined( 'ACTIVITYPUB_DISABLE_REWRITES' ) || \define( 'ACTIVITYPUB_DISABLE_REWRITES', false ); |
| 36 | 38 | \defined( 'ACTIVITYPUB_DISABLE_INCOMING_INTERACTIONS' ) || \define( 'ACTIVITYPUB_DISABLE_INCOMING_INTERACTIONS', false ); |
| 37 | 39 | \defined( 'ACTIVITYPUB_DISABLE_OUTGOING_INTERACTIONS' ) || \define( 'ACTIVITYPUB_DISABLE_OUTGOING_INTERACTIONS', false ); |
| @@ -36,8 +38,9 @@ | ||
| 36 | 38 | \defined( 'ACTIVITYPUB_DISABLE_INCOMING_INTERACTIONS' ) || \define( 'ACTIVITYPUB_DISABLE_INCOMING_INTERACTIONS', false ); |
| 37 | 39 | \defined( 'ACTIVITYPUB_DISABLE_OUTGOING_INTERACTIONS' ) || \define( 'ACTIVITYPUB_DISABLE_OUTGOING_INTERACTIONS', false ); |
| 38 | 40 | \defined( 'ACTIVITYPUB_SHARED_INBOX_FEATURE' ) || \define( 'ACTIVITYPUB_SHARED_INBOX_FEATURE', false ); |
| 39 | 41 | \defined( 'ACTIVITYPUB_SEND_VARY_HEADER' ) || \define( 'ACTIVITYPUB_SEND_VARY_HEADER', false ); |
| 42 | +\defined( 'ACTIVITYPUB_DEFAULT_OBJECT_TYPE' ) || \define( 'ACTIVITYPUB_DEFAULT_OBJECT_TYPE', 'note' ); | |
| 40 | 43 | |
| 41 | 44 | \define( 'ACTIVITYPUB_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); |
| 42 | 45 | \define( 'ACTIVITYPUB_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); |
| 43 | 46 | \define( 'ACTIVITYPUB_PLUGIN_FILE', plugin_dir_path( __FILE__ ) . '/' . basename( __FILE__ ) ); |
| @@ -46,14 +49,15 @@ | ||
| 46 | 49 | /** |
| 47 | 50 | * Initialize REST routes. |
| 48 | 51 | */ |
| 49 | 52 | function rest_init() { |
| 50 | - Rest\Users::init(); | |
| 53 | + Rest\Actors::init(); | |
| 51 | 54 | Rest\Outbox::init(); |
| 52 | 55 | Rest\Inbox::init(); |
| 53 | 56 | Rest\Followers::init(); |
| 54 | 57 | Rest\Following::init(); |
| 55 | 58 | Rest\Webfinger::init(); |
| 59 | + Rest\Comment::init(); | |
| 56 | 60 | Rest\Server::init(); |
| 57 | 61 | Rest\Collection::init(); |
| 58 | 62 | |
| 59 | 63 | // load NodeInfo endpoints only if blog is public |
| @@ -95,11 +99,20 @@ | ||
| 95 | 99 | Integration\Nodeinfo::init(); |
| 96 | 100 | |
| 97 | 101 | require_once __DIR__ . '/integration/class-enable-mastodon-apps.php'; |
| 98 | 102 | Integration\Enable_Mastodon_Apps::init(); |
| 103 | + | |
| 104 | + require_once __DIR__ . '/integration/class-opengraph.php'; | |
| 105 | + Integration\Opengraph::init(); | |
| 106 | + | |
| 107 | + if ( \defined( 'JETPACK__VERSION' ) && ! \defined( 'IS_WPCOM' ) ) { | |
| 108 | + require_once __DIR__ . '/integration/class-jetpack.php'; | |
| 109 | + Integration\Jetpack::init(); | |
| 110 | + } | |
| 99 | 111 | } |
| 100 | 112 | \add_action( 'plugins_loaded', __NAMESPACE__ . '\plugin_init' ); |
| 101 | 113 | |
| 114 | + | |
| 102 | 115 | /** |
| 103 | 116 | * Class Autoloader |
| 104 | 117 | */ |
| 105 | 118 | \spl_autoload_register( |
| @@ -215,8 +228,12 @@ | ||
| 215 | 228 | /** |
| 216 | 229 | * Plugin Version Number used for caching. |
| 217 | 230 | */ |
| 218 | 231 | function get_plugin_version() { |
| 232 | + if ( \defined( 'ACTIVITYPUB_PLUGIN_VERSION' ) ) { | |
| 233 | + return ACTIVITYPUB_PLUGIN_VERSION; | |
| 234 | + } | |
| 235 | + | |
| 219 | 236 | $meta = get_plugin_meta( array( 'Version' => 'Version' ) ); |
| 220 | 237 | |
| 221 | 238 | return $meta['Version']; |
| 222 | 239 | } |