WordPress.org

Make WordPress Core

Ticket #15134: filesystem.patch

File filesystem.patch, 1.7 KB (added by vladimir_kolesnikov, 8 years ago)
  • wp-admin/includes/class-wp-filesystem-direct.php

     
    221221                        return false;
    222222                $file = str_replace('\\', '/', $file); //for win32, occasional problems deleteing files otherwise
    223223
     224                if ( $this->is_link(untrailingslashit($file)) )
     225                        return @unlink(untrailingslashit($file));
    224226                if ( $this->is_file($file) )
    225227                        return @unlink($file);
    226228                if ( ! $recursive && $this->is_dir($file) )
     
    253255                return @is_dir($path);
    254256        }
    255257
     258        function is_link($path) {
     259                return @is_link($path);
     260        }
     261
    256262        function is_readable($file) {
    257263                return @is_readable($file);
    258264        }
  • wp-admin/includes/class-wp-filesystem-ssh2.php

     
    252252        }
    253253
    254254        function delete($file, $recursive = false) {
     255                if ( $this->is_link(untrailingslashit($file)) )
     256                        return ssh2_sftp_unlink($this->sftp_link, untrailingslashit($file));
    255257                if ( $this->is_file($file) )
    256258                        return ssh2_sftp_unlink($this->sftp_link, $file);
    257259                if ( ! $recursive )
     
    280282                return is_dir('ssh2.sftp://' . $this->sftp_link . '/' . $path);
    281283        }
    282284
     285        function is_link($path) {
     286                $path = trim($path, '/');
     287                return is_link('ssh2.sftp://' . $this->sftp_link . '/' . $path);
     288        }
     289
    283290        function is_readable($file) {
    284291                $file = ltrim($file, '/');
    285292                return is_readable('ssh2.sftp://' . $this->sftp_link . '/' . $file);