/** * Give the user options for how to handle their legacy Stream records * * @action admin_notices * @return void */ public static function show_migrate_notice() { if (!isset($_GET['migrate_action']) && WP_Stream::is_connected() && WP_Stream_Admin::is_stream_screen() && !empty(self::$record_count) && false === get_transient(self::MIGRATE_DELAY_TRANSIENT)) { return true; } return false; }
/** * 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')); // Load settings require_once WP_STREAM_REPORTS_INC_DIR . 'class-wp-stream-reports-settings.php'; add_action('init', array('WP_Stream_Reports_Settings', 'load'), 9); // Load date interval require_once WP_STREAM_CLASS_DIR . 'class-wp-stream-date-interval.php'; require_once WP_STREAM_REPORTS_INC_DIR . 'class-wp-stream-reports-date-interval.php'; add_action('init', array('WP_Stream_Reports_Date_Interval', 'get_instance')); // Load metaboxes and charts require_once WP_STREAM_REPORTS_INC_DIR . 'class-wp-stream-reports-meta-boxes.php'; require_once WP_STREAM_REPORTS_INC_DIR . 'class-wp-stream-reports-charts.php'; add_action('init', array('WP_Stream_Reports_Metaboxes', 'get_instance'), 12); // Load template tags require_once WP_STREAM_REPORTS_INC_DIR . 'template-tags.php'; // Register new submenu add_action('network_admin_menu', array($this, 'register_menu'), 11); if (WP_Stream::is_connected() || WP_Stream::is_development_mode()) { 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); }
/** * Check is menu is present in menu array */ public function test_register_menu() { do_action('admin_menu'); global $menu, $submenu; //Check main menu $this->assertTrue(in_array('wp_stream', reset($menu))); if (WP_Stream::is_connected() || WP_Stream::is_development_mode()) { //Check submenu $this->assertTrue(in_array('wp_stream_settings', $submenu['wp_stream'][1])); } }
/** * Load our classes, actions/filters, only if our big brother is activated. * GO GO GO! * * @return void */ public function load() { if (!apply_filters('wp_stream_notifications_disallow_site_access', false) && (WP_Stream::is_connected() || WP_Stream::is_development_mode())) { add_action('admin_menu', array($this, 'register_menu'), 11); } // Load settings, enabling extensions to hook in require_once WP_STREAM_NOTIFICATIONS_INC_DIR . 'class-wp-stream-notifications-settings.php'; add_action('init', array('WP_Stream_Notifications_Settings', 'load'), 9); if (WP_Stream_API::is_restricted()) { add_action('in_admin_header', array(__CLASS__, 'in_admin_header')); return; } // Include all adapters include_once WP_STREAM_NOTIFICATIONS_INC_DIR . 'class-wp-stream-notifications-adapter.php'; $adapters = array('email', 'push', 'sms'); foreach ($adapters as $adapter) { include WP_STREAM_NOTIFICATIONS_INC_DIR . 'adapters/class-wp-stream-notifications-adapter-' . $adapter . '.php'; } // Load Matcher include_once WP_STREAM_NOTIFICATIONS_INC_DIR . 'class-wp-stream-notifications-matcher.php'; $this->matcher = new WP_Stream_Notifications_Matcher(); }
/** * Add a specific body class to all Stream admin screens * * @filter admin_body_class * * @param string $classes * * @return string $classes */ public static function admin_body_class($classes) { if (self::is_stream_screen()) { $classes .= sprintf(' %s ', self::ADMIN_BODY_CLASS); if (WP_Stream::is_connected() || WP_Stream::is_development_mode()) { $classes .= ' wp_stream_connected '; } else { $classes .= ' wp_stream_disconnected '; } if (WP_Stream_API::is_restricted()) { $classes .= ' wp_stream_restricted '; } } $settings_pages = array(self::SETTINGS_PAGE_SLUG); if (isset($_GET['page']) && in_array($_GET['page'], $settings_pages)) { $classes .= sprintf(' %s ', self::SETTINGS_PAGE_SLUG); } return $classes; }