diff --git a/wp-admin/update.php b/wp-admin/update.php index b0473844b7..d30af9ead4 100644 --- a/wp-admin/update.php +++ b/wp-admin/update.php @@ -11,10 +11,16 @@ function request_filesystem_credentials($form_post, $type = '', $error = false) if ( 'direct' == $type ) return array(); + + if( ! $credentials = get_option('ftp_credentials') ) + $credentials = array(); + // If defined, set it to that, Else, If POST'd, set it to that, If not, Set it to whatever it previously was(saved details in option) + $credentials['hostname'] = defined('FTP_HOST') ? FTP_HOST : (!empty($_POST['hostname']) ? $_POST['hostname'] : $credentials['hostname']); + $credentials['username'] = defined('FTP_USER') ? FTP_USER : (!empty($_POST['username']) ? $_POST['username'] : $credentials['username']); + $credentials['password'] = defined('FTP_PASS') ? FTP_PASS : (!empty($_POST['password']) ? $_POST['password'] : $credentials['password']); + $credentials['ssl'] = defined('FTP_SSL') ? FTP_SSL : (!empty($_POST['ssl']) ? $_POST['ssl'] : $credentials['ssl']); - 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']); + if ( ! $error && !empty($credentials['password']) && !empty($credentials['username']) && !empty($credentials['hostname']) ) { $stored_credentials = $credentials; unset($stored_credentials['password']); update_option('ftp_credentials', $stored_credentials); @@ -24,11 +30,10 @@ function request_filesystem_credentials($form_post, $type = '', $error = false) $username = ''; $password = ''; $ssl = ''; - if ( $credentials = get_option('ftp_credentials') ) + if ( !empty($credentials) ) extract($credentials, EXTR_OVERWRITE); - if( $error ){ + if( $error ) echo '

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

'; - } ?>
@@ -37,20 +42,20 @@ function request_filesystem_credentials($form_post, $type = '', $error = false) - + - + - +
size="40" />
size="40" />
size="40" />(Password not shown)'); ?>
-> __('No'), 1 => __('Yes')) as $key => $value ) : $selected = ($ssl == $value) ? 'selected="selected"' : '';