PluginProbe
ActivityPub / 4.6.0
ActivityPub v4.6.0
9.3.1 9.3.0 9.2.2 9.2.1 9.2.0 9.1.0 9.0.2 9.0.1 9.0.0 8.3.0 8.2.1 8.2.0 8.1.1 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.2.0 1.3.0 2.0.0 2.0.1 2.1.0 2.1.1 All 160 releases
activitypub / activitypub.php

activitypub.php in ActivityPub 4.6.0, at activitypub.php

167 lines 4.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: ActivityPub
4 * Plugin URI: https://github.com/Automattic/wordpress-activitypub
5 * Description: The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format.
6 * Version: 4.6.0
7 * Author: Matthias Pfefferle & Automattic
8 * Author URI: https://automattic.com/
9 * License: MIT
10 * License URI: http://opensource.org/licenses/MIT
11 * Requires PHP: 7.0
12 * Text Domain: activitypub
13 * Domain Path: /languages
14 *
15 * @package Activitypub
16 */
17
18 namespace Activitypub;
19
20 use WP_CLI;
21
22 \define( 'ACTIVITYPUB_PLUGIN_VERSION', '4.6.0' );
23
24 // Plugin related constants.
25 \define( 'ACTIVITYPUB_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
26 \define( 'ACTIVITYPUB_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
27 \define( 'ACTIVITYPUB_PLUGIN_FILE', ACTIVITYPUB_PLUGIN_DIR . basename( __FILE__ ) );
28 \define( 'ACTIVITYPUB_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
29
30 require_once __DIR__ . '/includes/class-autoloader.php';
31 require_once __DIR__ . '/includes/compat.php';
32 require_once __DIR__ . '/includes/functions.php';
33 require_once __DIR__ . '/includes/constants.php';
34 require_once __DIR__ . '/integration/load.php';
35
36 Autoloader::register_path( __NAMESPACE__, __DIR__ . '/includes' );
37
38 /**
39 * Initialize REST routes.
40 */
41 function rest_init() {
42 Rest\Actors::init();
43 Rest\Outbox::init();
44 Rest\Inbox::init();
45 Rest\Followers::init();
46 Rest\Following::init();
47 Rest\Webfinger::init();
48 Rest\Comment::init();
49 Rest\Server::init();
50 Rest\Collection::init();
51 Rest\Interaction::init();
52 Rest\Post::init();
53
54 // Load NodeInfo endpoints only if blog is public.
55 if ( is_blog_public() ) {
56 Rest\NodeInfo::init();
57 }
58 }
59 \add_action( 'rest_api_init', __NAMESPACE__ . '\rest_init' );
60
61 /**
62 * Initialize plugin.
63 */
64 function plugin_init() {
65 \add_action( 'init', array( __NAMESPACE__ . '\Migration', 'init' ) );
66 \add_action( 'init', array( __NAMESPACE__ . '\Activitypub', 'init' ) );
67 \add_action( 'init', array( __NAMESPACE__ . '\Activity_Dispatcher', 'init' ) );
68 \add_action( 'init', array( __NAMESPACE__ . '\Handler', 'init' ) );
69 \add_action( 'init', array( __NAMESPACE__ . '\Admin', 'init' ) );
70 \add_action( 'init', array( __NAMESPACE__ . '\Hashtag', 'init' ) );
71 \add_action( 'init', array( __NAMESPACE__ . '\Mention', 'init' ) );
72 \add_action( 'init', array( __NAMESPACE__ . '\Health_Check', 'init' ) );
73 \add_action( 'init', array( __NAMESPACE__ . '\Scheduler', 'init' ) );
74 \add_action( 'init', array( __NAMESPACE__ . '\Comment', 'init' ) );
75 \add_action( 'init', array( __NAMESPACE__ . '\Link', 'init' ) );
76 \add_action( 'init', array( __NAMESPACE__ . '\Mailer', 'init' ) );
77
78 if ( site_supports_blocks() ) {
79 \add_action( 'init', array( __NAMESPACE__ . '\Blocks', 'init' ) );
80 }
81
82 $debug_file = __DIR__ . '/includes/debug.php';
83 if ( \WP_DEBUG && file_exists( $debug_file ) && is_readable( $debug_file ) ) {
84 require_once $debug_file;
85 Debug::init();
86 }
87 }
88 \add_action( 'plugins_loaded', __NAMESPACE__ . '\plugin_init' );
89
90 \register_activation_hook(
91 __FILE__,
92 array(
93 __NAMESPACE__ . '\Activitypub',
94 'activate',
95 )
96 );
97
98 \register_deactivation_hook(
99 __FILE__,
100 array(
101 __NAMESPACE__ . '\Activitypub',
102 'deactivate',
103 )
104 );
105
106 \register_uninstall_hook(
107 __FILE__,
108 array(
109 __NAMESPACE__ . '\Activitypub',
110 'uninstall',
111 )
112 );
113
114
115 /**
116 * `get_plugin_data` wrapper.
117 *
118 * @deprecated 4.2.0 Use `get_plugin_data` instead.
119 *
120 * @param array $default_headers Optional. The default plugin headers. Default empty array.
121 * @return array The plugin metadata array.
122 */
123 function get_plugin_meta( $default_headers = array() ) {
124 _deprecated_function( __FUNCTION__, '4.2.0', 'get_plugin_data' );
125
126 if ( ! $default_headers ) {
127 $default_headers = array(
128 'Name' => 'Plugin Name',
129 'PluginURI' => 'Plugin URI',
130 'Version' => 'Version',
131 'Description' => 'Description',
132 'Author' => 'Author',
133 'AuthorURI' => 'Author URI',
134 'TextDomain' => 'Text Domain',
135 'DomainPath' => 'Domain Path',
136 'Network' => 'Network',
137 'RequiresWP' => 'Requires at least',
138 'RequiresPHP' => 'Requires PHP',
139 'UpdateURI' => 'Update URI',
140 );
141 }
142
143 return \get_file_data( __FILE__, $default_headers, 'plugin' );
144 }
145
146 /**
147 * Plugin Version Number used for caching.
148 *
149 * @deprecated 4.2.0 Use constant ACTIVITYPUB_PLUGIN_VERSION directly.
150 */
151 function get_plugin_version() {
152 _deprecated_function( __FUNCTION__, '4.2.0', 'ACTIVITYPUB_PLUGIN_VERSION' );
153
154 return ACTIVITYPUB_PLUGIN_VERSION;
155 }
156
157 // Check for CLI env, to add the CLI commands.
158 if ( defined( 'WP_CLI' ) && WP_CLI ) {
159 WP_CLI::add_command(
160 'activitypub',
161 '\Activitypub\Cli',
162 array(
163 'shortdesc' => 'ActivityPub related commands to manage plugin functionality and the federation of posts and comments.',
164 )
165 );
166 }
167