fs direct fixes from DD32. see #5586

git-svn-id: https://develop.svn.wordpress.org/trunk@6920 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ryan Boren 2008-02-20 00:15:55 +00:00
parent 8a8ee94c63
commit e0574ed6ac
2 changed files with 9 additions and 2 deletions

View File

@ -2,7 +2,9 @@
class WP_Filesystem_Direct{
var $permission = null;
var $errors = array();
function WP_Filesystem_Direct($arg){
$this->errors = new WP_Error();
$this->permission = umask();
}
function connect(){
@ -188,11 +190,16 @@ class WP_Filesystem_Direct{
function delete($file,$recursive=false){
$file = str_replace('\\','/',$file); //for win32, occasional problems deleteing files otherwise
if( $this->is_file($file) )
return @unlink($file);
if( !$recursive )
if( !$recursive && $this->is_dir($file) )
return @rmdir($file);
$filelist = $this->dirlist($file);
if( ! $filelist )
return true; //No files exist, Say we've deleted them
$retval = true;
foreach($filelist as $filename=>$fileinfo){

View File

@ -178,7 +178,7 @@ function wp_update_plugin($plugin, $feedback = '') {
$plugin_dir = dirname(ABSPATH . PLUGINDIR . "/$plugin");
// If plugin is in its own directory, recursively delete the directory.
if ( '.' != $plugin_dir )
if ( '.' != $plugin_dir && ABSPATH . PLUGINDIR != $plugin_dir )
$wp_filesystem->delete($plugin_dir, true);
apply_filters('update_feedback', __("Installing the latest version"));