diff --git a/wp-admin/media.php b/wp-admin/media.php index e91b511e6..da087614c 100644 --- a/wp-admin/media.php +++ b/wp-admin/media.php @@ -10,11 +10,23 @@ wp_reset_vars(array('action')); switch( $action ) : case 'editattachment' : $errors = media_upload_form_handler(); + $attachment_id = (int) $_POST['attachment_id']; if ( empty($errors) ) { - wp_redirect( add_query_arg( 'message', 'updated' ) ); + $location = 'media.php'; + if ( $referer = wp_get_original_referer() ) { + if ( false !== strpos($referer, 'upload.php') ) + $location = $referer; + } + if ( false !== strpos($referer, 'upload.php') ) { + $location = remove_query_arg('message', $location); + $location = add_query_arg('posted', $attachment_id, $location); + } else { + $location = add_query_arg('message', 'updated', $location); + } + wp_redirect($location); exit; - break; } + // no break case 'edit' : $title = __('Edit Media'); @@ -65,7 +77,9 @@ case 'edit' :

+ +

diff --git a/wp-admin/upload.php b/wp-admin/upload.php index d622b7262..0f7412dea 100644 --- a/wp-admin/upload.php +++ b/wp-admin/upload.php @@ -18,12 +18,16 @@ if ( isset($_GET['deleteit']) && isset($_GET['delete']) ) { wp_die( __('Error in deleting...') ); } - $sendback = wp_get_referer(); - if (strpos($sendback, 'media.php') !== false) $sendback = get_option('siteurl') .'/wp-admin/media.php'; - $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback); + $location = 'upload.php'; + if ( $referer = wp_get_referer() ) { + if ( false !== strpos($referer, 'upload.php') ) + $location = $referer; + } - wp_redirect($sendback); - exit(); + $location = add_query_arg('message', 2, $location); + $location = remove_query_arg('posted', $location); + wp_redirect($location); + exit; } elseif ( !empty($_GET['_wp_http_referer']) ) { wp_redirect(remove_query_arg(array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']))); exit; @@ -107,9 +111,17 @@ unset($type_links); -

|

+

|

+

+