X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/8f374b7233bc2815ccc387e448d208c5434eb961..ceb5a929e00123b4e224977c6b5a149f6431b250:/wp-admin/includes/class-wp-themes-list-table.php diff --git a/wp-admin/includes/class-wp-themes-list-table.php b/wp-admin/includes/class-wp-themes-list-table.php index 003d1ab0..d49d9930 100644 --- a/wp-admin/includes/class-wp-themes-list-table.php +++ b/wp-admin/includes/class-wp-themes-list-table.php @@ -12,9 +12,10 @@ class WP_Themes_List_Table extends WP_List_Table { protected $search_terms = array(); var $features = array(); - function __construct() { + function __construct( $args = array() ) { parent::__construct( array( 'ajax' => true, + 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); } @@ -27,7 +28,7 @@ class WP_Themes_List_Table extends WP_List_Table { $themes = wp_get_themes( array( 'allowed' => true ) ); if ( ! empty( $_REQUEST['s'] ) ) - $this->search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', strtolower( stripslashes( $_REQUEST['s'] ) ) ) ) ) ); + $this->search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', strtolower( wp_unslash( $_REQUEST['s'] ) ) ) ) ) ); if ( ! empty( $_REQUEST['features'] ) ) $this->features = $_REQUEST['features']; @@ -42,7 +43,7 @@ class WP_Themes_List_Table extends WP_List_Table { unset( $themes[ get_option( 'stylesheet' ) ] ); WP_Theme::sort_by_name( $themes ); - $per_page = 999; + $per_page = 36; $page = $this->get_pagenum(); $start = ( $page - 1 ) * $per_page; @@ -90,8 +91,8 @@ class WP_Themes_List_Table extends WP_List_Table { ?>
pagination( $which ); ?> - -
+ +
has_items() ) { + $this->display_rows(); + } else { + echo '
'; + $this->no_items(); + echo '
'; + } + } + function display_rows() { $themes = $this->items; @@ -128,7 +139,7 @@ class WP_Themes_List_Table extends WP_List_Table { $activate_link = wp_nonce_url( "themes.php?action=activate&template=" . urlencode( $template ) . "&stylesheet=" . urlencode( $stylesheet ), 'switch-theme_' . $stylesheet ); $preview_link = esc_url( add_query_arg( - array( 'preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'preview_iframe' => true, 'TB_iframe' => 'true' ), + array( 'preview' => 1, 'template' => urlencode( $template ), 'stylesheet' => urlencode( $stylesheet ), 'preview_iframe' => true, 'TB_iframe' => 'true' ), home_url( '/' ) ) ); $actions = array(); @@ -143,11 +154,12 @@ class WP_Themes_List_Table extends WP_List_Table { . __( 'Live Preview' ) . ''; if ( ! is_multisite() && current_user_can( 'delete_themes' ) ) - $actions['delete'] = '' . __( 'Delete' ) . ''; $actions = apply_filters( 'theme_action_links', $actions, $theme ); + $actions = apply_filters( "theme_action_links_$stylesheet", $actions, $theme ); $delete_action = isset( $actions['delete'] ) ? '
' . $actions['delete'] . '
' : ''; unset( $actions['delete'] ); @@ -171,7 +183,7 @@ class WP_Themes_List_Table extends WP_List_Table {
  • -
  • +
  • @@ -181,15 +193,11 @@ class WP_Themes_List_Table extends WP_List_Table {

    display('Description'); ?>

    - parent() ) : - /* translators: 1: theme title, 2: template dir, 3: stylesheet_dir, 4: theme title, 5: parent_theme */ ?> -

    %2$s. The stylesheet files are located in %3$s. %4$s uses templates from %5$s. Changes made to the templates will affect both themes.' ), - $title, str_replace( WP_CONTENT_DIR, '', $theme->get_template_directory() ), str_replace( WP_CONTENT_DIR, '', $theme->get_stylesheet_directory() ), $title, $theme->parent()->display('Name') ); ?>

    - -

    %2$s.' ), - $title, str_replace( WP_CONTENT_DIR, '', $theme->get_template_directory() ), str_replace( WP_CONTENT_DIR, '', $theme->get_stylesheet_directory() ) ); ?>

    - + parent() ) { + printf( '

    ' . __( 'This child theme requires its parent theme, %2$s.' ) . '

    ', + __( 'http://codex.wordpress.org/Child_Themes' ), + $theme->parent()->display( 'Name' ) ); + } ?>
    @@ -238,7 +246,7 @@ class WP_Themes_List_Table extends WP_List_Table { * @uses _pagination_args['total_pages'] */ function _js_vars( $extra_args = array() ) { - $search_string = isset( $_REQUEST['s'] ) ? esc_attr( stripslashes( $_REQUEST['s'] ) ) : ''; + $search_string = isset( $_REQUEST['s'] ) ? esc_attr( wp_unslash( $_REQUEST['s'] ) ) : ''; $args = array( 'search' => $search_string,