PluginProbe
Friends / 2.7.4
Friends v2.7.4
4.3.1 4.3.0 4.2.2 4.2.1 4.2.0 4.1.0 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.0 2.9.1 2.9.2 All 87 releases
friends / friends.php

friends.php in Friends 2.7.4, at friends.php

148 lines 5.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin name: Friends
4 * Plugin author: Alex Kirk
5 * Plugin URI: https://github.com/akirk/friends
6 * Version: 2.7.4
7 *
8 * Description: A social network between WordPresses. Privacy focused, by itself a self-hosted RSS++ reader with notifications.
9 *
10 * License: GPL2
11 * Text Domain: friends
12 * Domain Path: /languages/
13 *
14 * @package Friends
15 */
16
17 namespace Friends;
18
19 /**
20 * This file loads all the dependencies the Friends plugin.
21 */
22
23 defined( 'ABSPATH' ) || exit;
24 define( 'FRIENDS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
25 define( 'FRIENDS_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
26 define( 'FRIENDS_PLUGIN_FILE', plugin_dir_path( __FILE__ ) . '/' . basename( __FILE__ ) );
27 define( 'FRIENDS_VERSION', '2.7.4' );
28
29 require_once __DIR__ . '/libs/Mf2/Parser.php';
30 require_once __DIR__ . '/libs/blocks-everywhere/blocks-everywhere.php';
31
32 require_once __DIR__ . '/includes/class-user.php';
33 require_once __DIR__ . '/includes/class-user-feed.php';
34 require_once __DIR__ . '/includes/class-user-query.php';
35 require_once __DIR__ . '/includes/class-subscription.php';
36
37 // Classes to be implemented or used by parser plugins.
38 require_once __DIR__ . '/feed-parsers/class-feed-parser.php';
39 require_once __DIR__ . '/feed-parsers/class-feed-parser-v2.php';
40 require_once __DIR__ . '/feed-parsers/class-feed-item.php';
41
42 require_once __DIR__ . '/includes/class-access-control.php';
43 require_once __DIR__ . '/includes/class-admin.php';
44 require_once __DIR__ . '/includes/class-automatic-status.php';
45 require_once __DIR__ . '/includes/class-blocks.php';
46 require_once __DIR__ . '/includes/class-feed.php';
47 require_once __DIR__ . '/includes/class-frontend.php';
48 require_once __DIR__ . '/includes/class-logging.php';
49 require_once __DIR__ . '/includes/class-messages.php';
50 require_once __DIR__ . '/includes/class-notifications.php';
51 require_once __DIR__ . '/includes/class-plugin-installer.php';
52 require_once __DIR__ . '/includes/class-reactions.php';
53 require_once __DIR__ . '/includes/class-rest.php';
54 require_once __DIR__ . '/includes/class-shortcodes.php';
55 require_once __DIR__ . '/includes/class-template-loader.php';
56 require_once __DIR__ . '/includes/class-third-parties.php';
57 require_once __DIR__ . '/includes/class-friends.php';
58
59 add_action( 'plugins_loaded', array( __NAMESPACE__ . '\Friends', 'init' ) );
60 add_action( 'admin_init', array( __NAMESPACE__ . '\Plugin_Installer', 'register_hooks' ) );
61 add_action( 'upgrader_process_complete', array( __NAMESPACE__ . '\Friends', 'upgrade_plugin' ), 10, 2 );
62 register_activation_hook( __FILE__, array( __NAMESPACE__ . '\Friends', 'activate_plugin' ) );
63 register_deactivation_hook( __FILE__, array( __NAMESPACE__ . '\Friends', 'deactivate_plugin' ) );
64 register_uninstall_hook( __FILE__, array( __NAMESPACE__ . '\Friends', 'uninstall_plugin' ) );
65
66 add_action( 'activate_blog', array( __NAMESPACE__ . '\Friends', 'activate_plugin' ) );
67 add_action( 'wp_initialize_site', array( __NAMESPACE__ . '\Friends', 'activate_for_blog' ) );
68
69 // Register widgets.
70 require_once __DIR__ . '/widgets/class-widget-base-friends-list.php';
71 require_once __DIR__ . '/widgets/class-widget-refresh.php';
72 add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Refresh', 'register' ) );
73
74 require_once __DIR__ . '/widgets/class-widget-friends-list.php';
75 add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Friends_List', 'register' ) );
76
77 require_once __DIR__ . '/widgets/class-widget-starred-friends-list.php';
78 add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Starred_Friends_List', 'register' ) );
79
80 require_once __DIR__ . '/widgets/class-widget-recent-friends-list.php';
81 add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Recent_Friends_List', 'register' ) );
82
83 require_once __DIR__ . '/widgets/class-widget-friend-request.php';
84 add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Friend_Request', 'register' ) );
85
86 require_once __DIR__ . '/widgets/class-widget-new-private-post.php';
87 add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_New_Private_Post', 'register' ) );
88
89 require_once __DIR__ . '/widgets/class-widget-post-formats.php';
90 add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Post_Formats', 'register' ) );
91
92 require_once __DIR__ . '/widgets/class-widget-header.php';
93 add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Header', 'register' ) );
94
95 // Register bundled parsers.
96 add_action(
97 'friends_load_parsers',
98 function( Feed $friends_feed ) {
99 require_once __DIR__ . '/feed-parsers/class-feed-parser-simplepie.php';
100 $friends_feed->register_parser( Feed_Parser_SimplePie::SLUG, new Feed_Parser_SimplePie );
101 },
102 9
103 );
104
105 add_action(
106 'friends_load_parsers',
107 function( Feed $friends_feed ) {
108 require_once __DIR__ . '/feed-parsers/class-feed-parser-microformats.php';
109 $friends_feed->register_parser( Feed_Parser_Microformats::SLUG, new Feed_Parser_Microformats );
110 },
111 9
112 );
113
114 add_action(
115 'friends_load_parsers',
116 function( Feed $friends_feed ) {
117 require_once __DIR__ . '/feed-parsers/class-feed-parser-json-feed.php';
118 $friends_feed->register_parser( Feed_Parser_JSON_Feed::SLUG, new Feed_Parser_JSON_Feed );
119 },
120 9
121 );
122
123 add_action(
124 'friends_load_parsers',
125 function( \Friends\Feed $friends_feed ) {
126 if ( ! class_exists( '\Activitypub\Activitypub' ) ) {
127 // ActivityPub plugin not active.
128 return;
129 }
130
131 global $wp_filter;
132 if ( isset( $wp_filter['friends_load_parsers']->callbacks[10] ) && class_exists( '\\ReflectionFunction' ) ) {
133 // Unhook the parser from ActivityPub 0.14.
134 foreach ( $wp_filter['friends_load_parsers']->callbacks[10] as $key => $hook ) {
135 $r = new \ReflectionFunction( $hook['function'] );
136 if ( \str_ends_with( $r->getFileName(), 'activitypub.php' ) ) {
137 remove_filter( 'friends_load_parsers', $hook['function'], 10 );
138 break;
139 }
140 }
141 }
142
143 require_once __DIR__ . '/feed-parsers/class-feed-parser-activitypub.php';
144 $friends_feed->register_parser( Feed_Parser_ActivityPub::SLUG, new Feed_Parser_ActivityPub( $friends_feed ) );
145 },
146 9
147 );
148