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