WordPress.org

Make WordPress Core

Ticket #31002: 31002.3.diff

File 31002.3.diff, 1.4 KB (added by swissspidy, 4 years ago)
  • src/wp-admin/includes/class-wp-plugin-install-list-table.php

    diff --git src/wp-admin/includes/class-wp-plugin-install-list-table.php src/wp-admin/includes/class-wp-plugin-install-list-table.php
    index cdd0c6e..52e16e3 100644
    class WP_Plugin_Install_List_Table extends WP_List_Table { 
    467467                                                break;
    468468                                        case 'latest_installed':
    469469                                        case 'newer_installed':
    470                                                 $action_links[] = '<span class="button button-disabled">' . _x( 'Installed', 'plugin' ) . '</span>';
     470                                                if ( ! current_user_can( 'activate_plugins' ) ) {
     471                                                        $action_links[] = '<span class="button button-disabled">' . _x( 'Installed', 'plugin' ) . '</span>';
     472                                                        break;
     473                                                }
     474
     475                                                if ( ! is_plugin_active( $status['file'] ) ) {
     476                                                        $action_links[] = sprintf(
     477                                                                '<a class="button" href="%s" data-slug="%s" aria-label="%s" data-name="%s">%s</a>',
     478                                                                esc_url( wp_nonce_url( admin_url( 'plugins.php?action=activate&amp;plugin=' . $status['file'] ), 'activate-plugin_' . $status['file'] ) ),
     479                                                                esc_attr( $plugin['slug'] ),
     480                                                                /* translators: %s: Plugin name and version. */
     481                                                                esc_attr( sprintf( __( 'Install %s now' ), $name ) ),
     482                                                                esc_attr( $name ),
     483                                                                _x( 'Activate', 'plugin' )
     484                                                        );
     485                                                } else {
     486                                                        $action_links[] = sprintf( '<span class="button button-disabled">%s</span>', _x( 'Installed', 'plugin' ) );
     487                                                }
    471488                                                break;
    472489                                }
    473490                        }