Make WordPress Core

Ticket #39647: 39647-reuploaded.patch

File 39647-reuploaded.patch, 2.7 KB (added by SirLouen, 10 months ago)

I'm too lazy to try to patch without grunt patch

  • src/js/_enqueues/vendor/plupload/handlers.js

     
    279279        }
    280280}
    281281
    282 function uploadError( fileObj, errorCode, message, up ) {
     282function uploadError( fileObj, errorCode, message, responseHeaders, up ) {
    283283        var hundredmb = 100 * 1024 * 1024, max;
    284284
    285285        switch ( errorCode ) {
     
    315315
    316316                        break;
    317317                case plupload.HTTP_ERROR:
    318                         wpQueueError( pluploadL10n.http_error );
     318                        message = pluploadL10n.http_error;
     319
     320                        var myRegexp = /x-wp-lasterror-message: (.*)/gm;
     321                        var match = myRegexp.exec( responseHeaders );
     322                        if( match[1] ) {
     323                                message += ' ' + match[1];
     324                        }
     325
     326                        wpQueueError(message);
    319327                        break;
    320328                case plupload.INIT_ERROR:
    321329                        jQuery( '.media-upload-form' ).addClass( 'html-uploader' );
     
    578586                                return;
    579587                        }
    580588
    581                         uploadError( error.file, error.code, error.message, up );
     589                        uploadError( error.file, error.code, error.message, error.responseHeaders, up);
    582590                        up.refresh();
    583591                });
    584592
  • src/wp-includes/functions.php

     
    32553255                        nocache_headers();
    32563256                }
    32573257
     3258                if( isset( $parsed_args['last_error_message'] ) && $parsed_args['last_error_message']) {
     3259                    $sent_header = ( WP_DEBUG || ( is_user_logged_in() ) );
     3260                    $sent_header = apply_filters( 'wp_die_handler_sent_error_header', $sent_header );
     3261                   
     3262                    if( $sent_header ) {
     3263                        header( 'X-WP-lasterror-message: '.$parsed_args['last_error_message'] );
     3264                    }
     3265                }
     3266               
    32583267                $text_direction = $parsed_args['text_direction'];
    32593268                if ( function_exists( 'language_attributes' ) && function_exists( 'is_rtl' ) ) {
    32603269                        $dir_attr = get_language_attributes();
     
    36603669
    36613670        $args = wp_parse_args( $args, $defaults );
    36623671
     3672    // Early
     3673    if( $message instanceof WP_Error && isset( $message->error_data['internal_server_error']['error']['message'] ) ) {
     3674        $args['last_error_message'] = $message->error_data['internal_server_error']['error']['message'];
     3675    }
     3676       
    36633677        if ( function_exists( 'is_wp_error' ) && is_wp_error( $message ) ) {
    36643678                if ( ! empty( $message->errors ) ) {
    36653679                        $errors = array();
     
    36843698                                $title = $errors[0]['data']['title'];
    36853699                        }
    36863700
     3701            if( isset( $errors[0][0] ) ) {
     3702                $args['last_error'] = array_values( $errors[0][0] );
     3703            }
     3704                       
    36873705                        unset( $errors[0] );
    36883706                        $args['additional_errors'] = array_values( $errors );
    36893707                } else {