示例#1
0
 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'));
 }