function webfm_move_dir_recur in Web File Manager 5.2
1 call to webfm_move_dir_recur()
- webfm_move in ./
webfm_file.inc - Move a directory or file and update database
File
- ./
webfm_file.inc, line 251
Code
function webfm_move_dir_recur($source, $dest, $uid, $ret, &$err_arr) {
$dest .= '/' . strrev(substr(strrev($source), 0, strpos(strrev($source), '/')));
if (!is_dir($dest)) {
if (!@mkdir($dest)) {
return FALSE;
}
chmod($dest, 0775);
if (!is_writable($dest)) {
$err_arr[] = $dest . " is not writable";
@rmdir($dest);
return FALSE;
}
}
else {
//directory already exists (can only occur at topmost directory)
$err_arr[] = $dest . " directory already exists";
return FALSE;
}
//directory built - return true to indicate refresh required
$ret = TRUE;
if ($handle = opendir($source)) {
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..') {
$source_item = $source . '/' . $file;
if (is_file($source_item)) {
// file
webfm_move_file($source_item, $dest . '/' . $file, $uid, $err_arr);
}
elseif (is_dir($source_item)) {
// directory
webfm_move_dir_recur($source_item, $dest, $uid, $ret, $err_arr);
}
}
}
closedir($handle);
}
//clean-up source directory
@rmdir($source);
return $ret;
}