PluginProbe
NodeInfo(2) / trunk
NodeInfo(2) vtrunk
trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 2.0.0 2.1.0 2.1.1 2.2.0 2.3.0 2.3.1 3.0.0 3.1.0
← All changes | nodeinfo.php +33 -29 1.0.5trunk View file →
@@ -2,47 +2,51 @@
2 2 /**
3 3 * Plugin Name: NodeInfo
4 4 * Plugin URI: https://github.com/pfefferle/wordpress-nodeinfo/
5 5 * Description: NodeInfo is an effort to create a standardized way of exposing metadata about a server running one of the distributed social networks.
6 - * Version: 1.0.5
6 + * Version: 3.1.0
7 7 * Author: Matthias Pfefferle
8 8 * Author URI: https://notiz.blog/
9 9 * License: MIT
10 10 * License URI: http://opensource.org/licenses/MIT
11 11 * Text Domain: nodeinfo
12 - * Domain Path: /languages
12 + *
13 + * @package Nodeinfo
13 14 */
14 15
15 -/**
16 - * Initialize plugin
17 - */
18 -function nodeinfo_init() {
19 - require_once dirname( __FILE__ ) . '/includes/class-nodeinfo-endpoint.php';
16 +defined( 'ABSPATH' ) || exit;
20 17
21 - // Configure the REST API route
22 - add_action( 'rest_api_init', array( 'Nodeinfo_Endpoint', 'register_routes' ) );
18 +define( 'NODEINFO_PLUGIN_FILE', __FILE__ );
19 +define( 'NODEINFO_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
23 20
24 - // Add Webmention and Host-Meta discovery
25 - add_filter( 'webfinger_user_data', array( 'Nodeinfo_Endpoint', 'render_jrd' ), 10, 3 );
26 - add_filter( 'webfinger_post_data', array( 'Nodeinfo_Endpoint', 'render_jrd' ), 10, 3 );
27 - add_filter( 'host_meta', array( 'Nodeinfo_Endpoint', 'render_jrd' ) );
28 -}
29 -add_action( 'plugins_loaded', 'nodeinfo_init' );
21 +// Require the autoloader.
22 +require_once NODEINFO_PLUGIN_DIR . 'includes/class-autoloader.php';
30 23
24 +// Register the autoloader.
25 +Nodeinfo\Autoloader::register_path( 'Nodeinfo', NODEINFO_PLUGIN_DIR . 'includes' );
26 +
27 +// Require global functions.
28 +require_once NODEINFO_PLUGIN_DIR . 'includes/functions.php';
29 +
30 +// Require deprecated classes for backwards compatibility.
31 +require_once NODEINFO_PLUGIN_DIR . 'includes/class-nodeinfo-endpoint.php';
32 +
31 33 /**
32 - * Add rewrite rules
34 + * Plugin initialization function.
35 + *
36 + * @return Nodeinfo\Nodeinfo The plugin instance.
33 37 */
34 -function nodeinfo_add_rewrite_rules() {
35 - add_rewrite_rule( '^.well-known/nodeinfo', 'index.php?rest_route=/nodeinfo/discovery', 'top' );
36 - add_rewrite_rule( '^.well-known/x-nodeinfo2', 'index.php?rest_route=/nodeinfo2/1.0', 'top' );
38 +function nodeinfo_plugin() {
39 + return Nodeinfo\Nodeinfo::get_instance();
37 40 }
38 -add_action( 'init', 'nodeinfo_add_rewrite_rules', 1 );
39 41
40 -/**
41 - * Flush rewrite rules;
42 - */
43 -function nodeinfo_flush_rewrite_rules() {
44 - nodeinfo_add_rewrite_rules();
45 - flush_rewrite_rules();
46 -}
47 -register_activation_hook( __FILE__, 'nodeinfo_flush_rewrite_rules' );
48 -register_deactivation_hook( __FILE__, 'flush_rewrite_rules' );
42 +// Initialize the plugin after all plugins are loaded.
43 +add_action(
44 + 'plugins_loaded',
45 + function () {
46 + nodeinfo_plugin()->init();
47 + }
48 +);
49 +
50 +// Register activation and deactivation hooks.
51 +register_activation_hook( __FILE__, array( Nodeinfo\Nodeinfo::class, 'activate' ) );
52 +register_deactivation_hook( __FILE__, array( Nodeinfo\Nodeinfo::class, 'deactivate' ) );