Force get_pagenum to validate max pages. Add sanity redirect code to upload.php. see #16187. props MarkJaquith, greuben.

git-svn-id: http://svn.automattic.com/wordpress/trunk@17271 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
nacin 2011-01-12 17:24:34 +00:00
parent 7c5fd789ac
commit 99171772c8
2 changed files with 10 additions and 0 deletions

View File

@ -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 );
}

View File

@ -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';