Make WordPress Core

Changeset 8018


Ignore:
Timestamp:
05/30/2008 04:14:05 PM (18 years ago)
Author:
ryan
Message:

WP_Filesystem updates from DD32. See #7059

Location:
trunk/wp-admin/includes
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/class-wp-filesystem-direct.php

    r8009 r8018  
    55        var $errors = array();
    66        function WP_Filesystem_Direct($arg) {
     7                $this->method = 'direct';
    78                $this->errors = new WP_Error();
    89                $this->permission = umask();
    … …  
    2021                return @file($file);
    2122        }
    22         function put_contents($file,$contents,$mode=false,$type='') {
    23                 if ( ! ($fp = @fopen($file,'w' . $type)) )
    24                         return false;
    25                 @fwrite($fp,$contents);
     23        function put_contents($file, $contents, $mode = false, $type = '') {
     24                if ( ! ($fp = @fopen($file, 'w' . $type)) )
     25                        return false;
     26                @fwrite($fp, $contents);
    2627                @fclose($fp);
    2728                $this->chmod($file,$mode);
    … …  
    3435                return @chdir($dir);
    3536        }
    36         function chgrp($file,$group,$recursive=false) {
     37        function chgrp($file, $group, $recursive = false) {
    3738                if( ! $this->exists($file) )
    3839                        return false;
    … …  
    4950                return true;
    5051        }
    51         function chmod($file,$mode=false,$recursive=false) {
     52        function chmod($file, $mode = false, $recursive = false) {
    5253                if( ! $mode )
    5354                        $mode = $this->permission;
  • trunk/wp-admin/includes/class-wp-filesystem-ftpsockets.php

    r8009 r8018  
    11<?php
    2 class WP_Filesystem_ftpsockets{
     2class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
    33        var $ftp = false;
    44        var $timeout = 5;
    … …  
    8787        }
    8888
    89         function get_contents($file,$type='',$resumepos=0){
     89        function get_contents($file, $type = '', $resumepos = 0){
    9090                if( ! $this->exists($file) )
    9191                        return false;
    9292
    9393                if( empty($type) ){
    94                         $extension = substr(strrchr($file, "."), 1);
     94                        $extension = substr(strrchr($file, '.'), 1);
    9595                        $type = isset($this->filetypes[ $extension ]) ? $this->filetypes[ $extension ] : FTP_AUTOASCII;
    9696                }
    9797                $this->ftp->SetType($type);
    98                 $temp = tmpfile();
    99                 if ( ! $temp )
    100                         return false;
    101                 if ( ! $this->ftp->fget($temp, $file) ) {
    102                         fclose($temp);
     98                $temp = wp_tempnam( $file );
     99                if ( ! $temphandle = fopen($temp, 'w+') )
     100                        return false;
     101                if ( ! $this->ftp->fget($temphandle, $file) ) {
     102                        fclose($temphandle);
     103                        unlink($temp);
    103104                        return ''; //Blank document, File does exist, Its just blank.
    104105                }
    105                 fseek($temp, 0); //Skip back to the start of the file being written to
     106                fseek($temphandle, 0); //Skip back to the start of the file being written to
    106107                $contents = '';
    107                 while ( !feof($temp) )
    108                         $contents .= fread($temp, 8192);
    109                 fclose($temp);
     108                while ( ! feof($temphandle) )
     109                        $contents .= fread($temphandle, 8192);
     110                fclose($temphandle);
     111                unlink($temp);
    110112                return $contents;
    111113        }
    112114
    113115        function get_contents_array($file){
    114                 return explode("\n",$this->get_contents($file));
    115         }
    116 
    117         function put_contents($file,$contents,$type=''){
     116                return explode("\n", $this->get_contents($file) );
     117        }
     118
     119        function put_contents($file, $contents, $type = '' ) {
    118120                if( empty($type) ){
    119                         $extension = substr(strrchr($file, "."), 1);
    120                         $type = isset($this->filetypes[ $extension ]) ? $this->filetypes[ $extension ] : FTP_ASCII;
     121                        $extension = substr(strrchr($file, '.'), 1);
     122                        $type = isset($this->filetypes[ $extension ]) ? $this->filetypes[ $extension ] : FTP_AUTOASCII;
    121123                }
    122124                $this->ftp->SetType($type);
    123125
    124                 $temp = tmpfile();
    125                 if ( ! $temp )
    126                         return false;
    127                 fwrite($temp,$contents);
    128                 fseek($temp, 0); //Skip back to the start of the file being written to
    129                 $ret = $this->ftp->fput($file, $temp);
    130                 fclose($temp);
     126                $temp = wp_tempnam( $file );
     127                if ( ! $temphandle = fopen($temp, 'w+') ){
     128                        unlink($temp);         
     129                        return false;
     130                }
     131                fwrite($temphandle, $contents);
     132                fseek($temphandle, 0); //Skip back to the start of the file being written to
     133                $ret = $this->ftp->fput($file, $temphandle);
     134                fclose($temphandle);
     135                unlink($temp);
    131136                return $ret;
    132137        }
    133138
    134         function cwd(){
     139        function cwd() {
    135140                $cwd = $this->ftp->pwd();
    136141                if( $cwd )
    … …  
    139144        }
    140145
    141         function chdir($file){
     146        function chdir($file) {
    142147                return $this->ftp->chdir($file);
    143148        }
    144149       
    145         function chgrp($file,$group,$recursive=false){
    146                 return false;
    147         }
    148 
    149         function chmod($file,$mode=false,$recursive=false){
     150        function chgrp($file, $group, $recursive = false ) {
     151                return false;
     152        }
     153
     154        function chmod($file, $mode = false, $recursive = false ){
    150155                if( ! $mode )
    151156                        $mode = $this->permission;
    … …  
    154159                //if( ! $this->exists($file) )
    155160                //      return false;
    156                 if( ! $recursive || ! $this->is_dir($file) ){
     161                if( ! $recursive || ! $this->is_dir($file) ) {
    157162                        return $this->ftp->chmod($file,$mode);
    158163                }
    … …  
    160165                $filelist = $this->dirlist($file);
    161166                foreach($filelist as $filename){
    162                         $this->chmod($file.'/'.$filename,$mode,$recursive);
    163                 }
    164                 return true;
    165         }
    166 
    167         function chown($file,$owner,$recursive=false){
    168                 return false;
    169         }
    170 
    171         function owner($file){
     167                        $this->chmod($file . '/' . $filename, $mode, $recursive);
     168                }
     169                return true;
     170        }
     171
     172        function chown($file, $owner, $recursive = false ) {
     173                return false;
     174        }
     175
     176        function owner($file) {
    172177                $dir = $this->dirlist($file);
    173178                return $dir[$file]['owner'];
    174179        }
    175180
    176         function getchmod($file){
     181        function getchmod($file) {
    177182                $dir = $this->dirlist($file);
    178183                return $dir[$file]['permsn'];
    179184        }
    180185
    181         function gethchmod($file){
    182                 //From the PHP.net page for ...?
    183                 $perms = $this->getchmod($file);
    184                 if (($perms & 0xC000) == 0xC000) {
    185                         // Socket
    186                         $info = 's';
    187                 } elseif (($perms & 0xA000) == 0xA000) {
    188                         // Symbolic Link
    189                         $info = 'l';
    190                 } elseif (($perms & 0x8000) == 0x8000) {
    191                         // Regular
    192                         $info = '-';
    193                 } elseif (($perms & 0x6000) == 0x6000) {
    194                         // Block special
    195                         $info = 'b';
    196                 } elseif (($perms & 0x4000) == 0x4000) {
    197                         // Directory
    198                         $info = 'd';
    199                 } elseif (($perms & 0x2000) == 0x2000) {
    200                         // Character special
    201                         $info = 'c';
    202                 } elseif (($perms & 0x1000) == 0x1000) {
    203                         // FIFO pipe
    204                         $info = 'p';
    205                 } else {
    206                         // Unknown
    207                         $info = 'u';
    208                 }
    209 
    210                 // Owner
    211                 $info .= (($perms & 0x0100) ? 'r' : '-');
    212                 $info .= (($perms & 0x0080) ? 'w' : '-');
    213                 $info .= (($perms & 0x0040) ?
    214                                         (($perms & 0x0800) ? 's' : 'x' ) :
    215                                         (($perms & 0x0800) ? 'S' : '-'));
    216 
    217                 // Group
    218                 $info .= (($perms & 0x0020) ? 'r' : '-');
    219                 $info .= (($perms & 0x0010) ? 'w' : '-');
    220                 $info .= (($perms & 0x0008) ?
    221                                         (($perms & 0x0400) ? 's' : 'x' ) :
    222                                         (($perms & 0x0400) ? 'S' : '-'));
    223 
    224                 // World
    225                 $info .= (($perms & 0x0004) ? 'r' : '-');
    226                 $info .= (($perms & 0x0002) ? 'w' : '-');
    227                 $info .= (($perms & 0x0001) ?
    228                                         (($perms & 0x0200) ? 't' : 'x' ) :
    229                                         (($perms & 0x0200) ? 'T' : '-'));
    230                 return $info;
    231         }
    232 
    233         function getnumchmodfromh($mode) {
    234                 $realmode = "";
    235                 $legal =  array("","w","r","x","-");
    236                 $attarray = preg_split("//",$mode);
    237                 for($i=0;$i<count($attarray);$i++){
    238                    if($key = array_search($attarray[$i],$legal)){
    239                            $realmode .= $legal[$key];
    240                    }
    241                 }
    242                 $mode = str_pad($realmode,9,'-');
    243                 $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
    244                 $mode = strtr($mode,$trans);
    245                 $newmode = '';
    246                 $newmode .= $mode[0]+$mode[1]+$mode[2];
    247                 $newmode .= $mode[3]+$mode[4]+$mode[5];
    248                 $newmode .= $mode[6]+$mode[7]+$mode[8];
    249                 return $newmode;
    250         }
    251 
    252         function group($file){
     186        function group($file) {
    253187                $dir = $this->dirlist($file);
    254188                return $dir[$file]['group'];
    255189        }
    256190
    257         function copy($source,$destination,$overwrite=false){
     191        function copy($source, $destination, $overwrite = false ) {
    258192                if( ! $overwrite && $this->exists($destination) )
    259193                        return false;
Note: See TracChangeset for help on using the changeset viewer.