2008-09-29 20:27:27 -04:00
< ? php
2008-10-01 21:02:17 -04:00
/**
2012-11-21 07:19:40 -05:00
* Manage media uploaded file .
*
* There are many filters in here for media . Plugins can extend functionality
* by hooking into the filters .
2008-10-01 21:02:17 -04:00
*
* @ package WordPress
* @ subpackage Administration
*/
2012-11-21 07:19:40 -05:00
/** Load WordPress Administration Bootstrap */
2020-02-06 01:33:11 -05:00
require_once __DIR__ . '/admin.php' ;
2012-11-21 07:19:40 -05:00
2017-11-30 18:11:00 -05:00
if ( ! current_user_can ( 'upload_files' ) ) {
wp_die ( __ ( 'Sorry, you are not allowed to upload files.' ) );
}
2012-11-21 07:19:40 -05:00
2017-11-30 18:11:00 -05:00
wp_enqueue_script ( 'plupload-handlers' );
2012-11-21 07:19:40 -05:00
2012-11-26 18:10:19 -05:00
$post_id = 0 ;
if ( isset ( $_REQUEST [ 'post_id' ] ) ) {
$post_id = absint ( $_REQUEST [ 'post_id' ] );
2017-11-30 18:11:00 -05:00
if ( ! get_post ( $post_id ) || ! current_user_can ( 'edit_post' , $post_id ) ) {
2012-11-26 18:10:19 -05:00
$post_id = 0 ;
2017-11-30 18:11:00 -05:00
}
2012-11-26 18:10:19 -05:00
}
2012-11-21 07:19:40 -05:00
2012-11-21 07:27:12 -05:00
if ( $_POST ) {
2017-11-30 18:11:00 -05:00
if ( isset ( $_POST [ 'html-upload' ] ) && ! empty ( $_FILES ) ) {
check_admin_referer ( 'media-form' );
2020-01-28 19:45:18 -05:00
// Upload File button was clicked.
2015-09-10 13:18:24 -04:00
$upload_id = media_handle_upload ( 'async-upload' , $post_id );
if ( is_wp_error ( $upload_id ) ) {
wp_die ( $upload_id );
}
2012-11-21 07:19:40 -05:00
}
2015-09-10 13:18:24 -04:00
wp_redirect ( admin_url ( 'upload.php' ) );
2012-11-21 07:27:12 -05:00
exit ;
}
2012-11-21 07:19:40 -05:00
2021-07-22 09:53:00 -04:00
// Used in the HTML title tag.
2017-11-30 18:11:00 -05:00
$title = __ ( 'Upload New Media' );
2012-11-21 10:10:17 -05:00
$parent_file = 'upload.php' ;
2017-11-30 18:11:00 -05:00
get_current_screen () -> add_help_tab (
array (
'id' => 'overview' ,
'title' => __ ( 'Overview' ),
'content' =>
2019-07-05 01:21:56 -04:00
'<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. There are three options for uploading files:' ) . '</p>' .
'<ul>' .
'<li>' . __ ( '<strong>Drag and drop</strong> your files into the area below. Multiple files are allowed.' ) . '</li>' .
'<li>' . __ ( 'Clicking <strong>Select Files</strong> opens a navigation window showing you files in your operating system. Selecting <strong>Open</strong> after clicking on the file you want activates a progress bar on the uploader screen.' ) . '</li>' .
'<li>' . __ ( 'Revert to the <strong>Browser Uploader</strong> by clicking the link below the drag and drop box.' ) . '</li>' .
'</ul>' ,
2017-11-30 18:11:00 -05:00
)
);
2012-11-21 10:10:17 -05:00
get_current_screen () -> set_help_sidebar (
2017-11-30 18:11:00 -05:00
'<p><strong>' . __ ( 'For more information:' ) . '</strong></p>' .
2019-07-25 18:45:57 -04:00
'<p>' . __ ( '<a href="https://wordpress.org/support/article/media-add-new-screen/">Documentation on Uploading Media Files</a>' ) . '</p>' .
2019-04-08 18:59:56 -04:00
'<p>' . __ ( '<a href="https://wordpress.org/support/">Support</a>' ) . '</p>'
2012-11-21 10:10:17 -05:00
);
2020-02-06 01:33:11 -05:00
require_once ABSPATH . 'wp-admin/admin-header.php' ;
2012-11-21 10:10:17 -05:00
2012-11-27 17:41:15 -05:00
$form_class = 'media-upload-form type-form validate' ;
2012-11-21 10:10:17 -05:00
2017-11-30 18:11:00 -05:00
if ( get_user_setting ( 'uploader' ) || isset ( $_GET [ 'browser-uploader' ] ) ) {
2012-11-21 10:10:17 -05:00
$form_class .= ' html-uploader' ;
2017-11-30 18:11:00 -05:00
}
2012-11-21 10:10:17 -05:00
?>
< div class = " wrap " >
2015-06-27 11:41:25 -04:00
< h1 >< ? php echo esc_html ( $title ); ?> </h1>
2012-11-21 07:19:40 -05:00
2021-06-17 10:37:00 -04:00
< form enctype = " multipart/form-data " method = " post " action = " <?php echo esc_url( admin_url( 'media-new.php' ) ); ?> " class = " <?php echo esc_attr( $form_class ); ?> " id = " file-form " >
2012-11-21 07:19:40 -05:00
< ? php media_upload_form (); ?>
< script type = " text/javascript " >
2020-10-29 14:03:11 -04:00
var post_id = < ? php echo absint ( $post_id ); ?> , shortform = 3;
2012-11-21 07:19:40 -05:00
</ script >
2020-10-29 14:03:11 -04:00
< input type = " hidden " name = " post_id " id = " post_id " value = " <?php echo absint( $post_id ); ?> " />
2017-11-30 18:11:00 -05:00
< ? php wp_nonce_field ( 'media-form' ); ?>
2012-11-21 07:19:40 -05:00
< div id = " media-items " class = " hide-if-no-js " ></ div >
</ form >
2012-11-21 10:10:17 -05:00
</ div >
2012-11-21 07:19:40 -05:00
< ? php
2020-02-06 01:33:11 -05:00
require_once ABSPATH . 'wp-admin/admin-footer.php' ;