web/wp-admin/media.php
branchwordpress
changeset 109 03b0d1493584
child 132 4d4862461b8d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-admin/media.php	Wed Dec 23 17:55:33 2009 +0000
@@ -0,0 +1,119 @@
+<?php
+/**
+ * Media management action handler.
+ *
+ * @package WordPress
+ * @subpackage Administration
+ */
+
+/** Load WordPress Administration Bootstrap */
+require_once('admin.php');
+
+$parent_file = 'upload.php';
+$submenu_file = 'upload.php';
+
+wp_reset_vars(array('action'));
+
+switch( $action ) :
+case 'editattachment' :
+	$attachment_id = (int) $_POST['attachment_id'];
+	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();
+
+	if ( empty($errors) ) {
+		$location = 'media.php';
+		if ( $referer = wp_get_original_referer() ) {
+			if ( false !== strpos($referer, 'upload.php') || ( url_to_postid($referer) == $attachment_id )  )
+				$location = $referer;
+		}
+		if ( false !== strpos($location, 'upload.php') ) {
+			$location = remove_query_arg('message', $location);
+			$location = add_query_arg('posted',	$attachment_id, $location);
+		} elseif ( false !== strpos($location, 'media.php') ) {
+			$location = add_query_arg('message', 'updated', $location);
+		}
+		wp_redirect($location);
+		exit;
+	}
+
+	// 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'];
+
+	if ( !current_user_can('edit_post', $att_id) )
+		wp_die ( __('You are not allowed to edit this attachment.') );
+
+	$att = get_post($att_id);
+
+	add_filter('attachment_fields_to_edit', 'media_single_attachment_fields_to_edit', 10, 2);
+
+	wp_enqueue_script( 'wp-ajax-response' );
+
+	require( 'admin-header.php' );
+
+	$parent_file = 'upload.php';
+	$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">
+<?php screen_icon(); ?>
+<h2><?php _e( 'Edit Media' ); ?></h2>
+
+<form method="post" action="<?php echo esc_url( remove_query_arg( 'message' ) ); ?>" class="media-upload-form" id="media-single-form">
+<div class="media-single">
+<div id='media-item-<?php echo $att_id; ?>' class='media-item'>
+<?php echo get_media_item( $att_id, array( 'toggle' => false, 'send' => false, 'delete' => false, 'show_title' => false, 'errors' => $errors ) ); ?>
+</div>
+</div>
+
+<p class="submit">
+<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); ?>" />
+<input type="hidden" name="action" value="editattachment" />
+<?php wp_original_referer_field(true, 'previous'); ?>
+<?php wp_nonce_field('media-form'); ?>
+</p>
+</form>
+
+</div>
+
+<?php
+
+	require( 'admin-footer.php' );
+
+	exit;
+
+default:
+	wp_redirect( 'upload.php' );
+	exit;
+
+endswitch;
+
+
+?>