/** * Load our classes, actions/filters, only if our big brother is activated. * GO GO GO! * * @return void */ public function load() { // Admin notices add_action('all_admin_notices', array($this, 'admin_notices')); if (!$this->is_dependency_satisfied()) { return; } if (defined('WP_CLI') && WP_CLI) { return; } // Load all classes in /classes folder foreach (glob(WP_STREAM_NOTIFICATIONS_DIR . 'classes/*.php') as $class) { include $class; } // Include all adapters foreach (glob(WP_STREAM_NOTIFICATIONS_DIR . 'classes/adapters/*.php') as $class) { include $class; } if (is_multisite()) { add_filter('wp_stream_notifications_disallow_site_access', array('WP_Stream_Network', 'disable_admin_access')); } // Load settings, enabling extensions to hook in require_once WP_STREAM_NOTIFICATIONS_INC_DIR . 'settings.php'; add_action('init', array('WP_Stream_Notification_Settings', 'load'), 9); // Load network class if (is_multisite()) { require_once WP_STREAM_NOTIFICATIONS_INC_DIR . 'network.php'; $this->network = new WP_Stream_Notifications_Network(); } // Register export page if (!function_exists('is_plugin_active_for_network')) { require_once ABSPATH . '/wp-admin/includes/plugin.php'; } if (is_plugin_active_for_network(WP_STREAM_NOTIFICATIONS_PLUGIN)) { add_action('network_admin_menu', array($this, 'register_menu'), 11); } if (!apply_filters('wp_stream_notifications_disallow_site_access', false)) { add_action('admin_menu', array($this, 'register_menu'), 11); } if (!apply_filters('wp_stream_notifications_disallow_site_access', false)) { add_action('admin_menu', array($this, 'register_menu'), 11); } add_action('admin_enqueue_scripts', array($this, 'register_scripts')); // Default list actions handlers add_action('wp_stream_notifications_handle_deactivate', array($this, 'handle_rule_activation_status_change'), 10, 3); add_action('wp_stream_notifications_handle_activate', array($this, 'handle_rule_activation_status_change'), 10, 3); add_action('wp_stream_notifications_handle_delete', array($this, 'handle_rule_deletion'), 10, 3); // Load Matcher $this->matcher = new WP_Stream_Notification_Rule_Matcher(); // Load form class if (is_admin()) { include WP_STREAM_NOTIFICATIONS_INC_DIR . 'form.php'; $this->form = new WP_Stream_Notifications_Form(); include WP_STREAM_NOTIFICATIONS_INC_DIR . 'export.php'; } // Register to Stream updates if (class_exists('WP_Stream_Updater')) { WP_Stream_Updater::instance()->register(plugin_basename(__FILE__)); } }
/** * Load our classes, actions/filters, only if our big brother is activated. * GO GO GO! * * @return void */ public function load() { add_action('all_admin_notices', array($this, 'admin_notices')); if (!$this->is_dependency_satisfied()) { return; } if (defined('WP_CLI') && WP_CLI) { return; } // Load settings, enabling extensions to hook in require_once WP_STREAM_REPORTS_INC_DIR . 'settings.php'; add_action('init', array('WP_Stream_Reports_Settings', 'load'), 9); // Load sections here require_once WP_STREAM_REPORTS_INC_DIR . 'meta-boxes.php'; add_action('init', array('WP_Stream_Reports_Metaboxes', 'get_instance'), 12); // Load Interval/Date class. require_once WP_STREAM_INC_DIR . 'date-interval.php'; require_once WP_STREAM_REPORTS_INC_DIR . 'date-interval.php'; add_action('init', array('WP_Stream_Reports_Date_Interval', 'get_instance')); // Register new submenu add_action('network_admin_menu', array($this, 'register_menu'), 11); add_action('admin_menu', array($this, 'register_menu'), 11); self::$disallow_access = apply_filters('wp_stream_reports_disallow_site_access', false); // Register and enqueue the administration scripts add_action('admin_enqueue_scripts', array($this, 'register_ui_assets'), 20); add_action('admin_print_scripts', array($this, 'dequeue_media_conflicts'), 9999); // Register to Stream updates if (class_exists('WP_Stream_Updater')) { WP_Stream_Updater::instance()->register(plugin_basename(__FILE__)); } }