2008-03-12 01:50:07 -04:00
< ? php
2008-08-14 02:30:38 -04:00
/**
* Media management action handler .
*
* @ package WordPress
* @ subpackage Administration
*/
/** Load WordPress Administration Bootstrap */
2008-03-12 01:50:07 -04:00
require_once ( 'admin.php' );
2008-11-27 15:28:33 -05:00
$parent_file = 'upload.php' ;
2008-03-12 01:50:07 -04:00
$submenu_file = 'upload.php' ;
wp_reset_vars ( array ( 'action' ));
switch ( $action ) :
case 'editattachment' :
2008-03-26 21:48:22 -04:00
$attachment_id = ( int ) $_POST [ 'attachment_id' ];
2008-04-25 11:23:11 -04:00
check_admin_referer ( 'media-form' );
if ( ! current_user_can ( 'edit_post' , $attachment_id ) )
wp_die ( __ ( 'You are not allowed to edit this attachment.' ) );
$errors = media_upload_form_handler ();
2008-03-12 01:50:07 -04:00
if ( empty ( $errors ) ) {
2008-03-26 21:48:22 -04:00
$location = 'media.php' ;
if ( $referer = wp_get_original_referer () ) {
2008-03-27 18:05:51 -04:00
if ( false !== strpos ( $referer , 'upload.php' ) || ( url_to_postid ( $referer ) == $attachment_id ) )
2008-03-26 21:48:22 -04:00
$location = $referer ;
}
2008-03-27 18:05:51 -04:00
if ( false !== strpos ( $location , 'upload.php' ) ) {
2008-03-26 21:48:22 -04:00
$location = remove_query_arg ( 'message' , $location );
$location = add_query_arg ( 'posted' , $attachment_id , $location );
2008-03-27 18:05:51 -04:00
} elseif ( false !== strpos ( $location , 'media.php' ) ) {
2008-03-26 21:48:22 -04:00
$location = add_query_arg ( 'message' , 'updated' , $location );
}
wp_redirect ( $location );
2008-03-12 01:50:07 -04:00
exit ;
}
2008-03-26 21:48:22 -04:00
2008-03-12 01:50:07 -04:00
// no break
case 'edit' :
$title = __ ( 'Edit Media' );
if ( empty ( $errors ) )
$errors = null ;
if ( empty ( $_GET [ 'attachment_id' ] ) ) {
wp_redirect ( 'upload.php' );
exit ();
}
$att_id = ( int ) $_GET [ 'attachment_id' ];
2008-04-25 11:01:02 -04:00
if ( ! current_user_can ( 'edit_post' , $att_id ) )
wp_die ( __ ( 'You are not allowed to edit this attachment.' ) );
2008-03-12 01:50:07 -04:00
$att = get_post ( $att_id );
2009-07-30 09:39:34 -04:00
if ( empty ( $att -> ID ) ) wp_die ( __ ( 'You attempted to edit an attachment that doesn’t exist. Perhaps it was deleted?' ) );
if ( $att -> post_status == 'trash' ) wp_die ( __ ( 'You can’t edit this attachment because it is in the Trash. Please move it out of the Trash and try again.' ) );
2008-03-12 01:50:07 -04:00
add_filter ( 'attachment_fields_to_edit' , 'media_single_attachment_fields_to_edit' , 10 , 2 );
wp_enqueue_script ( 'wp-ajax-response' );
2008-05-21 20:06:41 -04:00
2008-03-12 01:50:07 -04:00
require ( 'admin-header.php' );
2008-11-27 15:36:01 -05:00
$parent_file = 'upload.php' ;
2008-03-12 01:50:07 -04:00
$message = '' ;
$class = '' ;
if ( isset ( $_GET [ 'message' ]) ) {
switch ( $_GET [ 'message' ] ) :
case 'updated' :
$message = __ ( 'Media attachment updated.' );
$class = 'updated fade' ;
break ;
endswitch ;
}
if ( $message )
echo " <div id='message' class=' $class '><p> $message </p></div> \n " ;
?>
< div class = " wrap " >
2008-11-26 18:35:23 -05:00
< ? php screen_icon (); ?>
2008-03-12 01:50:07 -04:00
< h2 >< ? php _e ( 'Edit Media' ); ?> </h2>
2009-05-18 12:00:33 -04:00
< form method = " post " action = " <?php echo esc_url( remove_query_arg( 'message' ) ); ?> " class = " media-upload-form " id = " media-single-form " >
2008-09-27 04:17:55 -04:00
< div class = " media-single " >
2008-03-12 01:50:07 -04:00
< div id = 'media-item-<?php echo $att_id; ?>' class = 'media-item' >
2008-09-27 04:17:55 -04:00
< ? php echo get_media_item ( $att_id , array ( 'toggle' => false , 'send' => false , 'delete' => false , 'show_title' => false , 'errors' => $errors ) ); ?>
2008-03-12 01:50:07 -04:00
</ div >
</ div >
< p class = " submit " >
2009-05-05 15:43:53 -04:00
< input type = " submit " class = " button-primary " name = " save " value = " <?php esc_attr_e('Update Media'); ?> " />
< input type = " hidden " name = " post_id " id = " post_id " value = " <?php echo isset( $post_id ) ? esc_attr( $post_id ) : ''; ?> " />
< input type = " hidden " name = " attachment_id " id = " attachment_id " value = " <?php echo esc_attr( $att_id ); ?> " />
2008-03-12 01:50:07 -04:00
< input type = " hidden " name = " action " value = " editattachment " />
2008-03-26 21:48:22 -04:00
< ? php wp_original_referer_field ( true , 'previous' ); ?>
2008-03-12 01:50:07 -04:00
< ? php wp_nonce_field ( 'media-form' ); ?>
</ p >
2008-05-04 17:31:29 -04:00
</ form >
2008-03-12 01:50:07 -04:00
</ div >
< ? php
require ( 'admin-footer.php' );
2008-03-17 14:28:43 -04:00
exit ;
default :
wp_redirect ( 'upload.php' );
exit ;
2008-03-12 01:50:07 -04:00
endswitch ;
?>