function webfm_delete_dir_recur in Web File Manager 5
Same name and namespace in other branches
- 5.2 webfm_file.inc \webfm_delete_dir_recur()
webfm_delete_dir_recur - called from the ajax action - switch case 'delete':
@ret bool -true if the directory or file is deleted and all file records updated
Parameters
string $source - the source directory path:
bool $ret - return value seed:
string &$err_arr - ref to error array for client feedback:
1 call to webfm_delete_dir_recur()
- webfm_ajax in ./
webfm.module - Ajax post requests
File
- ./
webfm_file.inc, line 156
Code
function webfm_delete_dir_recur($source, $ret, &$err_arr) {
if ($handle = opendir($source)) {
while (($file = readdir($handle)) !== FALSE) {
if ($file != '.' && $file != '..') {
$source_item = $source . '/' . $file;
if (is_file($source_item)) {
if (!webfm_delete_file($source_item, $error)) {
$err_arr[] = $error;
$ret = FALSE;
}
}
elseif (is_dir($source_item)) {
webfm_delete_dir_recur($source_item, $ret, $err_arr);
}
}
}
closedir($handle);
}
else {
$err_arr[] = t('Unable to opendir ') . $source;
return FALSE;
}
if (($retn = rmdir($source)) == FALSE) {
$err_arr[] = t('Unable to rmdir ') . $source;
}
return $retn == TRUE && $ret == TRUE;
}