WordPress.org

Make WordPress Core

Ticket #10170: 10170-wp2.8.patch

File 10170-wp2.8.patch, 1.4 KB (added by azaozz, 5 years ago)
  • wp-admin/includes/class-wp-filesystem-direct.php

     
    2020        function WP_Filesystem_Direct($arg) { 
    2121                $this->method = 'direct'; 
    2222                $this->errors = new WP_Error(); 
    23                 $this->permission = umask(); 
    2423        } 
    2524        function connect() { 
    2625                return true; 
     
    6463                return true; 
    6564        } 
    6665        function chmod($file, $mode = false, $recursive = false) { 
    67                 if ( ! $mode ) 
    68                         $mode = $this->permission; 
    6966                if ( ! $this->exists($file) ) 
    7067                        return false; 
     68 
     69                if ( ! $mode ) { 
     70                        if ( $this->permission ) 
     71                                $mode = $this->permission; 
     72                        elseif ( $this->is_file($file) ) 
     73                                $mode = FS_CHMOD_FILE; 
     74                        elseif ( $this->is_dir($file) ) 
     75                                $mode = FS_CHMOD_DIR; 
     76                        else 
     77                                return false;    
     78                } 
     79 
    7180                if ( ! $recursive ) 
    72                         return @chmod($file,$mode); 
     81                        return @chmod($file, $mode); 
    7382                if ( ! $this->is_dir($file) ) 
    7483                        return @chmod($file, $mode); 
    7584                //Is a directory, and we want recursive 
     
    197206        } 
    198207 
    199208        function mkdir($path, $chmod = false, $chown = false, $chgrp = false){ 
    200                 if ( ! $chmod) 
    201                         $chmod = $this->permission; 
    202  
    203                 if ( ! @mkdir($path, $chmod) ) 
     209                if ( ! @mkdir($path) ) 
    204210                        return false; 
     211                $this->chmod($path, $chmod); 
    205212                if ( $chown ) 
    206213                        $this->chown($path, $chown); 
    207214                if ( $chgrp )