Wordpress 2.7.1
[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 //      wp_admin_css( 'media' );
65
66         require( 'admin-header.php' );
67
68         $parent_file = 'upload.php';
69         $message = '';
70         $class = '';
71         if ( isset($_GET['message']) ) {
72                 switch ( $_GET['message'] ) :
73                 case 'updated' :
74                         $message = __('Media attachment updated.');
75                         $class = 'updated fade';
76                         break;
77                 endswitch;
78         }
79         if ( $message )
80                 echo "<div id='message' class='$class'><p>$message</p></div>\n";
81
82 ?>
83
84 <div class="wrap">
85 <?php screen_icon(); ?>
86 <h2><?php _e( 'Edit Media' ); ?></h2>
87
88 <form method="post" action="<?php echo clean_url( remove_query_arg( 'message' ) ); ?>" class="media-upload-form" id="media-single-form">
89 <div class="media-single">
90 <div id='media-item-<?php echo $att_id; ?>' class='media-item'>
91 <?php echo get_media_item( $att_id, array( 'toggle' => false, 'send' => false, 'delete' => false, 'show_title' => false, 'errors' => $errors ) ); ?>
92 </div>
93 </div>
94
95 <p class="submit">
96 <input type="submit" class="button-primary" name="save" value="<?php _e('Update Media'); ?>" />
97 <input type="hidden" name="post_id" id="post_id" value="<?php echo $post_id; ?>" />
98 <input type="hidden" name="attachment_id" id="attachment_id" value="<?php echo $att_id; ?>" />
99 <input type="hidden" name="action" value="editattachment" />
100 <?php wp_original_referer_field(true, 'previous'); ?>
101 <?php wp_nonce_field('media-form'); ?>
102 </p>
103 </form>
104
105 </div>
106
107 <?php
108
109         require( 'admin-footer.php' );
110
111         exit;
112
113 default:
114         wp_redirect( 'upload.php' );
115         exit;
116
117 endswitch;
118
119
120 ?>