/** * Plugin upgrade display. * * @since 2.5 * * @param string $plugin Plugin */ function do_plugin_upgrade($plugin) { global $wp_filesystem; $url = wp_nonce_url("update.php?action=upgrade-plugin&plugin={$plugin}", "upgrade-plugin_{$plugin}"); if (false === ($credentials = request_filesystem_credentials($url))) { return; } if (!WP_Filesystem($credentials)) { $error = true; if (is_object($wp_filesystem) && $wp_filesystem->errors->get_error_code()) { $error = $wp_filesystem->errors; } request_filesystem_credentials($url, '', $error); //Failed to connect, Error and request again return; } echo '<div class="wrap">'; echo '<h2>' . __('Upgrade Plugin') . '</h2>'; if ($wp_filesystem->errors->get_error_code()) { foreach ($wp_filesystem->errors->get_error_messages() as $message) { show_message($message); } echo '</div>'; return; } $was_activated = is_plugin_active($plugin); //Check now, It'll be deactivated by the next line if it is $result = wp_update_plugin($plugin, 'show_message'); if (is_wp_error($result)) { show_message($result); show_message(__('Plugin upgrade Failed')); } else { $plugin_file = $result; show_message(__('Plugin upgraded successfully')); if ($result && $was_activated) { show_message(__('Attempting reactivation of the plugin')); echo '<iframe style="border:0;overflow:hidden" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&plugin=' . $plugin_file, 'activate-plugin_' . $plugin_file) . '"></iframe>'; } $update_actions = array('activate_plugin' => '<a href="' . wp_nonce_url('plugins.php?action=activate&plugin=' . $plugin_file, 'activate-plugin_' . $plugin_file) . '" title="' . attribute_escape(__('Activate this plugin')) . '" target="_parent">' . __('Activate Plugin') . '</a>', 'plugins_page' => '<a href="' . admin_url('plugins.php') . '" title="' . attribute_escape(__('Goto plugins page')) . '" target="_parent">' . __('Return to Plugins page') . '</a>'); if ($was_activated) { unset($update_actions['activate_plugin']); } $update_actions = apply_filters('update_plugin_complete_actions', $update_actions, $plugin_file); if (!empty($update_actions)) { show_message('<strong>' . __('Actions:') . '</strong> ' . implode(' | ', (array) $update_actions)); } } echo '</div>'; }
function do_plugin_upgrade($plugin) { global $wp_filesystem; $url = wp_nonce_url("update.php?action=upgrade-plugin&plugin={$plugin}", "upgrade-plugin_{$plugin}"); if (false === ($credentials = request_filesystem_credentials($url))) { return; } if (!WP_Filesystem($credentials)) { request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again return; } echo '<div class="wrap">'; echo '<h2>' . __('Upgrade Plugin') . '</h2>'; if ($wp_filesystem->errors->get_error_code()) { foreach ($wp_filesystem->errors->get_error_messages() as $message) { show_message($message); } echo '</div>'; return; } $was_activated = is_plugin_active($plugin); //Check now, It'll be deactivated by the next line if it is, $result = wp_update_plugin($plugin, 'show_message'); if (is_wp_error($result)) { show_message($result); } else { //Result is the new plugin file relative to PLUGINDIR show_message(__('Plugin upgraded successfully')); if ($result && $was_activated) { show_message(__('Attempting reactivation of the plugin')); echo '<iframe style="border:0" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&plugin=' . $result, 'activate-plugin_' . $result) . '"></iframe>'; } } echo '</div>'; }