X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/7f1521bf193b382565eb753043c161f4cb3fcda7..607b7e02d77e7326161e8ec15639052d2040f745:/wp-admin/includes/class-wp-plugin-install-list-table.php diff --git a/wp-admin/includes/class-wp-plugin-install-list-table.php b/wp-admin/includes/class-wp-plugin-install-list-table.php index e1a73061..6e389b1a 100644 --- a/wp-admin/includes/class-wp-plugin-install-list-table.php +++ b/wp-admin/includes/class-wp-plugin-install-list-table.php @@ -1,11 +1,19 @@ error ) ) { $message = $this->error->get_error_message() . '

' . __( 'Try again' ) . '

'; @@ -208,12 +240,19 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { echo '
' . $message . '
'; } + /** + * + * @global array $tabs + * @global string $tab + * + * @return array + */ protected function get_views() { global $tabs, $tab; $display_tabs = array(); foreach ( (array) $tabs as $action => $text ) { - $class = ( $action == $tab ) ? ' current' : ''; + $class = ( $action === $tab ) ? ' current' : ''; $href = self_admin_url('plugin-install.php?tab=' . $action); $display_tabs['plugin-install-'.$action] = "$text"; } @@ -232,6 +271,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { /** This filter is documented in wp-admin/inclues/class-wp-list-table.php */ $views = apply_filters( "views_{$this->screen->id}", $views ); + $this->screen->render_screen_reader_content( 'heading_views' ); ?>
- +
- +screen->render_screen_reader_content( 'heading_list' ); +?>
> display_rows_or_placeholder(); ?>
@@ -276,6 +318,8 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { } /** + * @global string $tab + * * @param string $which */ protected function display_tablenav( $which ) { @@ -283,7 +327,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { return; } - if ( 'top' == $which ) { + if ( 'top' === $which ) { wp_referer_field(); ?>
@@ -308,10 +352,16 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { } } + /** + * @return array + */ protected function get_table_classes() { return array( 'widefat', $this->_args['plural'] ); } + /** + * @return array + */ public function get_columns() { return array(); } @@ -334,13 +384,16 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { return 0; } - if ( 'DESC' == $this->order ) { + if ( 'DESC' === $this->order ) { return ( $a < $b ) ? 1 : -1; } else { return ( $a < $b ) ? -1 : 1; } } + /** + * @global string $wp_version + */ public function display_rows() { $plugins_allowedtags = array( 'a' => array( 'href' => array(),'title' => array(), 'target' => array() ), @@ -408,18 +461,45 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { /* translators: 1: Plugin name and version. */ $action_links[] = '' . __( 'Install Now' ) . ''; } - break; + case 'update_available': if ( $status['url'] ) { /* translators: 1: Plugin name and version */ - $action_links[] = '' . __( 'Update Now' ) . ''; + $action_links[] = '' . __( 'Update Now' ) . ''; } - break; + case 'latest_installed': case 'newer_installed': - $action_links[] = '' . _x( 'Installed', 'plugin' ) . ''; + if ( is_plugin_active( $status['file'] ) ) { + $action_links[] = ''; + } elseif ( current_user_can( 'activate_plugins' ) ) { + $button_text = __( 'Activate' ); + /* translators: %s: Plugin name */ + $button_label = _x( 'Activate %s', 'plugin' ); + $activate_url = add_query_arg( array( + '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $status['file'] ), + 'action' => 'activate', + 'plugin' => $status['file'], + ), network_admin_url( 'plugins.php' ) ); + + if ( is_network_admin() ) { + $button_text = __( 'Network Activate' ); + /* translators: %s: Plugin name */ + $button_label = _x( 'Network Activate %s', 'plugin' ); + $activate_url = add_query_arg( array( 'networkwide' => 1 ), $activate_url ); + } + + $action_links[] = sprintf( + '%3$s', + esc_url( $activate_url ), + esc_attr( sprintf( $button_label, $plugin['name'] ) ), + $button_text + ); + } else { + $action_links[] = ''; + } break; } } @@ -428,7 +508,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { '&TB_iframe=true&width=600&height=550' ); /* translators: 1: Plugin name and version. */ - $action_links[] = '' . __( 'More Details' ) . ''; + $action_links[] = '' . __( 'More Details' ) . ''; if ( !empty( $plugin['icons']['svg'] ) ) { $plugin_icon_url = $plugin['icons']['svg']; @@ -441,7 +521,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { } /** - * Filter the install action links for a plugin. + * Filters the install action links for a plugin. * * @since 2.7.0 * @@ -450,14 +530,17 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { */ $action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin ); - $date_format = __( 'M j, Y @ H:i' ); $last_updated_timestamp = strtotime( $plugin['last_updated'] ); ?>
-
-

+

+ + + + +