public static function load() { // User and role caps add_filter('user_has_cap', array(__CLASS__, '_filter_user_caps'), 10, 4); add_filter('role_has_cap', array(__CLASS__, '_filter_role_caps'), 10, 3); self::$disable_access = apply_filters('wp_stream_disable_admin_access', false); // Register settings page add_action('admin_menu', array(__CLASS__, 'register_menu')); // Admin notices add_action('admin_notices', array(__CLASS__, 'admin_notices')); // Add admin body class add_filter('admin_body_class', array(__CLASS__, 'admin_body_class')); // Plugin action links add_filter('plugin_action_links', array(__CLASS__, 'plugin_action_links'), 10, 2); add_filter('network_admin_plugin_action_links', array(__CLASS__, 'plugin_action_links'), 10, 2); // Load admin scripts and styles add_action('admin_enqueue_scripts', array(__CLASS__, 'admin_enqueue_scripts')); add_action('admin_enqueue_scripts', array(__CLASS__, 'admin_menu_css')); // Reset Streams database add_action('wp_ajax_wp_stream_reset', array(__CLASS__, 'wp_ajax_reset')); // Reset Streams settings add_action('wp_ajax_wp_stream_defaults', array(__CLASS__, 'wp_ajax_defaults')); // Uninstall Streams and Deactivate plugin add_action('wp_ajax_wp_stream_uninstall', array(__CLASS__, 'uninstall_plugin')); // Auto purge setup add_action('wp_loaded', array(__CLASS__, 'purge_schedule_setup')); add_action('wp_stream_auto_purge', array(__CLASS__, 'purge_scheduled_action')); // Admin notices add_action('admin_notices', array(__CLASS__, 'admin_notices')); // Ajax authors list add_action('wp_ajax_wp_stream_filters', array(__CLASS__, 'ajax_filters')); // Ajax author's name by ID add_action('wp_ajax_wp_stream_get_filter_value_by_id', array(__CLASS__, 'get_filter_value_by_id')); }
public static function load() { // User and role caps add_filter('user_has_cap', array(__CLASS__, '_filter_user_caps'), 10, 4); add_filter('role_has_cap', array(__CLASS__, '_filter_role_caps'), 10, 3); $home_url = str_ireplace(array('http://', 'https://'), '', home_url()); $connect_nonce = wp_create_nonce('stream_connect_site-' . sanitize_key($home_url)); self::$connect_url = add_query_arg(array('auth' => 'true', 'action' => 'connect', 'home_url' => urlencode($home_url), 'plugin_url' => urlencode(add_query_arg(array('page' => self::RECORDS_PAGE_SLUG, 'nonce' => $connect_nonce), admin_url(self::ADMIN_PARENT_PAGE)))), esc_url_raw(untrailingslashit(self::PUBLIC_URL) . '/pricing/')); $api_key = wp_stream_filter_input(INPUT_GET, 'api_key'); $site_uuid = wp_stream_filter_input(INPUT_GET, 'site_uuid'); // Connect if (!empty($api_key) && !empty($site_uuid)) { add_action('admin_init', array(__CLASS__, 'save_api_authentication')); } // Disconnect if (self::ACCOUNT_PAGE_SLUG === wp_stream_filter_input(INPUT_GET, 'page') && '1' === wp_stream_filter_input(INPUT_GET, 'disconnect')) { add_action('admin_init', array(__CLASS__, 'remove_api_authentication')); } self::$disable_access = apply_filters('wp_stream_disable_admin_access', false); // Register settings page if (!self::$disable_access) { add_action('admin_menu', array(__CLASS__, 'register_menu')); } // Admin notices add_action('admin_notices', array(__CLASS__, 'admin_notices')); // Show connect notice on dashboard and plugins pages add_action('load-index.php', array(__CLASS__, 'prepare_connect_notice')); add_action('load-plugins.php', array(__CLASS__, 'prepare_connect_notice')); // Add admin body class add_filter('admin_body_class', array(__CLASS__, 'admin_body_class')); // Plugin action links add_filter('plugin_action_links', array(__CLASS__, 'plugin_action_links'), 10, 2); // Load admin scripts and styles add_action('admin_enqueue_scripts', array(__CLASS__, 'admin_enqueue_scripts')); add_action('admin_enqueue_scripts', array(__CLASS__, 'admin_menu_css')); // Catch list table results add_filter('wp_stream_query_results', array(__CLASS__, 'mark_as_read'), 10, 3); // Add user option for enabling unread counts add_action('show_user_profile', array(__CLASS__, 'unread_count_user_option')); add_action('edit_user_profile', array(__CLASS__, 'unread_count_user_option')); // Save unread counts user option add_action('personal_options_update', array(__CLASS__, 'save_unread_count_user_option')); add_action('edit_user_profile_update', array(__CLASS__, 'save_unread_count_user_option')); // Delete user-specific transient when user is deleted add_action('delete_user', array(__CLASS__, 'delete_unread_count_transient'), 10, 1); // Reset Streams settings add_action('wp_ajax_wp_stream_defaults', array(__CLASS__, 'wp_ajax_defaults')); // Ajax authors list add_action('wp_ajax_wp_stream_filters', array(__CLASS__, 'ajax_filters')); // Ajax author's name by ID add_action('wp_ajax_wp_stream_get_filter_value_by_id', array(__CLASS__, 'get_filter_value_by_id')); }