WordPress.org

Make WordPress Core

Ticket #11261: recursive-chmod-ftpext-fix.txt

File recursive-chmod-ftpext-fix.txt, 1.0 KB (added by reaperhulk, 4 years ago)

first attempt at fixing this bug

Line 
1157,165c157,165
2<               if ( ! $recursive || ! $this->is_dir($file) ) {
3<                       if ( ! function_exists('ftp_chmod') )
4<                               return @ftp_site($this->link, sprintf('CHMOD %o %s', $mode, $file));
5<                       return @ftp_chmod($this->link, $mode, $file);
6<               }
7<               //Is a directory, and we want recursive
8<               $filelist = $this->dirlist($file);
9<               foreach ( $filelist as $filename ) {
10<                       $this->chmod($file . '/' . $filename, $mode, $recursive);
11---
12>               if ( $recursive && $this->is_dir($file) ) {
13>                       //fetch contents of the directory
14>                       $filelist = $this->dirlist($file);
15>                       //make sure the directory isn't empty by testing for the presence of a returned array
16>                       if(is_array($filelist)) {
17>                               foreach ($filelist as $filename=>$metadata ) {
18>                                       $this->chmod($file . '/' . $filename, $mode, $recursive);
19>                               }
20>                       }
21167c167,170
22<               return true;
23---
24>               //chmod the file or directory
25>               if ( ! function_exists('ftp_chmod') )
26>                       return @ftp_site($this->link, sprintf('CHMOD %o %s', $mode, $file));
27>               return @ftp_chmod($this->link, $mode, $file);