Force get_pagenum to validate max pages. Add sanity redirect code to upload.php. see #16187. props MarkJaquith, greuben.
git-svn-id: https://develop.svn.wordpress.org/trunk@17271 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
19122c3516
commit
51b498aec2
@ -438,6 +438,9 @@ class WP_List_Table {
|
||||
function get_pagenum() {
|
||||
$pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0;
|
||||
|
||||
if( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] )
|
||||
$pagenum = $this->_pagination_args['total_pages'];
|
||||
|
||||
return max( 1, $pagenum );
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ if ( !current_user_can('upload_files') )
|
||||
wp_die( __( 'You do not have permission to upload files.' ) );
|
||||
|
||||
$wp_list_table = get_list_table('WP_Media_List_Table');
|
||||
$pagenum = $wp_list_table->get_pagenum();
|
||||
|
||||
// Handle bulk actions
|
||||
$doaction = $wp_list_table->current_action();
|
||||
@ -131,6 +132,12 @@ if ( $doaction ) {
|
||||
|
||||
$wp_list_table->prepare_items();
|
||||
|
||||
$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
|
||||
if ( $pagenum > $total_pages && $total_pages > 0 ) {
|
||||
wp_redirect( add_query_arg( 'paged', $total_pages ) );
|
||||
exit;
|
||||
}
|
||||
|
||||
$title = __('Media Library');
|
||||
$parent_file = 'upload.php';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user