Make WordPress Core

Changeset 38205 for trunk


Ignore:
Timestamp:
08/05/2016 07:27:56 PM (10 years ago)
Author:
ocean90
Message:

Update/Install: Replace "error" and "-1" failure messages with a more meaningful one.

  • "-1" is an invalid nonce error, show 'An error has occurred. Please reload the page and try again.'.
  • "error" means that the connection to the server was lost, show 'Connection lost or the server is busy. Please try again later.'.
  • Escape the message in wp-updates-admin-notice because the response may include HTML.
  • Remove HTML tags in wp.updates.isValidResponse() to make PHP's error messages more readable.

Props azaozz for review.
Fixes #37583.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/update.php

    r38185 r38205  
    632632        ?>
    633633        <script id="tmpl-wp-updates-admin-notice" type="text/html">
    634                 <div <# if ( data.id ) { #>id="{{ data.id }}"<# } #> class="notice {{ data.className }}"><p>{{{ data.message }}}</p></div>
     634                <div <# if ( data.id ) { #>id="{{ data.id }}"<# } #> class="notice {{ data.className }}"><p>{{ data.message }}</p></div>
    635635        </script>
    636636        <script id="tmpl-wp-bulk-updates-admin-notice" type="text/html">
  • trunk/src/wp-admin/js/updates.js

    r38199 r38205  
    15631563                }
    15641564
    1565                 if ( _.isString( response ) ) {
     1565                if ( _.isString( response ) && '-1' === response ) {
     1566                        error = wp.updates.l10n.nonceError;
     1567                } else if ( _.isString( response ) ) {
    15661568                        error = response;
     1569                } else if ( 'undefined' !== typeof response.readyState && 0 === response.readyState ) {
     1570                        error = wp.updates.l10n.connectionError;
    15671571                } else if ( _.isString( response.responseText ) && '' !== response.responseText ) {
    15681572                        error = response.responseText;
     
    15851589                }
    15861590
     1591                // Messages are escaped, remove HTML tags to make them more readable.
     1592                error = error.replace( /<[\/a-z][^<>]*>/gi, '' );
    15871593                errorMessage = errorMessage.replace( '%s', error );
    15881594
  • trunk/src/wp-includes/script-loader.php

    r38203 r38205  
    678678                                'activateImporterLabel'      => __( 'Run %s' ),
    679679                                'unknownError'               => __( 'An unknown error occurred' ),
     680                                'connectionError'            => __( 'Connection lost or the server is busy. Please try again later.' ),
     681                                'nonceError'                 => __( 'An error has occurred. Please reload the page and try again.' ),
    680682                                'pluginsFound'               => __( 'Number of plugins found: %d' ),
    681683                                'noPluginsFound'             => __( 'No plugins found. Try a different search.' ),
  • trunk/tests/qunit/fixtures/updates.js

    r38119 r38205  
    4747                'activateImporter': 'Run Importer',
    4848                'unknownError': 'An unknown error occurred',
     49                'connectionError': 'Connection lost or the server is busy. Please try again later.',
     50                'nonceError': 'An error has occurred. Please reload the page and try again.',
    4951                'pluginsFound': 'Number of plugins found: %d',
    5052                'noPluginsFound': 'No plugins found. Try a different search.'
Note: See TracChangeset for help on using the changeset viewer.