X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/7f1521bf193b382565eb753043c161f4cb3fcda7..d3947bc013df7edd54b46deed8230d2eeafc5ecb:/wp-admin/includes/update.php diff --git a/wp-admin/includes/update.php b/wp-admin/includes/update.php index ba03453d..e412073e 100644 --- a/wp-admin/includes/update.php +++ b/wp-admin/includes/update.php @@ -9,7 +9,7 @@ /** * Selects the first update version from the update_core option. * - * @return bool|object The response from the API on success, false on failure. + * @return object|array|false The response from the API on success, false on failure. */ function get_preferred_from_update_core() { $updates = get_core_updates(); @@ -24,8 +24,8 @@ function get_preferred_from_update_core() { * Get available core updates. * * @param array $options Set $options['dismissed'] to true to show dismissed upgrades too, - * set $options['available'] to false to skip not-dismissed updates. - * @return bool|array Array of the update objects on success, false on failure. + * set $options['available'] to false to skip not-dismissed updates. + * @return array|false Array of the update objects on success, false on failure. */ function get_core_updates( $options = array() ) { $options = array_merge( array( 'available' => true, 'dismissed' => false ), $options ); @@ -67,7 +67,7 @@ function get_core_updates( $options = array() ) { * * @since 3.7.0 * - * @return bool|array False on failure, otherwise the core update offering. + * @return array|false False on failure, otherwise the core update offering. */ function find_core_auto_update() { $updates = get_site_transient( 'update_core' ); @@ -128,12 +128,23 @@ function get_core_checksums( $version, $locale ) { return $body['checksums']; } +/** + * + * @param object $update + * @return bool + */ function dismiss_core_update( $update ) { $dismissed = get_site_option( 'dismissed_update_core' ); $dismissed[ $update->current . '|' . $update->locale ] = true; return update_site_option( 'dismissed_update_core', $dismissed ); } +/** + * + * @param string $version + * @param string $locale + * @return bool + */ function undismiss_core_update( $version, $locale ) { $dismissed = get_site_option( 'dismissed_update_core' ); $key = $version . '|' . $locale; @@ -145,6 +156,12 @@ function undismiss_core_update( $version, $locale ) { return update_site_option( 'dismissed_update_core', $dismissed ); } +/** + * + * @param string $version + * @param string $locale + * @return object|false + */ function find_core_update( $version, $locale ) { $from_api = get_site_transient( 'update_core' ); @@ -159,6 +176,11 @@ function find_core_update( $version, $locale ) { return false; } +/** + * + * @param string $msg + * @return string + */ function core_update_footer( $msg = '' ) { if ( !current_user_can('update_core') ) return sprintf( __( 'Version %s' ), get_bloginfo( 'version', 'display' ) ); @@ -181,15 +203,19 @@ function core_update_footer( $msg = '' ) { return sprintf( __( 'You are using a development version (%1$s). Cool! Please stay updated.' ), get_bloginfo( 'version', 'display' ), network_admin_url( 'update-core.php' ) ); case 'upgrade' : - return sprintf( ''.__( 'Get Version %2$s' ).'', network_admin_url( 'update-core.php' ), $cur->current); + return '' . sprintf( __( 'Get Version %s' ), $cur->current ) . ''; case 'latest' : default : return sprintf( __( 'Version %s' ), get_bloginfo( 'version', 'display' ) ); } } -add_filter( 'update_footer', 'core_update_footer' ); +/** + * + * @global string $pagenow + * @return false|void + */ function update_nag() { if ( is_multisite() && !current_user_can('update_core') ) return false; @@ -205,14 +231,12 @@ function update_nag() { return false; if ( current_user_can('update_core') ) { - $msg = sprintf( __('WordPress %1$s is available! Please update now.'), $cur->current, network_admin_url( 'update-core.php' ) ); + $msg = sprintf( __( 'WordPress %1$s is available! Please update now.' ), $cur->current, network_admin_url( 'update-core.php' ) ); } else { $msg = sprintf( __('WordPress %1$s is available! Please notify the site administrator.'), $cur->current ); } echo "
$msg
"; } +/** + * @since 2.9.0 + * + * @return array + */ function get_plugin_updates() { $all_plugins = get_plugins(); $upgrade_plugins = array(); @@ -249,6 +292,9 @@ function get_plugin_updates() { return $upgrade_plugins; } +/** + * @since 2.9.0 + */ function wp_plugin_update_rows() { if ( !current_user_can('update_plugins' ) ) return; @@ -256,13 +302,18 @@ function wp_plugin_update_rows() { $plugins = get_site_transient( 'update_plugins' ); if ( isset($plugins->response) && is_array($plugins->response) ) { $plugins = array_keys( $plugins->response ); - foreach( $plugins as $plugin_file ) { + foreach ( $plugins as $plugin_file ) { add_action( "after_plugin_row_$plugin_file", 'wp_plugin_update_row', 10, 2 ); } } } -add_action( 'admin_init', 'wp_plugin_update_rows' ); +/** + * + * @param string $file + * @param array $plugin_data + * @return false|void + */ function wp_plugin_update_row( $file, $plugin_data ) { $current = get_site_transient( 'update_plugins' ); if ( !isset( $current->response[ $file ] ) ) @@ -278,15 +329,44 @@ function wp_plugin_update_row( $file, $plugin_data ) { $wp_list_table = _get_list_table('WP_Plugins_List_Table'); if ( is_network_admin() || !is_multisite() ) { - $active_class = ( is_plugin_active( $plugin_data['plugin'] ) ) ? ' active' : ''; + if ( is_network_admin() ) { + $active_class = is_plugin_active_for_network( $file ) ? ' active': ''; + } else { + $active_class = is_plugin_active( $file ) ? ' active' : ''; + } + echo '