Skip to:
Content

bbPress.org


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