PluginProbe
NodeInfo(2) / 1.0.4
NodeInfo(2) v1.0.4
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 +29 -33 trunk1.0.4 View file →
@@ -2,51 +2,47 @@
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: 3.1.0
6 + * Version: 1.0.4
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 - *
13 - * @package Nodeinfo
12 + * Domain Path: /languages
14 13 */
15 14
16 -defined( 'ABSPATH' ) || exit;
15 +/**
16 + * Initialize plugin
17 + */
18 +function nodeinfo_init() {
19 + require_once dirname( __FILE__ ) . '/includes/class-nodeinfo-endpoint.php';
17 20
18 -define( 'NODEINFO_PLUGIN_FILE', __FILE__ );
19 -define( 'NODEINFO_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
21 + // Configure the REST API route
22 + add_action( 'rest_api_init', array( 'Nodeinfo_Endpoint', 'register_routes' ) );
20 23
21 -// Require the autoloader.
22 -require_once NODEINFO_PLUGIN_DIR . 'includes/class-autoloader.php';
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' );
23 30
24 -// Register the autoloader.
25 -Nodeinfo\Autoloader::register_path( 'Nodeinfo', NODEINFO_PLUGIN_DIR . 'includes' );
31 +/**
32 + * Add rewrite rules
33 + */
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' );
37 +}
38 +add_action( 'init', 'nodeinfo_add_rewrite_rules', 1 );
26 39
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 -
33 40 /**
34 - * Plugin initialization function.
35 - *
36 - * @return Nodeinfo\Nodeinfo The plugin instance.
41 + * Flush rewrite rules;
37 42 */
38 -function nodeinfo_plugin() {
39 - return Nodeinfo\Nodeinfo::get_instance();
43 +function nodeinfo_flush_rewrite_rules() {
44 + nodeinfo_add_rewrite_rules();
45 + flush_rewrite_rules();
40 46 }
41 -
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' ) );
47 +register_activation_hook( __FILE__, 'nodeinfo_flush_rewrite_rules' );
48 +register_deactivation_hook( __FILE__, 'flush_rewrite_rules' );