Wordpress 4.5.3-scripts
[autoinstalls/wordpress.git] / wp-admin / upload.php
index 646381e94a49695c13f0869313cdf339791dceea..a71280f7e30d1a6a6337c98f442ab38b4b56b0ea 100644 (file)
@@ -24,8 +24,23 @@ if ( 'grid' === $mode ) {
        wp_enqueue_media();
        wp_enqueue_script( 'media-grid' );
        wp_enqueue_script( 'media' );
+
+       remove_action( 'admin_head', 'wp_admin_canonical_url' );
+
+       $q = $_GET;
+       // let JS handle this
+       unset( $q['s'] );
+       $vars = wp_edit_attachments_query_vars( $q );
+       $ignore = array( 'mode', 'post_type', 'post_status', 'posts_per_page' );
+       foreach ( $vars as $key => $value ) {
+               if ( ! $value || in_array( $key, $ignore ) ) {
+                       unset( $vars[ $key ] );
+               }
+       }
+
        wp_localize_script( 'media-grid', '_wpMediaGridSettings', array(
                'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
+               'queryVars' => (object) $vars
        ) );
 
        get_current_screen()->add_help_tab( array(
@@ -48,7 +63,7 @@ if ( 'grid' === $mode ) {
 
        get_current_screen()->set_help_sidebar(
                '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
-               '<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
+               '<p>' . __( '<a href="https://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
                '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
        );
 
@@ -57,17 +72,21 @@ if ( 'grid' === $mode ) {
 
        require_once( ABSPATH . 'wp-admin/admin-header.php' );
        ?>
-       <div class="wrap">
-               <h2>
+       <div class="wrap" id="wp-media-grid" data-search="<?php _admin_search_query() ?>">
+               <h1>
                <?php
                echo esc_html( $title );
                if ( current_user_can( 'upload_files' ) ) { ?>
-                       <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'file' ); ?></a><?php
+                       <a href="<?php echo admin_url( 'media-new.php' ); ?>" class="page-title-action"><?php echo esc_html_x( 'Add New', 'file' ); ?></a><?php
                }
                ?>
-               </h2>
+               </h1>
                <div class="error hide-if-js">
-                       <p><?php _e( 'The grid view for the Media Library requires JavaScript. <a href="upload.php?mode=list">Switch to the list view</a>.' ); ?></p>
+                       <p><?php printf(
+                               /* translators: %s: list view URL */
+                               __( 'The grid view for the Media Library requires JavaScript. <a href="%s">Switch to the list view</a>.' ),
+                               'upload.php?mode=list'
+                       ); ?></p>
                </div>
        </div>
        <?php
@@ -100,54 +119,23 @@ if ( $doaction ) {
        }
 
        switch ( $doaction ) {
-               case 'attach':
-                       $parent_id = (int) $_REQUEST['found_post_id'];
-                       if ( !$parent_id )
-                               return;
-
-                       $parent = get_post( $parent_id );
-                       if ( !current_user_can( 'edit_post', $parent_id ) )
-                               wp_die( __( 'You are not allowed to edit this post.' ) );
-
-                       $attach = array();
-                       foreach ( (array) $_REQUEST['media'] as $att_id ) {
-                               $att_id = (int) $att_id;
-
-                               if ( !current_user_can( 'edit_post', $att_id ) )
-                                       continue;
-
-                               $attach[] = $att_id;
-                       }
-
-                       if ( ! empty( $attach ) ) {
-                               $attach_string = implode( ',', $attach );
-                               $attached = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ( $attach_string )", $parent_id ) );
-                               foreach ( $attach as $att_id ) {
-                                       clean_attachment_cache( $att_id );
-                               }
-                       }
-
-                       if ( isset( $attached ) ) {
-                               $location = 'upload.php';
-                               if ( $referer = wp_get_referer() ) {
-                                       if ( false !== strpos( $referer, 'upload.php' ) )
-                                               $location = $referer;
-                               }
+               case 'detach':
+                       wp_media_attach_action( $_REQUEST['parent_post_id'], 'detach' );
+                       break;
 
-                               $location = add_query_arg( array( 'attached' => $attached ) , $location );
-                               wp_redirect( $location );
-                               exit;
-                       }
+               case 'attach':
+                       wp_media_attach_action( $_REQUEST['found_post_id'] );
                        break;
+
                case 'trash':
                        if ( !isset( $post_ids ) )
                                break;
                        foreach ( (array) $post_ids as $post_id ) {
                                if ( !current_user_can( 'delete_post', $post_id ) )
-                                       wp_die( __( 'You are not allowed to move this post to the trash.' ) );
+                                       wp_die( __( 'You are not allowed to move this item to the Trash.' ) );
 
                                if ( !wp_trash_post( $post_id ) )
-                                       wp_die( __( 'Error in moving to trash.' ) );
+                                       wp_die( __( 'Error in moving to Trash.' ) );
                        }
                        $location = add_query_arg( array( 'trashed' => count( $post_ids ), 'ids' => join( ',', $post_ids ) ), $location );
                        break;
@@ -156,10 +144,10 @@ if ( $doaction ) {
                                break;
                        foreach ( (array) $post_ids as $post_id ) {
                                if ( !current_user_can( 'delete_post', $post_id ) )
-                                       wp_die( __( 'You are not allowed to move this post out of the trash.' ) );
+                                       wp_die( __( 'You are not allowed to move this item out of the Trash.' ) );
 
                                if ( !wp_untrash_post( $post_id ) )
-                                       wp_die( __( 'Error in restoring from trash.' ) );
+                                       wp_die( __( 'Error in restoring from Trash.' ) );
                        }
                        $location = add_query_arg( 'untrashed', count( $post_ids ), $location );
                        break;
@@ -168,7 +156,7 @@ if ( $doaction ) {
                                break;
                        foreach ( (array) $post_ids as $post_id_del ) {
                                if ( !current_user_can( 'delete_post', $post_id_del ) )
-                                       wp_die( __( 'You are not allowed to delete this post.' ) );
+                                       wp_die( __( 'You are not allowed to delete this item.' ) );
 
                                if ( !wp_delete_attachment( $post_id_del ) )
                                        wp_die( __( 'Error in deleting.' ) );
@@ -191,14 +179,14 @@ $parent_file = 'upload.php';
 
 wp_enqueue_script( 'media' );
 
-add_screen_option( 'per_page', array('label' => _x( 'Media items', 'items per page (screen options)' )) );
+add_screen_option( 'per_page' );
 
 get_current_screen()->add_help_tab( array(
 'id'           => 'overview',
 'title'                => __('Overview'),
 'content'      =>
        '<p>' . __( 'All the files you&#8217;ve uploaded are listed in the Media Library, with the most recent uploads listed first. You can use the Screen Options tab to customize the display of this screen.' ) . '</p>' .
-       '<p>' . __( 'You can narrow the list by file type/status using the text link filters at the top of the screen. You also can refine the list by date using the dropdown menu above the media table.' ) . '</p>' .
+       '<p>' . __( 'You can narrow the list by file type/status or by date using the dropdown menus above the media table.' ) . '</p>' .
        '<p>' . __( 'You can view your media in a simple visual grid or a list with columns. Switch between these views using the icons to the left above the media.' ) . '</p>'
 ) );
 get_current_screen()->add_help_tab( array(
@@ -211,62 +199,106 @@ get_current_screen()->add_help_tab( array(
 'id'           => 'attaching-files',
 'title'                => __('Attaching Files'),
 'content'      =>
-       '<p>' . __( 'If a media file has not been attached to any post, you will see that in the Attached To column, and can click on Attach File to launch a small popup that will allow you to search for a post and attach the file.' ) . '</p>'
+       '<p>' . __( 'If a media file has not been attached to any content, you will see that in the Uploaded To column, and can click on Attach to launch a small popup that will allow you to search for existing content and attach the file.' ) . '</p>'
 ) );
 
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
-       '<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
+       '<p>' . __( '<a href="https://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
+get_current_screen()->set_screen_reader_content( array(
+       'heading_views'      => __( 'Filter media items list' ),
+       'heading_pagination' => __( 'Media items list navigation' ),
+       'heading_list'       => __( 'Media items list' ),
+) );
+
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2>
+<h1>
 <?php
 echo esc_html( $title );
 if ( current_user_can( 'upload_files' ) ) { ?>
-       <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a><?php
+       <a href="<?php echo admin_url( 'media-new.php' ); ?>" class="page-title-action"><?php echo esc_html_x('Add New', 'file'); ?></a><?php
+}
+if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) {
+       /* translators: %s: search keywords */
+       printf( '<span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', get_search_query() );
 }
-if ( ! empty( $_REQUEST['s'] ) )
-       printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
-</h2>
+?>
+</h1>
 
 <?php
 $message = '';
 if ( ! empty( $_GET['posted'] ) ) {
-       $message = __('Media attachment updated.');
+       $message = __( 'Media file updated.' );
        $_SERVER['REQUEST_URI'] = remove_query_arg(array('posted'), $_SERVER['REQUEST_URI']);
 }
 
 if ( ! empty( $_GET['attached'] ) && $attached = absint( $_GET['attached'] ) ) {
-       $message = sprintf( _n('Reattached %d attachment.', 'Reattached %d attachments.', $attached), $attached );
-       $_SERVER['REQUEST_URI'] = remove_query_arg(array('attached'), $_SERVER['REQUEST_URI']);
+       if ( 1 == $attached ) {
+               $message = __( 'Media file attached.' );
+       } else {
+               /* translators: %s: number of media files */
+               $message = _n( '%s media file attached.', '%s media files attached.', $attached );
+       }
+       $message = sprintf( $message, number_format_i18n( $attached ) );
+       $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'detach', 'attached' ), $_SERVER['REQUEST_URI'] );
+}
+
+if ( ! empty( $_GET['detach'] ) && $detached = absint( $_GET['detach'] ) ) {
+       if ( 1 == $detached ) {
+               $message = __( 'Media file detached.' );
+       } else {
+               /* translators: %s: number of media files */
+               $message = _n( '%s media file detached.', '%s media files detached.', $detached );
+       }
+       $message = sprintf( $message, number_format_i18n( $detached ) );
+       $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'detach', 'attached' ), $_SERVER['REQUEST_URI'] );
 }
 
 if ( ! empty( $_GET['deleted'] ) && $deleted = absint( $_GET['deleted'] ) ) {
-       $message = sprintf( _n( 'Media attachment permanently deleted.', '%d media attachments permanently deleted.', $deleted ), number_format_i18n( $_GET['deleted'] ) );
+       if ( 1 == $deleted ) {
+               $message = __( 'Media file permanently deleted.' );
+       } else {
+               /* translators: %s: number of media files */
+               $message = _n( '%s media file permanently deleted.', '%s media files permanently deleted.', $deleted );
+       }
+       $message = sprintf( $message, number_format_i18n( $deleted ) );
        $_SERVER['REQUEST_URI'] = remove_query_arg(array('deleted'), $_SERVER['REQUEST_URI']);
 }
 
 if ( ! empty( $_GET['trashed'] ) && $trashed = absint( $_GET['trashed'] ) ) {
-       $message = sprintf( _n( 'Media attachment moved to the trash.', '%d media attachments moved to the trash.', $trashed ), number_format_i18n( $_GET['trashed'] ) );
+       if ( 1 == $trashed ) {
+               $message = __( 'Media file moved to the trash.' );
+       } else {
+               /* translators: %s: number of media files */
+               $message = _n( '%s media file moved to the trash.', '%s media files moved to the trash.', $trashed );
+       }
+       $message = sprintf( $message, number_format_i18n( $trashed ) );
        $message .= ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __('Undo') . '</a>';
        $_SERVER['REQUEST_URI'] = remove_query_arg(array('trashed'), $_SERVER['REQUEST_URI']);
 }
 
 if ( ! empty( $_GET['untrashed'] ) && $untrashed = absint( $_GET['untrashed'] ) ) {
-       $message = sprintf( _n( 'Media attachment restored from the trash.', '%d media attachments restored from the trash.', $untrashed ), number_format_i18n( $_GET['untrashed'] ) );
+       if ( 1 == $untrashed ) {
+               $message = __( 'Media file restored from the trash.' );
+       } else {
+               /* translators: %s: number of media files */
+               $message = _n( '%s media file restored from the trash.', '%s media files restored from the trash.', $untrashed );
+       }
+       $message = sprintf( $message, number_format_i18n( $untrashed ) );
        $_SERVER['REQUEST_URI'] = remove_query_arg(array('untrashed'), $_SERVER['REQUEST_URI']);
 }
 
-$messages[1] = __('Media attachment updated.');
-$messages[2] = __('Media permanently deleted.');
-$messages[3] = __('Error saving media attachment.');
-$messages[4] = __('Media moved to the trash.') . ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __('Undo') . '</a>';
-$messages[5] = __('Media restored from the trash.');
+$messages[1] = __( 'Media file updated.' );
+$messages[2] = __( 'Media file permanently deleted.' );
+$messages[3] = __( 'Error saving media file.' );
+$messages[4] = __( 'Media file moved to the trash.' ) . ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __( 'Undo' ) . '</a>';
+$messages[5] = __( 'Media file restored from the trash.' );
 
 if ( ! empty( $_GET['message'] ) && isset( $messages[ $_GET['message'] ] ) ) {
        $message = $messages[ $_GET['message'] ];
@@ -274,10 +306,10 @@ if ( ! empty( $_GET['message'] ) && isset( $messages[ $_GET['message'] ] ) ) {
 }
 
 if ( !empty($message) ) { ?>
-<div id="message" class="updated"><p><?php echo $message; ?></p></div>
+<div id="message" class="updated notice is-dismissible"><p><?php echo $message; ?></p></div>
 <?php } ?>
 
-<form id="posts-filter" action="" method="get">
+<form id="posts-filter" method="get">
 
 <?php $wp_list_table->views(); ?>