X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/849f15aeed7a5e39314057bdc0064d8edd60dd7d..5e031ad59895b5682d1509675cafe9f2c5081c12:/wp-admin/includes/plugin-install.php diff --git a/wp-admin/includes/plugin-install.php b/wp-admin/includes/plugin-install.php index 30313419..b8cf32f0 100644 --- a/wp-admin/includes/plugin-install.php +++ b/wp-admin/includes/plugin-install.php @@ -70,18 +70,18 @@ function plugins_api($action, $args = null) { if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); - $args = array( + $http_args = array( 'timeout' => 15, 'body' => array( 'action' => $action, 'request' => serialize( $args ) ) ); - $request = wp_remote_post( $url, $args ); + $request = wp_remote_post( $url, $http_args ); if ( $ssl && is_wp_error( $request ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); - $request = wp_remote_post( $http_url, $args ); + $request = wp_remote_post( $http_url, $http_args ); } if ( is_wp_error($request) ) { @@ -176,7 +176,7 @@ function install_search_form( $type_selector = true ) { $input_attrs = 'class="wp-filter-search" placeholder="' . esc_attr__( 'Search Plugins' ) . '" '; } - ?>
+ ?>

@@ -253,7 +251,7 @@ function display_plugins_table() { } ?> - + display(); ?>

slug), 'install-plugin_' . $api->slug); } else { $key = array_keys( $installed_plugin ); - $key = array_shift( $key ); //Use the first plugin regardless of the name, Could have issues for multiple-plugins in one directory if they share different version numbers + $key = reset( $key ); //Use the first plugin regardless of the name, Could have issues for multiple-plugins in one directory if they share different version numbers + $update_file = $api->slug . '/' . $key; if ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '=') ){ $status = 'latest_installed'; } elseif ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '<') ) { @@ -329,7 +329,8 @@ function install_plugin_install_status($api, $loop = false) { if ( isset($_GET['from']) ) $url .= '&from=' . urlencode( wp_unslash( $_GET['from'] ) ); - return compact('status', 'url', 'version'); + $file = $update_file; + return compact( 'status', 'url', 'version', 'file' ); } /** @@ -347,7 +348,12 @@ function install_plugin_information() { $api = plugins_api( 'plugin_information', array( 'slug' => wp_unslash( $_REQUEST['plugin'] ), 'is_ssl' => is_ssl(), - 'fields' => array( 'banners' => true, 'reviews' => true ) + 'fields' => array( + 'banners' => true, + 'reviews' => true, + 'downloaded' => false, + 'active_installs' => true + ) ) ); if ( is_wp_error( $api ) ) { @@ -390,7 +396,7 @@ function install_plugin_information() { $section = isset( $_REQUEST['section'] ) ? wp_unslash( $_REQUEST['section'] ) : 'description'; // Default to the Description tab, Do not translate, API returns English. if ( empty( $section ) || ! isset( $api->sections[ $section ] ) ) { $section_titles = array_keys( (array) $api->sections ); - $section = array_shift( $section_titles ); + $section = reset( $section_titles ); } iframe_header( __( 'Plugin Install' ) ); @@ -439,6 +445,8 @@ function install_plugin_information() { echo "\n"; + $date_format = __( 'M j, Y @ H:i' ); + $last_updated_timestamp = strtotime( $api->last_updated ); ?>
@@ -448,15 +456,21 @@ function install_plugin_information() { author ) ) { ?>
  • author, '_blank' ); ?>
  • last_updated ) ) { ?> -
  • - last_updated ) ) ); ?> +
  • +
  • requires ) ) { ?>
  • requires ); ?>
  • tested ) ) { ?>
  • tested; ?>
  • - downloaded ) ) { ?> -
  • downloaded ), number_format_i18n( $api->downloaded ) ); ?>
  • + active_installs ) ) { ?> +
  • active_installs >= 1000000 ) { + _ex( '1+ Million', 'Active plugin installs' ); + } else { + echo number_format_i18n( $api->active_installs ) . '+'; + } + ?>
  • slug ) && empty( $api->external ) ) { ?>
  • homepage ) ) { ?> @@ -517,7 +531,7 @@ function install_plugin_information() { tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) { echo '

    ' . __('Warning: This plugin has not been tested with your current version of WordPress.') . '

    '; - } else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) { + } elseif ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) { echo '

    ' . __('Warning: This plugin has not been marked as compatible with your version of WordPress.') . '

    '; } @@ -547,7 +561,7 @@ function install_plugin_information() { break; case 'update_available': if ( $status['url'] ) { - echo '' . __( 'Install Update Now' ) .''; + echo '' . __( 'Install Update Now' ) .''; } break; case 'newer_installed':