Skip to:
Content

bbPress.org


Ignore:
Timestamp:
12/18/2016 04:13:15 PM (9 years ago)
Author:
johnjamesjacoby
Message:

Tools: Update forum/topic/reply admin classes to avoid screens without post_type parameters.

Fixes edge-case debug notices when tools pages for third-party plugins are doing advanced things.

See #2959.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/includes/admin/forums.php

    r6141 r6178  
    2424
    2525    /**
    26      * @var The post type of this admin component
     26     * @var string The post type of this admin component
    2727     */
    2828    private $post_type = '';
     29
     30    /**
     31     * @var WP_Screen The current screen object
     32     */
     33    private $screen;
    2934
    3035    /** Functions *************************************************************/
     
    95100     */
    96101    private function bail() {
    97         if ( $this->post_type != get_current_screen()->post_type ) {
     102
     103        // Not for a post type
     104        if ( empty( $this->screen->post_type ) ) {
     105            return true;
     106        }
     107
     108        // Not this post type
     109        if ( $this->post_type != $this->screen->post_type ) {
    98110            return true;
    99111        }
     
    111123    private function setup_globals() {
    112124        $this->post_type = bbp_get_forum_post_type();
     125        $this->screen    = get_current_screen();
    113126    }
    114127
     
    129142
    130143        // Overview
    131         get_current_screen()->add_help_tab( array(
     144        $this->screen->add_help_tab( array(
    132145            'id'        => 'overview',
    133146            'title'     => __( 'Overview', 'bbpress' ),
     
    137150
    138151        // Screen Content
    139         get_current_screen()->add_help_tab( array(
     152        $this->screen->add_help_tab( array(
    140153            'id'        => 'screen-content',
    141154            'title'     => __( 'Screen Content', 'bbpress' ),
     
    150163
    151164        // Available Actions
    152         get_current_screen()->add_help_tab( array(
     165        $this->screen->add_help_tab( array(
    153166            'id'        => 'action-links',
    154167            'title'     => __( 'Available Actions', 'bbpress' ),
     
    163176
    164177        // Bulk Actions
    165         get_current_screen()->add_help_tab( array(
     178        $this->screen->add_help_tab( array(
    166179            'id'        => 'bulk-actions',
    167180            'title'     => __( 'Bulk Actions', 'bbpress' ),
     
    172185
    173186        // Help Sidebar
    174         get_current_screen()->set_help_sidebar(
     187        $this->screen->set_help_sidebar(
    175188            '<p><strong>' . __( 'For more information:', 'bbpress' ) . '</strong></p>' .
    176189            '<p>' . __( '<a href="https://codex.bbpress.org" target="_blank">bbPress Documentation</a>',    'bbpress' ) . '</p>' .
     
    184197     * @since 2.0.0 bbPress (r3119)
    185198     *
    186      * @uses get_current_screen()
     199     * @uses $this->screen
    187200     */
    188201    public function new_help() {
     
    194207        $customize_display = '<p>' . __( 'The title field and the big forum editing Area are fixed in place, but you can reposition all the other boxes using drag and drop, and can minimize or expand them by clicking the title bar of each box. Use the Screen Options tab to unhide more boxes (Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, Author) or to choose a 1- or 2-column layout for this screen.', 'bbpress' ) . '</p>';
    195208
    196         get_current_screen()->add_help_tab( array(
     209        $this->screen->add_help_tab( array(
    197210            'id'      => 'customize-display',
    198211            'title'   => __( 'Customizing This Display', 'bbpress' ),
     
    200213        ) );
    201214
    202         get_current_screen()->add_help_tab( array(
     215        $this->screen->add_help_tab( array(
    203216            'id'      => 'title-forum-editor',
    204217            'title'   => __( 'Title and Forum Editor', 'bbpress' ),
     
    214227        }
    215228
    216         get_current_screen()->add_help_tab( array(
     229        $this->screen->add_help_tab( array(
    217230            'id'      => 'forum-attributes',
    218231            'title'   => __( 'Forum Attributes', 'bbpress' ),
     
    228241        ) );
    229242
    230         get_current_screen()->add_help_tab( array(
     243        $this->screen->add_help_tab( array(
    231244            'id'      => 'publish-box',
    232245            'title'   => __( 'Publish Box', 'bbpress' ),
     
    234247        ) );
    235248
    236         get_current_screen()->set_help_sidebar(
     249        $this->screen->set_help_sidebar(
    237250            '<p><strong>' . __( 'For more information:', 'bbpress' ) . '</strong></p>' .
    238251            '<p>' . __( '<a href="https://codex.bbpress.org" target="_blank">bbPress Documentation</a>',    'bbpress' ) . '</p>' .
Note: See TracChangeset for help on using the changeset viewer.