X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/af50974463450c98503e763a7836a50e260461a9..9441756a895fb4fdc4bcf20e0d228cef622663ca:/wp-admin/includes/class-wp-list-table.php diff --git a/wp-admin/includes/class-wp-list-table.php b/wp-admin/includes/class-wp-list-table.php index a90b4b8c..3a85f79d 100644 --- a/wp-admin/includes/class-wp-list-table.php +++ b/wp-admin/includes/class-wp-list-table.php @@ -1,66 +1,71 @@ get_column_info(). + * + * @since 4.1.0 + * @access protected + * @var array + */ + protected $_column_headers; + + /** + * {@internal Missing Summary} + * + * @access protected + * @var array + */ + protected $compat_fields = array( '_args', '_pagination_args', 'screen', '_actions', '_pagination' ); + + /** + * {@internal Missing Summary} + * + * @access protected + * @var array + */ + protected $compat_methods = array( 'set_pagination_args', 'get_views', 'get_bulk_actions', 'bulk_actions', + 'row_actions', 'months_dropdown', 'view_switcher', 'comments_bubble', 'get_items_per_page', 'pagination', + 'get_sortable_columns', 'get_column_info', 'get_table_classes', 'display_tablenav', 'extra_tablenav', + 'single_row_columns' ); + /** * Constructor. * @@ -142,7 +175,9 @@ class WP_List_Table { * @return mixed Property. */ public function __get( $name ) { - return $this->$name; + if ( in_array( $name, $this->compat_fields ) ) { + return $this->$name; + } } /** @@ -151,12 +186,14 @@ class WP_List_Table { * @since 4.0.0 * @access public * - * @param string $name Property to set. + * @param string $name Property to check if set. * @param mixed $value Property value. * @return mixed Newly-set property. */ public function __set( $name, $value ) { - return $this->$name = $value; + if ( in_array( $name, $this->compat_fields ) ) { + return $this->$name = $value; + } } /** @@ -169,7 +206,9 @@ class WP_List_Table { * @return bool Whether the property is set. */ public function __isset( $name ) { - return isset( $this->$name ); + if ( in_array( $name, $this->compat_fields ) ) { + return isset( $this->$name ); + } } /** @@ -181,7 +220,9 @@ class WP_List_Table { * @param string $name Property to unset. */ public function __unset( $name ) { - unset( $this->$name ); + if ( in_array( $name, $this->compat_fields ) ) { + unset( $this->$name ); + } } /** @@ -195,7 +236,10 @@ class WP_List_Table { * @return mixed|bool Return value of the callback, false otherwise. */ public function __call( $name, $arguments ) { - return call_user_func_array( array( $this, $name ), $arguments ); + if ( in_array( $name, $this->compat_methods ) ) { + return call_user_func_array( array( $this, $name ), $arguments ); + } + return false; } /** @@ -224,8 +268,10 @@ class WP_List_Table { /** * An internal method that sets all the necessary pagination arguments * - * @param array $args An associative array with information about the pagination + * @since 3.1.0 * @access protected + * + * @param array|string $args Array or string of arguments with information about the pagination. */ protected function set_pagination_args( $args ) { $args = wp_parse_args( $args, array( @@ -257,11 +303,13 @@ class WP_List_Table { * @return int Number of items that correspond to the given pagination argument. */ public function get_pagination_arg( $key ) { - if ( 'page' == $key ) + if ( 'page' === $key ) { return $this->get_pagenum(); + } - if ( isset( $this->_pagination_args[$key] ) ) + if ( isset( $this->_pagination_args[$key] ) ) { return $this->_pagination_args[$key]; + } } /** @@ -313,7 +361,7 @@ class WP_List_Table { screen->render_screen_reader_content( 'heading_views' ); + echo "