Skip to:
Content

bbPress.org

Changeset 6178


Ignore:
Timestamp:
12/18/2016 04:13:15 PM (4 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.

Location:
trunk/src/includes/admin
Files:
3 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>' .
  • trunk/src/includes/admin/replies.php

    r6141 r6178  
    2828    private $post_type = '';
    2929
     30    /**
     31     * @var WP_Screen The current screen object
     32     */
     33    private $screen;
     34
    3035    /** Functions *************************************************************/
    3136
     
    107112     */
    108113    private function bail() {
    109         if ( $this->post_type !== get_current_screen()->post_type ) {
     114
     115        // Not for a post type
     116        if ( empty( $this->screen->post_type ) ) {
    110117            return true;
    111118        }
    112119
     120        // Not this post type
     121        if ( $this->post_type != $this->screen->post_type ) {
     122            return true;
     123        }
     124
    113125        return false;
    114126    }
     
    122134     */
    123135    private function setup_globals() {
    124         $this->post_type = bbp_get_reply_post_type();
     136        $this->post_type = bbp_get_forum_post_type();
     137        $this->screen    = $this->screen;
    125138    }
    126139
     
    141154
    142155        // Overview
    143         get_current_screen()->add_help_tab( array(
     156        $this->screen->add_help_tab( array(
    144157            'id'        => 'overview',
    145158            'title'     => __( 'Overview', 'bbpress' ),
     
    149162
    150163        // Screen Content
    151         get_current_screen()->add_help_tab( array(
     164        $this->screen->add_help_tab( array(
    152165            'id'        => 'screen-content',
    153166            'title'     => __( 'Screen Content', 'bbpress' ),
     
    163176
    164177        // Available Actions
    165         get_current_screen()->add_help_tab( array(
     178        $this->screen->add_help_tab( array(
    166179            'id'        => 'action-links',
    167180            'title'     => __( 'Available Actions', 'bbpress' ),
     
    179192
    180193        // Bulk Actions
    181         get_current_screen()->add_help_tab( array(
     194        $this->screen->add_help_tab( array(
    182195            'id'        => 'bulk-actions',
    183196            'title'     => __( 'Bulk Actions', 'bbpress' ),
     
    188201
    189202        // Help Sidebar
    190         get_current_screen()->set_help_sidebar(
     203        $this->screen->set_help_sidebar(
    191204            '<p><strong>' . __( 'For more information:', 'bbpress' ) . '</strong></p>' .
    192205            '<p>' . __( '<a href="https://codex.bbpress.org" target="_blank">bbPress Documentation</a>',    'bbpress' ) . '</p>' .
     
    200213     * @since 2.0.0 bbPress (r3119)
    201214     *
    202      * @uses get_current_screen()
     215     * @uses $this->screen
    203216     */
    204217    public function new_help() {
     
    210223        $customize_display = '<p>' . __( 'The title field and the big reply 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>';
    211224
    212         get_current_screen()->add_help_tab( array(
     225        $this->screen->add_help_tab( array(
    213226            'id'      => 'customize-display',
    214227            'title'   => __( 'Customizing This Display', 'bbpress' ),
     
    216229        ) );
    217230
    218         get_current_screen()->add_help_tab( array(
     231        $this->screen->add_help_tab( array(
    219232            'id'      => 'title-reply-editor',
    220233            'title'   => __( 'Title and Reply Editor', 'bbpress' ),
     
    230243        }
    231244
    232         get_current_screen()->add_help_tab( array(
     245        $this->screen->add_help_tab( array(
    233246            'id'      => 'reply-attributes',
    234247            'title'   => __( 'Reply Attributes', 'bbpress' ),
     
    242255        ) );
    243256
    244         get_current_screen()->add_help_tab( array(
     257        $this->screen->add_help_tab( array(
    245258            'id'      => 'publish-box',
    246259            'title'   => __( 'Publish Box', 'bbpress' ),
     
    248261        ) );
    249262
    250         get_current_screen()->set_help_sidebar(
     263        $this->screen->set_help_sidebar(
    251264            '<p><strong>' . __( 'For more information:', 'bbpress' ) . '</strong></p>' .
    252265            '<p>' . __( '<a href="https://codex.bbpress.org" target="_blank">bbPress Documentation</a>',    'bbpress' ) . '</p>' .
  • trunk/src/includes/admin/topics.php

    r6141 r6178  
    2828    private $post_type = '';
    2929
     30    /**
     31     * @var WP_Screen The current screen object
     32     */
     33    private $screen;
     34
    3035    /** Functions *************************************************************/
    3136
     
    108113     */
    109114    private function bail() {
    110         if ( $this->post_type !== get_current_screen()->post_type ) {
     115
     116        // Not for a post type
     117        if ( empty( $this->screen->post_type ) ) {
    111118            return true;
    112119        }
    113120
     121        // Not this post type
     122        if ( $this->post_type != $this->screen->post_type ) {
     123            return true;
     124        }
     125
    114126        return false;
    115127    }
     
    123135     */
    124136    private function setup_globals() {
    125         $this->post_type = bbp_get_topic_post_type();
     137        $this->post_type = bbp_get_forum_post_type();
     138        $this->screen    = get_current_screen();
    126139    }
    127140
     
    142155
    143156        // Overview
    144         get_current_screen()->add_help_tab( array(
     157        $this->screen->add_help_tab( array(
    145158            'id'        => 'overview',
    146159            'title'     => __( 'Overview', 'bbpress' ),
     
    150163
    151164        // Screen Content
    152         get_current_screen()->add_help_tab( array(
     165        $this->screen->add_help_tab( array(
    153166            'id'        => 'screen-content',
    154167            'title'     => __( 'Screen Content', 'bbpress' ),
     
    164177
    165178        // Available Actions
    166         get_current_screen()->add_help_tab( array(
     179        $this->screen->add_help_tab( array(
    167180            'id'        => 'action-links',
    168181            'title'     => __( 'Available Actions', 'bbpress' ),
     
    182195
    183196        // Bulk Actions
    184         get_current_screen()->add_help_tab( array(
     197        $this->screen->add_help_tab( array(
    185198            'id'        => 'bulk-actions',
    186199            'title'     => __( 'Bulk Actions', 'bbpress' ),
     
    191204
    192205        // Help Sidebar
    193         get_current_screen()->set_help_sidebar(
     206        $this->screen->set_help_sidebar(
    194207            '<p><strong>' . __( 'For more information:', 'bbpress' ) . '</strong></p>' .
    195208            '<p>' . __( '<a href="https://codex.bbpress.org" target="_blank">bbPress Documentation</a>',     'bbpress' ) . '</p>' .
     
    203216     * @since 2.0.0 bbPress (r3119)
    204217     *
    205      * @uses get_current_screen()
     218     * @uses $this->screen
    206219     */
    207220    public function new_help() {
     
    213226        $customize_display = '<p>' . __( 'The title field and the big topic 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>';
    214227
    215         get_current_screen()->add_help_tab( array(
     228        $this->screen->add_help_tab( array(
    216229            'id'      => 'customize-display',
    217230            'title'   => __( 'Customizing This Display', 'bbpress' ),
     
    219232        ) );
    220233
    221         get_current_screen()->add_help_tab( array(
     234        $this->screen->add_help_tab( array(
    222235            'id'      => 'title-topic-editor',
    223236            'title'   => __( 'Title and Topic Editor', 'bbpress' ),
     
    233246        }
    234247
    235         get_current_screen()->add_help_tab( array(
     248        $this->screen->add_help_tab( array(
    236249            'id'      => 'topic-attributes',
    237250            'title'   => __( 'Topic Attributes', 'bbpress' ),
     
    244257        ) );
    245258
    246         get_current_screen()->add_help_tab( array(
     259        $this->screen->add_help_tab( array(
    247260            'id'      => 'publish-box',
    248261            'title'   => __( 'Publish Box', 'bbpress' ),
     
    250263        ) );
    251264
    252         get_current_screen()->set_help_sidebar(
     265        $this->screen->set_help_sidebar(
    253266            '<p><strong>' . __( 'For more information:', 'bbpress' ) . '</strong></p>' .
    254267            '<p>' . __( '<a href="https://codex.bbpress.org" target="_blank">bbPress Documentation</a>',    'bbpress' ) . '</p>' .
Note: See TracChangeset for help on using the changeset viewer.