1 | <?php |
2 | /** |
3 | * Manage media uploaded file. |
4 | * |
5 | * There are many filters in here for media. Plugins can extend functionality |
6 | * by hooking into the filters. |
7 | * |
8 | * @package WordPress |
9 | * @subpackage Administration |
10 | */ |
11 | |
12 | /** Load WordPress Administration Bootstrap */ |
13 | require_once('./admin.php'); |
14 | |
15 | if (!current_user_can('upload_files')) |
16 | wp_die(__('You do not have permission to upload files.')); |
17 | |
18 | wp_enqueue_script('swfupload-all'); |
19 | wp_enqueue_script('swfupload-handlers'); |
20 | wp_enqueue_script('image-edit'); |
21 | wp_enqueue_script('set-post-thumbnail' ); |
22 | wp_enqueue_style('imgareaselect'); |
23 | |
24 | @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset')); |
25 | |
26 | // IDs should be integers |
27 | $ID = isset($ID) ? (int) $ID : 0; |
28 | $post_id = isset($post_id)? (int) $post_id : 0; |
29 | |
30 | // Require an ID for the edit screen |
31 | if ( isset($action) && $action == 'edit' && !$ID ) |
32 | wp_die(__("You are not allowed to be here")); |
33 | |
34 | if ( isset($_GET['inline']) ) { |
35 | $errors = array(); |
36 | |
37 | if ( isset($_POST['html-upload']) && !empty($_FILES) ) { |
38 | // Upload File button was clicked |
39 | $id = media_handle_upload('async-upload', $_REQUEST['post_id']); |
40 | unset($_FILES); |
41 | if ( is_wp_error($id) ) { |
42 | $errors['upload_error'] = $id; |
43 | $id = false; |
44 | } |
45 | } |
46 | |
47 | if ( isset($_GET['upload-page-form']) ) { |
48 | $errors = array_merge($errors, (array) media_upload_form_handler()); |
49 | |
50 | $location = 'upload.php'; |
51 | if ( $errors ) |
52 | $location .= '?message=3'; |
53 | |
54 | wp_redirect( admin_url($location) ); |
55 | } |
56 | |
57 | $title = __('Upload New Media'); |
58 | $parent_file = 'upload.php'; |
59 | |
60 | add_contextual_help( $current_screen, |
61 | '<p>' . __('You can upload media files here without creating a post first. This allows you to upload files to use with posts and pages later and/or to get a web link for a particular file that you can share.') . '</p>' . |
62 | '<p>' . __('There are two options for uploading files: <em>Select Files</em> will open the Flash-based uploader (multiple file upload allowed), or you can use the <em>Browser Uploader</em>. Clicking <em>Select Files</em> opens a navigation window showing you files in your operating system. Selecting <em>Open</em> after clicking on the file you want activates a progress bar on the uploader screen. Basic image editing is available after upload is complete. Make sure you click <em>Save</em> before leaving this screen.') . '</p>' . |
63 | '<p><strong>' . __('For more information:') . '</strong></p>' . |
64 | '<p>' . __('<a href="http://codex.wordpress.org/Media_Add_New_SubPanel" target="_blank">Documentation on Uploading Media Files</a>') . '</p>' . |
65 | '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' |
66 | ); |
67 | |
68 | require_once('./admin-header.php'); ?> |
69 | <div class="wrap"> |
70 | <?php screen_icon(); ?> |
71 | <h2><?php echo esc_html( $title ); ?></h2> |
72 | |
73 | <form enctype="multipart/form-data" method="post" action="<?php echo admin_url('media-upload.php?inline=&upload-page-form='); ?>" class="media-upload-form type-form validate" id="file-form"> |
74 | |
75 | <?php media_upload_form(); ?> |
76 | |
77 | <script type="text/javascript"> |
78 | jQuery(function($){ |
79 | var preloaded = $(".media-item.preloaded"); |
80 | if ( preloaded.length > 0 ) { |
81 | preloaded.each(function(){prepareMediaItem({id:this.id.replace(/[^0-9]/g, '')},'');}); |
82 | } |
83 | updateMediaForm(); |
84 | post_id = 0; |
85 | shortform = 1; |
86 | }); |
87 | </script> |
88 | <input type="hidden" name="post_id" id="post_id" value="0" /> |
89 | <?php wp_nonce_field('media-form'); ?> |
90 | <div id="media-items" class="hide-if-no-js"> </div> |
91 | <p> |
92 | <input type="submit" class="button savebutton hide-if-no-js" name="save" value="<?php esc_attr_e( 'Save all changes' ); ?>" /> |
93 | </p> |
94 | </form> |
95 | </div> |
96 | |
97 | <?php |
98 | include('./admin-footer.php'); |
99 | |
100 | } else { |
101 | |
102 | // upload type: image, video, file, ..? |
103 | if ( isset($_GET['type']) ) |
104 | $type = strval($_GET['type']); |
105 | else |
106 | $type = apply_filters('media_upload_default_type', 'file'); |
107 | |
108 | // tab: gallery, library, or type-specific |
109 | if ( isset($_GET['tab']) ) |
110 | $tab = strval($_GET['tab']); |
111 | else |
112 | $tab = apply_filters('media_upload_default_tab', 'type'); |
113 | |
114 | $body_id = 'media-upload'; |
115 | |
116 | // let the action code decide how to handle the request |
117 | if ( $tab == 'type' || $tab == 'type_url' ) |
118 | do_action("media_upload_$type"); |
119 | else |
120 | do_action("media_upload_$tab"); |
121 | } |
122 | ?> |
123 | |