get_option( 'friends_plugin_version' ) ) { add_action( 'admin_init', array( __NAMESPACE__ . '\Friends', 'upgrade_plugin' ) ); } add_action( 'upgrader_process_complete', array( __NAMESPACE__ . '\Friends', 'upgrade_plugin_trigger' ), 10, 2 ); register_activation_hook( __FILE__, array( __NAMESPACE__ . '\Friends', 'activate_plugin' ) ); register_deactivation_hook( __FILE__, array( __NAMESPACE__ . '\Friends', 'deactivate_plugin' ) ); register_uninstall_hook( __FILE__, array( __NAMESPACE__ . '\Friends', 'uninstall_plugin' ) ); add_action( 'activate_blog', array( __NAMESPACE__ . '\Friends', 'activate_plugin' ) ); add_action( 'wp_initialize_site', array( __NAMESPACE__ . '\Friends', 'activate_for_blog' ) ); // Register widgets. require_once __DIR__ . '/widgets/class-widget-base-friends-list.php'; require_once __DIR__ . '/widgets/class-widget-refresh.php'; add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Refresh', 'register' ) ); require_once __DIR__ . '/widgets/class-widget-friends-list.php'; add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Friends_List', 'register' ) ); require_once __DIR__ . '/widgets/class-widget-starred-friends-list.php'; add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Starred_Friends_List', 'register' ) ); require_once __DIR__ . '/widgets/class-widget-recent-friends-list.php'; add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Recent_Friends_List', 'register' ) ); require_once __DIR__ . '/widgets/class-widget-friend-request.php'; add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Friend_Request', 'register' ) ); require_once __DIR__ . '/widgets/class-widget-new-private-post.php'; add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_New_Private_Post', 'register' ) ); require_once __DIR__ . '/widgets/class-widget-post-formats.php'; add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Post_Formats', 'register' ) ); require_once __DIR__ . '/widgets/class-widget-header.php'; add_action( 'widgets_init', array( __NAMESPACE__ . '\Widget_Header', 'register' ) ); // Register bundled parsers. add_action( 'friends_load_parsers', function ( Feed $friends_feed ) { require_once __DIR__ . '/feed-parsers/class-feed-parser-simplepie.php'; $friends_feed->register_parser( Feed_Parser_SimplePie::SLUG, new Feed_Parser_SimplePie() ); }, 9 ); add_action( 'friends_load_parsers', function ( Feed $friends_feed ) { require_once __DIR__ . '/feed-parsers/class-feed-parser-microformats.php'; $friends_feed->register_parser( Feed_Parser_Microformats::SLUG, new Feed_Parser_Microformats() ); }, 9 ); add_action( 'friends_load_parsers', function ( Feed $friends_feed ) { require_once __DIR__ . '/feed-parsers/class-feed-parser-json-feed.php'; $friends_feed->register_parser( Feed_Parser_JSON_Feed::SLUG, new Feed_Parser_JSON_Feed() ); }, 9 ); add_action( 'friends_load_parsers', function ( \Friends\Feed $friends_feed ) { if ( ! class_exists( '\Activitypub\Activitypub' ) ) { // ActivityPub plugin not active. return; } global $wp_filter; if ( isset( $wp_filter['friends_load_parsers']->callbacks[10] ) && class_exists( '\\ReflectionFunction' ) ) { // Unhook the parser from ActivityPub 0.14. foreach ( $wp_filter['friends_load_parsers']->callbacks[10] as $key => $hook ) { $r = new \ReflectionFunction( $hook['function'] ); if ( \str_ends_with( $r->getFileName(), 'activitypub.php' ) ) { remove_filter( 'friends_load_parsers', $hook['function'], 10 ); break; } } } require_once __DIR__ . '/feed-parsers/class-feed-parser-activitypub.php'; $friends_feed->register_parser( Feed_Parser_ActivityPub::SLUG, new Feed_Parser_ActivityPub( $friends_feed ) ); }, 9 );