You are here

function webfm_delete_dir_recur in Web File Manager 5.2

Same name and namespace in other branches
  1. 5 webfm_file.inc \webfm_delete_dir_recur()
1 call to webfm_delete_dir_recur()
webfm_delete in ./webfm_file.inc
webfm_delete - called from the ajax action - switch case 'delete':

File

./webfm_file.inc, line 183

Code

function webfm_delete_dir_recur($source, $uid, $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, $uid, $error)) {
            $err_arr[] = $error;
            $ret = FALSE;
          }
        }
        elseif (is_dir($source_item)) {
          webfm_delete_dir_recur($source_item, $uid, $ret, $err_arr);
        }
      }
    }
    closedir($handle);
  }
  else {
    $err_arr[] = 'Unable to opendir ' . $source;
    return FALSE;
  }
  if (($retn = rmdir($source)) == FALSE) {
    $err_arr[] = 'Unable to rmdir ' . $source;
  }
  return $retn == TRUE && $ret == TRUE;
}