web/wp-admin/media.php
branchwordpress
changeset 109 03b0d1493584
child 132 4d4862461b8d
equal deleted inserted replaced
-1:000000000000 109:03b0d1493584
       
     1 <?php
       
     2 /**
       
     3  * Media management action handler.
       
     4  *
       
     5  * @package WordPress
       
     6  * @subpackage Administration
       
     7  */
       
     8 
       
     9 /** Load WordPress Administration Bootstrap */
       
    10 require_once('admin.php');
       
    11 
       
    12 $parent_file = 'upload.php';
       
    13 $submenu_file = 'upload.php';
       
    14 
       
    15 wp_reset_vars(array('action'));
       
    16 
       
    17 switch( $action ) :
       
    18 case 'editattachment' :
       
    19 	$attachment_id = (int) $_POST['attachment_id'];
       
    20 	check_admin_referer('media-form');
       
    21 
       
    22 	if ( !current_user_can('edit_post', $attachment_id) )
       
    23 		wp_die ( __('You are not allowed to edit this attachment.') );
       
    24 
       
    25 	$errors = media_upload_form_handler();
       
    26 
       
    27 	if ( empty($errors) ) {
       
    28 		$location = 'media.php';
       
    29 		if ( $referer = wp_get_original_referer() ) {
       
    30 			if ( false !== strpos($referer, 'upload.php') || ( url_to_postid($referer) == $attachment_id )  )
       
    31 				$location = $referer;
       
    32 		}
       
    33 		if ( false !== strpos($location, 'upload.php') ) {
       
    34 			$location = remove_query_arg('message', $location);
       
    35 			$location = add_query_arg('posted',	$attachment_id, $location);
       
    36 		} elseif ( false !== strpos($location, 'media.php') ) {
       
    37 			$location = add_query_arg('message', 'updated', $location);
       
    38 		}
       
    39 		wp_redirect($location);
       
    40 		exit;
       
    41 	}
       
    42 
       
    43 	// no break
       
    44 case 'edit' :
       
    45 	$title = __('Edit Media');
       
    46 
       
    47 	if ( empty($errors) )
       
    48 		$errors = null;
       
    49 
       
    50 	if ( empty( $_GET['attachment_id'] ) ) {
       
    51 		wp_redirect('upload.php');
       
    52 		exit();
       
    53 	}
       
    54 	$att_id = (int) $_GET['attachment_id'];
       
    55 
       
    56 	if ( !current_user_can('edit_post', $att_id) )
       
    57 		wp_die ( __('You are not allowed to edit this attachment.') );
       
    58 
       
    59 	$att = get_post($att_id);
       
    60 
       
    61 	add_filter('attachment_fields_to_edit', 'media_single_attachment_fields_to_edit', 10, 2);
       
    62 
       
    63 	wp_enqueue_script( 'wp-ajax-response' );
       
    64 
       
    65 	require( 'admin-header.php' );
       
    66 
       
    67 	$parent_file = 'upload.php';
       
    68 	$message = '';
       
    69 	$class = '';
       
    70 	if ( isset($_GET['message']) ) {
       
    71 		switch ( $_GET['message'] ) :
       
    72 		case 'updated' :
       
    73 			$message = __('Media attachment updated.');
       
    74 			$class = 'updated fade';
       
    75 			break;
       
    76 		endswitch;
       
    77 	}
       
    78 	if ( $message )
       
    79 		echo "<div id='message' class='$class'><p>$message</p></div>\n";
       
    80 
       
    81 ?>
       
    82 
       
    83 <div class="wrap">
       
    84 <?php screen_icon(); ?>
       
    85 <h2><?php _e( 'Edit Media' ); ?></h2>
       
    86 
       
    87 <form method="post" action="<?php echo esc_url( remove_query_arg( 'message' ) ); ?>" class="media-upload-form" id="media-single-form">
       
    88 <div class="media-single">
       
    89 <div id='media-item-<?php echo $att_id; ?>' class='media-item'>
       
    90 <?php echo get_media_item( $att_id, array( 'toggle' => false, 'send' => false, 'delete' => false, 'show_title' => false, 'errors' => $errors ) ); ?>
       
    91 </div>
       
    92 </div>
       
    93 
       
    94 <p class="submit">
       
    95 <input type="submit" class="button-primary" name="save" value="<?php esc_attr_e('Update Media'); ?>" />
       
    96 <input type="hidden" name="post_id" id="post_id" value="<?php echo isset($post_id) ? esc_attr($post_id) : ''; ?>" />
       
    97 <input type="hidden" name="attachment_id" id="attachment_id" value="<?php echo esc_attr($att_id); ?>" />
       
    98 <input type="hidden" name="action" value="editattachment" />
       
    99 <?php wp_original_referer_field(true, 'previous'); ?>
       
   100 <?php wp_nonce_field('media-form'); ?>
       
   101 </p>
       
   102 </form>
       
   103 
       
   104 </div>
       
   105 
       
   106 <?php
       
   107 
       
   108 	require( 'admin-footer.php' );
       
   109 
       
   110 	exit;
       
   111 
       
   112 default:
       
   113 	wp_redirect( 'upload.php' );
       
   114 	exit;
       
   115 
       
   116 endswitch;
       
   117 
       
   118 
       
   119 ?>