/**
  * 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__));
     }
 }
Ejemplo n.º 2
0
 /**
  * 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__));
     }
 }