WordPress.org

Make WordPress Core

Ticket #10170: 10170-wp2.8.patch

File 10170-wp2.8.patch, 1.4 KB (added by azaozz, 9 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 )