function extrawatch_sureRemoveDir($dir, $DeleteMe)
{
    if (!($dh = @opendir($dir))) {
        return;
    }
    ///
    while (FALSE !== ($obj = readdir($dh))) {
        if ($obj == '.' || $obj == '..') {
            continue;
        }
        if (!@unlink($dir . '/' . $obj)) {
            extrawatch_sureRemoveDir($dir . '/' . $obj, TRUE);
        }
    }
    if ($DeleteMe) {
        closedir($dh);
        @rmdir($dir);
    }
}
 static function extrawatch_sureRemoveDir($dir, $DeleteMe)
 {
     if (!ExtraWatchInput::validate(_EW_INPUT_DIR, $dir)) {
         die("not allowed");
     }
     if (!($dh = @opendir($dir))) {
         return;
     }
     ///
     while (FALSE !== ($obj = readdir($dh))) {
         if ($obj == '.' || $obj == '..') {
             continue;
         }
         if (!@unlink($dir . '/' . $obj)) {
             extrawatch_sureRemoveDir($dir . '/' . $obj, TRUE);
         }
     }
     if ($DeleteMe) {
         closedir($dh);
         @rmdir($dir);
     }
 }