X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/0459461f9ea42e0b090759ff6fe5f48360bef750..refs/tags/wordpress-4.5:/wp-admin/includes/class-wp-ms-themes-list-table.php diff --git a/wp-admin/includes/class-wp-ms-themes-list-table.php b/wp-admin/includes/class-wp-ms-themes-list-table.php index ef1ab91b..825c0476 100644 --- a/wp-admin/includes/class-wp-ms-themes-list-table.php +++ b/wp-admin/includes/class-wp-ms-themes-list-table.php @@ -399,18 +399,82 @@ class WP_MS_Themes_List_Table extends WP_List_Table { if ( ! $allowed ) { if ( ! $theme->errors() ) { - $actions['enable'] = '' . ( $this->is_site_themes ? __( 'Enable' ) : __( 'Network Enable' ) ) . ''; + $url = add_query_arg( array( + 'action' => 'enable', + 'theme' => $theme_key, + 'paged' => $page, + 's' => $s, + ), $url ); + + if ( $this->is_site_themes ) { + /* translators: %s: theme name */ + $aria_label = sprintf( __( 'Enable %s' ), $theme->display( 'Name' ) ); + } else { + /* translators: %s: theme name */ + $aria_label = sprintf( __( 'Network Enable %s' ), $theme->display( 'Name' ) ); + } + + $actions['enable'] = sprintf( '%s', + esc_url( wp_nonce_url( $url, 'enable-theme_' . $stylesheet ) ), + esc_attr( $aria_label ), + ( $this->is_site_themes ? __( 'Enable' ) : __( 'Network Enable' ) ) + ); } } else { - $actions['disable'] = '' . ( $this->is_site_themes ? __( 'Disable' ) : __( 'Network Disable' ) ) . ''; + $url = add_query_arg( array( + 'action' => 'disable', + 'theme' => $theme_key, + 'paged' => $page, + 's' => $s, + ), $url ); + + if ( $this->is_site_themes ) { + /* translators: %s: theme name */ + $aria_label = sprintf( __( 'Disable %s' ), $theme->display( 'Name' ) ); + } else { + /* translators: %s: theme name */ + $aria_label = sprintf( __( 'Network Disable %s' ), $theme->display( 'Name' ) ); + } + + $actions['disable'] = sprintf( '%s', + esc_url( wp_nonce_url( $url, 'disable-theme_' . $stylesheet ) ), + esc_attr( $aria_label ), + ( $this->is_site_themes ? __( 'Disable' ) : __( 'Network Disable' ) ) + ); } if ( current_user_can('edit_themes') ) { - $actions['edit'] = '' . __('Edit') . ''; + $url = add_query_arg( array( + 'theme' => $theme_key, + ), 'theme-editor.php' ); + + /* translators: %s: theme name */ + $aria_label = sprintf( __( 'Open %s in the Theme Editor' ), $theme->display( 'Name' ) ); + + $actions['edit'] = sprintf( '%s', + esc_url( $url ), + esc_attr( $aria_label ), + __( 'Edit' ) + ); } if ( ! $allowed && current_user_can( 'delete_themes' ) && ! $this->is_site_themes && $stylesheet != get_option( 'stylesheet' ) && $stylesheet != get_option( 'template' ) ) { - $actions['delete'] = '' . __( 'Delete' ) . ''; + $url = add_query_arg( array( + 'action' => 'delete-selected', + 'checked[]' => $theme_key, + 'theme_status' => $context, + 'paged' => $page, + 's' => $s, + ), 'themes.php' ); + + /* translators: %s: theme name */ + $aria_label = sprintf( __( 'Delete %s' ), $theme->display( 'Name' ) ); + + $actions['delete'] = sprintf( '%s', + esc_url( wp_nonce_url( $url, 'bulk-themes' ) ), + esc_attr( $aria_label ), + __( 'Delete' ) + ); } /** * Filter the action links displayed for each theme in the Multisite @@ -495,7 +559,14 @@ class WP_MS_Themes_List_Table extends WP_List_Table { $theme_meta[] = sprintf( __( 'By %s' ), $theme->display('Author') ); if ( $theme->get('ThemeURI') ) { - $theme_meta[] = '' . __( 'Visit Theme Site' ) . ''; + /* translators: %s: theme name */ + $aria_label = sprintf( __( 'Visit %s homepage' ), $theme->display( 'Name' ) ); + + $theme_meta[] = sprintf( '%s', + $theme->display( 'ThemeURI' ), + esc_attr( $aria_label ), + __( 'Visit Theme Site' ) + ); } /** * Filter the array of row meta for each theme in the Multisite themes @@ -611,14 +682,14 @@ class WP_MS_Themes_List_Table extends WP_List_Table { $stylesheet = $theme->get_stylesheet(); $class = ! $allowed ? 'inactive' : 'active'; - - $id = sanitize_html_class( $theme->get_stylesheet() ); - if ( ! empty( $totals['upgrade'] ) && ! empty( $theme->update ) ) { $class .= ' update'; } - echo ""; + printf( '', + esc_attr( $class ), + esc_attr( $stylesheet ) + ); $this->single_row_columns( $theme );