WordPress.org

Make WordPress Core

Ticket #6245: 6245.diff

File 6245.diff, 2.8 KB (added by DD32, 6 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