/** * Return active instance of this class, create one if it doesn't exist * * @return WP_Stream_Notifications_List_Table */ public static function get_instance() { if (empty(self::$instance)) { self::$instance = new self(); } return self::$instance; }
/** * Admin page callback for list view * * @return void */ public function page_list() { self::$list_table->prepare_items(); echo '<div class="wrap">'; echo sprintf('<h2>%s <a href="%s" class="add-new-h2">%s</a></h2>', __('Stream Notifications', 'stream-notifications'), add_query_arg(array('page' => self::NOTIFICATIONS_PAGE_SLUG, 'view' => 'rule'), is_network_admin() ? network_admin_url(WP_Stream_Admin::ADMIN_PARENT_PAGE) : admin_url(WP_Stream_Admin::ADMIN_PARENT_PAGE)), __('Add New')); // xss okay self::$list_table->display(); echo '</div>'; }
/** * Apply list actions, and load our list-table object * * @action load-edit.php * * @return void */ public function load_list_table() { global $typenow; if (self::POSTTYPE !== $typenow || WP_Stream_API::is_restricted(true)) { return; } require_once WP_STREAM_NOTIFICATIONS_INC_DIR . 'class-wp-stream-notifications-list-table.php'; WP_Stream_Notifications_List_Table::get_instance(); }