All pastes #900680 Raw Edit

Miscellany

public text v1 · immutable
·published 2008-02-12 02:24 UTC
rendered paste body
function baw_parse_dir($dir) {
    global $BAW_CONF;
    if (!file_exists($dir)) {
        // echo baw_raise_error('datafilesdir', array($dir));
        return array();
    }
    // add trailing slash if not exists
    if (substr($dir, -1) != '/') {
        $dir .= '/';
    }
    // baw_debug('dbg_start_parse_dir', $dir);
    $files = array();
    if ($dh = @opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if (!preg_match('/^\./s', $file)) {
                if (is_dir($dir.$file)) {
                    $newdir = $dir.$file.'/';
                    chdir($newdir);
                    $files = array_merge($files, baw_parse_dir($newdir));
                    chdir('./..');
                    // baw_debug('dbg_found_dir', $dir);
                } else {
                    $files[] = $dir.$file;
                    // baw_debug('dbg_found_file', $file);
                }
            }
        }
    }
    // baw_debug('dbg_finished_parse_dir', $dir);
    return $files;
}