Wordpress 2.8-scripts
[autoinstalls/wordpress.git] / wp-admin / media.php
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 ?>