Ticket #7690: 7690.12.diff
| File 7690.12.diff, 5.5 KB (added by , 18 years ago) |
|---|
-
wp-admin/includes/class-wp-filesystem-ssh2.php
63 63 $this->method = 'ssh2'; 64 64 $this->errors = new WP_Error(); 65 65 66 //Check if possible to use ftpfunctions.66 //Check if possible to use ssh2 functions. 67 67 if ( ! extension_loaded('ssh2') ) { 68 68 $this->errors->add('no_ssh2_ext', __('The ssh2 PHP extension is not available')); 69 69 return false; … … 89 89 else 90 90 $this->options['username'] = $opt['username']; 91 91 92 if ( ( !empty ($opt['public_key']) ) && ( !empty ($opt['private_key']) )) {92 if ( ( !empty ($opt['public_key']) ) && ( !empty ($opt['private_key']) ) ) { 93 93 $this->options['public_key'] = $opt['public_key']; 94 94 $this->options['private_key'] = $opt['private_key']; 95 95 … … 99 99 } 100 100 101 101 102 if ( empty ($opt['password']) ) 102 if ( empty ($opt['password']) ) { 103 103 if ( !$this->keys ) // password can be blank if we are using keys 104 104 $this->errors->add('empty_password', __('SSH2 password is required')); 105 else105 } else { 106 106 $this->options['password'] = $opt['password']; 107 } 107 108 108 109 } 109 110 110 111 function connect() { 111 112 $this->debug("connect();"); 112 if ( ! $this->keys ) 113 $this->link = @ssh2_connect($this->options['hostname'], $this->options['port']); 114 else 115 $this->link = @ssh2_connect($this->options['hostname'], $this->options['port'], $this->options['hostkey']); 113 114 if ( ! $this->keys ) { 115 $this->link = @ssh2_connect($this->options['hostname'], $this->options['port']); 116 } else { 117 $this->link = @ssh2_connect($this->options['hostname'], $this->options['port'], $this->options['hostkey']); 118 } 116 119 117 120 if ( ! $this->link ) { 118 121 $this->errors->add('connect', sprintf(__('Failed to connect to SSH2 Server %1$s:%2$s'), $this->options['hostname'], $this->options['port'])); … … 359 362 360 363 function mkdir($path, $chmod = null, $chown = false, $chgrp = false) { 361 364 $this->debug("mkdir();"); 362 $path = trim($path, '/');365 $path = rtrim($path, '/'); 363 366 if( ! ssh2_sftp_mkdir($this->sftp_link, $path, $chmod, true) ) 364 367 return false; 365 368 if( $chown ) -
wp-admin/includes/file.php
405 405 for ( $i = count($path) - 1; $i >= 0; $i-- ) { //>=0 as the first element contains data, count()-1, as we do not want the file component 406 406 $tmppath = $to . implode('/', array_slice($path, 0, $i) ); 407 407 if ( $fs->is_dir($tmppath) ) {//Found the highest folder that exists, Create from here 408 for ( $i = $i + 1; $i < =count($path); $i++ ) { //< count() no file component please.408 for ( $i = $i + 1; $i < count($path); $i++ ) { //< count() no file component please. 409 409 $tmppath = $to . implode('/', array_slice($path, 0, $i) ); 410 410 if ( ! $fs->mkdir($tmppath, 0755) ) 411 411 return new WP_Error('mkdir_failed', __('Could not create directory'), $tmppath); … … 503 503 if ( 'direct' == $type ) 504 504 return true; 505 505 506 if( ! $credentials = get_option('ftp_credentials') )507 $credentials = array(); 506 $credentials = get_option('ftp_credentials'); 507 508 508 // 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) 509 509 $credentials['hostname'] = defined('FTP_HOST') ? FTP_HOST : (!empty($_POST['hostname']) ? $_POST['hostname'] : $credentials['hostname']); 510 510 $credentials['username'] = defined('FTP_USER') ? FTP_USER : (!empty($_POST['username']) ? $_POST['username'] : $credentials['username']); … … 517 517 if ( strpos($credentials['hostname'], ':') ) 518 518 list( $credentials['hostname'], $credentials['port'] ) = explode(':', $credentials['hostname'], 2); 519 519 520 if ( defined('FTP_SSH') || (isset($_POST['connection_type']) && 'ssh' == $_POST['connection_type']) )520 if ( defined('FTP_SSH') || (isset($_POST['connection_type']) && 'ssh' == $_POST['connection_type']) || $credentials['connection_type'] == 'ssh' ) 521 521 $credentials['connection_type'] = 'ssh'; 522 else if ( defined('FTP_SSL') || (isset($_POST['connection_type']) && 'ftps' == $_POST['connection_type']) )522 else if ( defined('FTP_SSL') || (isset($_POST['connection_type']) && 'ftps' == $_POST['connection_type']) || $credentials['connection_type'] == 'ftps' ) 523 523 $credentials['connection_type'] = 'ftps'; 524 524 else 525 525 $credentials['connection_type'] = 'ftp'; 526 527 if ( ! $error && !empty($credentials['password']) && !empty($credentials['username']) && !empty($credentials['hostname']) ) {526 527 if ( !$error && !empty($credentials['password']) && !empty($credentials['username']) && !empty($credentials['hostname']) ) { 528 528 $stored_credentials = $credentials; 529 529 unset($stored_credentials['password'], $stored_credentials['private_key'], $stored_credentials['public_key']); 530 530 update_option('ftp_credentials', $stored_credentials); … … 566 566 </script> 567 567 <form action="<?php echo $form_post ?>" method="post"> 568 568 <div class="wrap"> 569 <h2><?php _e(' FTPConnection Information') ?></h2>570 <p><?php _e('To perform the requested action, FTPconnection information is required.') ?></p>569 <h2><?php _e('Connection Information') ?></h2> 570 <p><?php _e('To perform the requested action, connection information is required.') ?></p> 571 571 <table class="form-table"> 572 572 <tr valign="top"> 573 573 <th scope="row"><label for="hostname"><?php _e('Hostname') ?></label></th>