2008-01-09 03:14:29 -05:00
< ? php
2008-08-14 02:30:38 -04:00
/**
* Manage media uploaded file .
*
* There are many filters in here for media . Plugins can extend functionality
* by hooking into the filters .
*
* @ package WordPress
* @ subpackage Administration
*/
2010-12-01 14:28:24 -05:00
if ( ! isset ( $_GET [ 'inline' ] ) )
define ( 'IFRAME_REQUEST' , true );
2010-10-18 13:58:36 -04:00
2008-08-14 02:30:38 -04:00
/** Load WordPress Administration Bootstrap */
2010-04-18 02:14:45 -04:00
require_once ( './admin.php' );
2008-09-27 04:17:55 -04:00
if ( ! current_user_can ( 'upload_files' ))
wp_die ( __ ( 'You do not have permission to upload files.' ));
2011-07-29 04:59:35 -04:00
wp_enqueue_script ( 'plupload-handlers' );
2009-09-10 18:07:33 -04:00
wp_enqueue_script ( 'image-edit' );
2009-10-07 18:18:09 -04:00
wp_enqueue_script ( 'set-post-thumbnail' );
2009-09-10 18:07:33 -04:00
wp_enqueue_style ( 'imgareaselect' );
2012-04-04 20:20:28 -04:00
wp_enqueue_script ( 'media-gallery' );
2008-01-09 03:14:29 -05:00
@ header ( 'Content-Type: ' . get_option ( 'html_type' ) . '; charset=' . get_option ( 'blog_charset' ));
// IDs should be integers
2008-08-14 02:30:38 -04:00
$ID = isset ( $ID ) ? ( int ) $ID : 0 ;
2008-02-22 12:43:56 -05:00
$post_id = isset ( $post_id ) ? ( int ) $post_id : 0 ;
2008-01-09 03:14:29 -05:00
// Require an ID for the edit screen
2008-02-22 12:43:56 -05:00
if ( isset ( $action ) && $action == 'edit' && ! $ID )
2012-03-07 14:00:12 -05:00
wp_die ( __ ( 'Cheatin’ uh?' ) );
2008-01-09 03:14:29 -05:00
2008-09-27 04:17:55 -04:00
if ( isset ( $_GET [ 'inline' ]) ) {
2009-06-25 02:09:22 -04:00
$errors = array ();
2008-12-09 13:03:31 -05:00
2012-06-10 13:37:49 -04:00
if ( ! empty ( $_REQUEST [ 'post_id' ] ) && ! current_user_can ( 'edit_post' , $_REQUEST [ 'post_id' ] ) )
wp_die ( __ ( 'Cheatin’ uh?' ) );
2008-09-27 04:17:55 -04:00
if ( isset ( $_POST [ 'html-upload' ]) && ! empty ( $_FILES ) ) {
2011-03-28 17:30:59 -04:00
check_admin_referer ( 'media-form' );
2008-09-27 04:17:55 -04:00
// Upload File button was clicked
$id = media_handle_upload ( 'async-upload' , $_REQUEST [ 'post_id' ]);
unset ( $_FILES );
if ( is_wp_error ( $id ) ) {
$errors [ 'upload_error' ] = $id ;
$id = false ;
}
}
2008-02-28 16:29:51 -05:00
2009-06-25 02:09:22 -04:00
if ( isset ( $_GET [ 'upload-page-form' ]) ) {
$errors = array_merge ( $errors , ( array ) media_upload_form_handler ());
$location = 'upload.php' ;
if ( $errors )
$location .= '?message=3' ;
wp_redirect ( admin_url ( $location ) );
2010-12-09 13:02:54 -05:00
exit ;
2009-06-25 02:09:22 -04:00
}
2012-06-10 13:37:49 -04:00
if ( isset ( $_REQUEST [ 'post_id' ] ) )
wp_die ( __ ( 'Cheatin’ uh?' ) );
2008-10-17 16:02:03 -04:00
$title = __ ( 'Upload New Media' );
2008-11-29 13:09:09 -05:00
$parent_file = 'upload.php' ;
2011-11-23 18:02:22 -05:00
get_current_screen () -> add_help_tab ( array (
2011-11-30 20:33:26 -05:00
'id' => 'overview' ,
'title' => __ ( 'Overview' ),
2011-11-23 18:02:22 -05:00
'content' =>
2011-11-30 20:33:26 -05: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>' .
2011-11-23 19:21:39 -05:00
'<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>' .
2012-05-01 18:23:15 -04:00
'<li>' . __ ( 'Revert to the <strong>Browser Uploader</strong> by clicking the link below the drag and drop box.' ) . '</li>' .
2011-11-23 19:21:39 -05:00
'</ul>' .
2011-11-30 23:51:35 -05:00
'<p>' . __ ( 'Basic image editing is available after upload is complete. Make sure you click Save before leaving this screen.' ) . '</p>'
2011-11-23 18:02:22 -05:00
) );
2011-11-02 16:14:10 -04:00
get_current_screen () -> set_help_sidebar (
2010-05-27 07:52:15 -04:00
'<p><strong>' . __ ( 'For more information:' ) . '</strong></p>' .
2011-04-28 11:24:49 -04:00
'<p>' . __ ( '<a href="http://codex.wordpress.org/Media_Add_New_Screen" target="_blank">Documentation on Uploading Media Files</a>' ) . '</p>' .
2010-06-03 17:00:39 -04:00
'<p>' . __ ( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
2010-05-25 18:38:29 -04:00
);
2011-11-11 14:40:23 -05:00
require_once ( './admin-header.php' );
2011-11-30 23:51:35 -05:00
2012-11-19 01:07:04 -05:00
$form_class = 'media-upload-form wp-upload-form type-form validate' ;
2011-11-11 14:40:23 -05:00
if ( get_user_setting ( 'uploader' ) )
$form_class .= ' html-uploader' ;
?>
2008-09-27 04:17:55 -04:00
< div class = " wrap " >
2008-11-26 08:51:25 -05:00
< ? php screen_icon (); ?>
2009-05-18 11:11:07 -04:00
< h2 >< ? php echo esc_html ( $title ); ?> </h2>
2008-01-09 03:14:29 -05:00
2011-11-11 14:40:23 -05:00
< form enctype = " multipart/form-data " method = " post " action = " <?php echo admin_url('media-upload.php?inline=&upload-page-form='); ?> " class = " <?php echo $form_class ; ?> " id = " file-form " >
2008-10-17 16:02:03 -04:00
2008-09-27 04:17:55 -04:00
< ? php media_upload_form (); ?>
2008-10-17 16:02:03 -04:00
2008-09-27 04:17:55 -04:00
< script type = " text/javascript " >
jQuery ( function ( $ ){
var preloaded = $ ( " .media-item.preloaded " );
if ( preloaded . length > 0 ) {
preloaded . each ( function (){ prepareMediaItem ({ id : this . id . replace ( / [ ^ 0 - 9 ] / g , '' )}, '' );});
}
updateMediaForm ();
post_id = 0 ;
shortform = 1 ;
});
</ script >
< input type = " hidden " name = " post_id " id = " post_id " value = " 0 " />
< ? php wp_nonce_field ( 'media-form' ); ?>
2011-09-15 01:30:58 -04:00
< div id = " media-items " class = " hide-if-no-js " ></ div >
2011-11-15 16:22:27 -05:00
< ? php submit_button ( __ ( 'Save all changes' ), 'button savebutton hidden' , 'save' ); ?>
2008-09-27 04:17:55 -04:00
</ form >
</ div >
< ? php
2010-04-18 02:14:45 -04:00
include ( './admin-footer.php' );
2008-03-10 17:49:08 -04:00
2008-09-27 04:17:55 -04:00
} else {
2012-06-10 13:37:49 -04:00
if ( ! empty ( $_REQUEST [ 'post_id' ] ) && ! current_user_can ( 'edit_post' , $_REQUEST [ 'post_id' ] ) )
wp_die ( __ ( 'Cheatin’ uh?' ) );
2008-01-09 03:14:29 -05:00
2008-09-27 04:17:55 -04:00
// upload type: image, video, file, ..?
if ( isset ( $_GET [ 'type' ]) )
$type = strval ( $_GET [ 'type' ]);
else
$type = apply_filters ( 'media_upload_default_type' , 'file' );
2008-12-09 13:03:31 -05:00
2008-09-27 04:17:55 -04:00
// tab: gallery, library, or type-specific
if ( isset ( $_GET [ 'tab' ]) )
$tab = strval ( $_GET [ 'tab' ]);
else
$tab = apply_filters ( 'media_upload_default_tab' , 'type' );
2008-12-09 13:03:31 -05:00
2008-09-27 04:17:55 -04:00
$body_id = 'media-upload' ;
2008-12-09 13:03:31 -05:00
2008-09-27 04:17:55 -04:00
// let the action code decide how to handle the request
2011-09-30 18:52:29 -04:00
if ( $tab == 'type' || $tab == 'type_url' || ! array_key_exists ( $tab , media_upload_tabs () ) )
2008-09-27 04:17:55 -04:00
do_action ( " media_upload_ $type " );
else
do_action ( " media_upload_ $tab " );
}