X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/6c8f14c09105d0afa4c1574215c59b5021040e76..784f914b1e4b1c62d6657e86397c2e83bcee4295:/wp-admin/includes/theme-install.php diff --git a/wp-admin/includes/theme-install.php b/wp-admin/includes/theme-install.php index 5c135aa1..27538b74 100644 --- a/wp-admin/includes/theme-install.php +++ b/wp-admin/includes/theme-install.php @@ -28,18 +28,20 @@ $theme_field_defaults = array( 'description' => true, 'sections' => false, 'test * * @return array */ -function install_themes_feature_list( ) { +function install_themes_feature_list() { + _deprecated_function( __FUNCTION__, '3.1', 'get_theme_feature_list()' ); + if ( !$cache = get_transient( 'wporg_theme_feature_list' ) ) - set_transient( 'wporg_theme_feature_list', array( ), 10800); + set_transient( 'wporg_theme_feature_list', array(), 3 * HOUR_IN_SECONDS ); if ( $cache ) return $cache; - $feature_list = themes_api( 'feature_list', array( ) ); + $feature_list = themes_api( 'feature_list', array() ); if ( is_wp_error( $feature_list ) ) - return $features; + return array(); - set_transient( 'wporg_theme_feature_list', $feature_list, 10800 ); + set_transient( 'wporg_theme_feature_list', $feature_list, 3 * HOUR_IN_SECONDS ); return $feature_list; } @@ -48,14 +50,16 @@ function install_themes_feature_list( ) { * Display search form for searching themes. * * @since 2.8.0 + * + * @param bool $type_selector */ function install_theme_search_form( $type_selector = true ) { - $type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : 'term'; - $term = isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : ''; + $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term'; + $term = isset( $_REQUEST['s'] ) ? wp_unslash( $_REQUEST['s'] ) : ''; if ( ! $type_selector ) echo '

' . __( 'Search for themes by keyword.' ) . '

'; ?> -
+ @@ -97,10 +101,10 @@ function install_themes_dashboard() {

- + '; foreach ( (array) $feature_list as $feature_name => $features ) { @@ -130,63 +134,79 @@ function install_themes_dashboard() {
-

- - + + +
single_row( $theme ); + if ( ! isset( $wp_list_table ) ) { + $wp_list_table = _get_list_table('WP_Theme_Install_List_Table'); + } + $wp_list_table->prepare_items(); + $wp_list_table->single_row( $theme ); } /** * Display theme content based on theme list. * * @since 2.8.0 + * + * @global WP_Theme_Install_List_Table $wp_list_table */ function display_themes() { global $wp_list_table; + if ( ! isset( $wp_list_table ) ) { + $wp_list_table = _get_list_table('WP_Theme_Install_List_Table'); + } + $wp_list_table->prepare_items(); $wp_list_table->display(); + } -add_action('install_themes_search', 'display_themes'); -add_action('install_themes_featured', 'display_themes'); -add_action('install_themes_new', 'display_themes'); -add_action('install_themes_updated', 'display_themes'); /** * Display theme information in dialog box form. * * @since 2.8.0 + * + * @global WP_Theme_Install_List_Table $wp_list_table */ function install_theme_information() { - global $tab, $themes_allowedtags, $wp_list_table; + global $wp_list_table; - $theme = themes_api( 'theme_information', array( 'slug' => stripslashes( $_REQUEST['theme'] ) ) ); + $theme = themes_api( 'theme_information', array( 'slug' => wp_unslash( $_REQUEST['theme'] ) ) ); if ( is_wp_error( $theme ) ) wp_die( $theme ); iframe_header( __('Theme Install') ); + if ( ! isset( $wp_list_table ) ) { + $wp_list_table = _get_list_table('WP_Theme_Install_List_Table'); + } $wp_list_table->theme_installer_single( $theme ); iframe_footer(); exit; } -add_action('install_themes_pre_theme-information', 'install_theme_information');