From 50b00028bd207f461d6ed02f7868eccb5c6b8fe1 Mon Sep 17 00:00:00 2001 From: donncha Date: Wed, 19 Mar 2008 12:35:25 +0000 Subject: Add and delete WP 2.5 files. *DON'T SVN UPDATE!* git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1214 7be80a69-a1ef-0310-a953-fb0f7c49ff36 --- wp-admin/update.php | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 wp-admin/update.php (limited to 'wp-admin/update.php') diff --git a/wp-admin/update.php b/wp-admin/update.php new file mode 100644 index 0000000..b047384 --- /dev/null +++ b/wp-admin/update.php @@ -0,0 +1,127 @@ +'.__('You do not have sufficient permissions to update plugins for this blog.').'

'); + +function request_filesystem_credentials($form_post, $type = '', $error = false) { + if ( empty($type) ) + $type = get_filesystem_method(); + + if ( 'direct' == $type ) + return array(); + + if ( ! $error && !empty($_POST['password']) && !empty($_POST['username']) && !empty($_POST['hostname']) ) { + $credentials = array('hostname' => $_POST['hostname'], 'username' => $_POST['username'], + 'password' => $_POST['password'], 'ssl' => $_POST['ssl']); + $stored_credentials = $credentials; + unset($stored_credentials['password']); + update_option('ftp_credentials', $stored_credentials); + return $credentials; + } + $hostname = ''; + $username = ''; + $password = ''; + $ssl = ''; + if ( $credentials = get_option('ftp_credentials') ) + extract($credentials, EXTR_OVERWRITE); + if( $error ){ + echo '

' . __('Error: There was an error connecting to the server, Please verify the settings are correct.') . '

'; + } +?> +
+
+

+

+ + + + + + + + + + + + + + + + + +
+ +
+

+ +

+
+
+get_error_data() ) + $message = $message->get_error_message() . ': ' . $message->get_error_data(); + else + $message = $message->get_error_message(); + } + echo "

$message

"; +} + +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 '
'; + echo '

' . __('Upgrade Plugin') . '

'; + if ( $wp_filesystem->errors->get_error_code() ) { + foreach ( $wp_filesystem->errors->get_error_messages() as $message ) + show_message($message); + echo '
'; + return; + } + + $result = wp_update_plugin($plugin, 'show_message'); + + if ( is_wp_error($result) ) + show_message($result); + else + echo __('Plugin upgraded successfully'); + echo ''; +} + +if ( isset($_GET['action']) ) { + if ( isset($_GET['plugin']) ) + $plugin = trim($_GET['plugin']); + + if ( 'upgrade-plugin' == $_GET['action'] ) { + check_admin_referer('upgrade-plugin_' . $plugin); + $title = __('Upgrade Plugin'); + $parent_file = 'plugins.php'; + require_once('admin-header.php'); + do_plugin_upgrade($plugin); + include('admin-footer.php'); + } +} + +?> -- cgit