WordPress.org

Make WordPress Core

Ticket #31770: 31770.diff

File 31770.diff, 2.6 KB (added by adamsilverstein, 5 years ago)

first pass

  • src/wp-admin/js/updates.js

     
    178178        };
    179179
    180180        /**
     181         * Add an admin notice on plugin install success or failure.
     182         *
     183         * @since 4.2.0
     184         *
     185         * @param {string} plugin    The plugin name or slug
     186         * @param {string} className Class of the notice to add, either updated or error.
     187         *
     188         */
     189        wp.updates.addAdminNotice = function( plugin, className ) {
     190                        /**
     191                         * Add a success admin notice at the top of the page.
     192                         */
     193                        var $messageorigin  = $( '.plugin-notice.' + className ).first(),
     194                                message         = $messageorigin.clone().insertAfter( $messageorigin ),
     195                                $message        = $( message ),
     196                                $messageP       = $message.find( 'p' ),
     197                                capitalizedSlug = plugin.charAt( 0 ).toUpperCase() + plugin.slice( 1 );
     198                                newtext         = capitalizedSlug + $messageP.text();
     199
     200                        $message.removeClass( 'hidden' );
     201                        $messageP.text( newtext );
     202
     203                        /**
     204                         * Scroll to the top so the user can see the notice.
     205                         */
     206                        $( window ).scrollTop( 0 );
     207        };
     208
     209        /**
    181210         * On a successful plugin update, update the UI with the result.
    182211         *
    183212         * @since 4.2.0
     
    191220                        $updateMessage = $pluginRow.next().find( '.update-message' );
    192221                        $pluginRow.addClass( 'updated' ).removeClass( 'update' );
    193222
     223                        wp.updates.addAdminNotice( response.slug, 'updated' );
     224
    194225                        // Update the version number in the row.
    195226                        var newText = $pluginRow.find('.plugin-version-author-uri').html().replace( response.oldVersion, response.newVersion );
    196227                        $pluginRow.find('.plugin-version-author-uri').html( newText );
     
    231262                }
    232263                if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
    233264                        $message = $( '[data-slug="' + response.slug + '"]' ).next().find( '.update-message' );
     265                        wp.updates.addAdminNotice( response.slug, 'error' );
     266
    234267                } else if ( 'plugin-install' === pagenow ) {
    235268                        $message = $( '.plugin-card-' + response.slug ).find( '.update-now' );
    236269                }
  • src/wp-admin/plugins.php

     
    442442if ( $s )
    443443        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $s ) ); ?>
    444444</h2>
    445 
     445<div class="plugin-notice updated hidden"><p><?php _e( ' updated successfully.' ); ?></p></div>
     446<div class="plugin-notice error hidden"><p><?php _e( ' update failed.' ); ?></p></div>
    446447<?php
    447448/**
    448449 * Fires before the plugins list table is rendered.