WordPress.org

Make WordPress Core

Ticket #6245: 6245.diff

File 6245.diff, 2.8 KB (added by DD32, 10 years ago)

updated to remove a seperate chunk which slipped in.

  • wp-admin/includes/class-ftp.php

     
    317317        function pwd() {
    318318                if(!$this->_exec("PWD", "pwd")) return FALSE;
    319319                if(!$this->_checkCode()) return FALSE;
    320                 return ereg_replace("^[0-9]{3} \"(.+)\" .+".CRLF, "\\1", $this->_message);
     320                return ereg_replace("^[0-9]{3} \"(.+)\".+", "\\1", $this->_message);
    321321        }
    322322
    323323        function cdup() {
  • wp-admin/includes/class-wp-filesystem-ftpext.php

     
    162162                return $ret;
    163163        }
    164164        function cwd(){
    165                 return ftp_pwd($this->link);
     165                $cwd = ftp_pwd($this->link);
     166                if( $cwd )
     167                        $cwd = trailingslashit($cwd);
     168                return $cwd;
    166169        }
    167170        function chdir($dir){
    168171                return @ftp_chdir($dir);
     
    308311        }
    309312        function is_dir($path){
    310313                $cwd = $this->cwd();
    311                 @ftp_chdir($this->link, $path);
    312                 if ( $this->cwd() != $cwd ) {
     314                $result = @ftp_chdir($this->link, $path);
     315                if( $result && $path == $this->cwd() ||
     316                        $this->cwd() != $cwd ) {
    313317                        @ftp_chdir($this->link, $cwd);
    314318                        return true;
    315319                }
     
    425429                } else {
    426430                        $limitFile = false;
    427431                }
    428                 //if( ! $this->is_dir($path) )
    429                 //      return false;
    430                 $list = ftp_rawlist($this->link , '-a ' . $path, false);
     432
     433                $list = @ftp_rawlist($this->link , '-a ' . $path, false);
     434
    431435                if ( $list === false )
    432436                        return false;
    433437
  • wp-admin/includes/class-wp-filesystem-ftpsockets.php

     
    176176        }
    177177
    178178        function cwd(){
    179                 return $this->ftp->pwd();
     179                $cwd = $this->ftp->pwd();
     180                if( $cwd )
     181                        $cwd = trailingslashit($cwd);
     182                return $cwd;
    180183        }
    181184
    182185        function chdir($file){
     
    388391                } else {
    389392                        $limitFile = false;
    390393                }
    391                 //if( ! $this->is_dir($path) )
    392                 //      return false;
     394
    393395                $list = $this->ftp->dirlist($path);
    394396                if( ! $list )
    395397                        return false;
  • wp-admin/includes/file.php

     
    325343        }
    326344
    327345        if ( extension_loaded('ftp') ) return 'ftpext';
    328         if ( extension_loaded('sockets') ) return 'ftpsockets';
     346        if ( extension_loaded('sockets') || function_exists('fsockopen') ) return 'ftpsockets'; //Sockets: Socket extension; PHP Mode: FSockopen / fwrite / fread
    329347        return false;
    330348}
    331349