$curr_dir = $dirs[$curr_dir_pos]['dir'];
    $spawfm->setCurrentDirData($dirs[$curr_dir_pos]);
}
// process subdirectories if selected and allowed
if ($spawfm->getCurrentDirSetting('recursive') and !empty($curr_dir_subdir)) {
    // filter subdir variable for validity
    $arr = explode('/', $curr_dir_subdir);
    $str = '';
    foreach ($arr as $val) {
        if (!empty($val) and $val != '..') {
            $str .= $val . '/';
        }
    }
    $curr_dir_subdir = $str;
    // add subdirectories to list if exist and parent dir matched
    if ($spawfm->getCurrentFsDir() and file_exists($spawfm->getCurrentFsDir() . $curr_dir_subdir)) {
        $dirs_new = array();
        foreach ($dirs as $pos => $dir) {
            $dirs_new[] = $dir;
            if ($pos == $curr_dir_pos and preg_match_all('|([^/]*)/|', $curr_dir_subdir, $subdirs)) {
                // insert all subdirectories
                $subdir_path = '';
                foreach ($subdirs[1] as $cnt => $subdir) {
                    $subdir_path .= $subdir . '/';
                    $subdir_data = $dir;
                    $subdir_data['dir'] = $subdir_data['dir'] . $subdir_path;
                    $subdir_data['caption'] = str_repeat(' ', ($cnt + 1) * 2) . $subdir;
                    $subdir_data['value'] = $spawfm->getCurrentDir() . $config->getConfigValue('spawfm_path_separator') . $subdir_path;
                    $dirs_new[] = $subdir_data;
                }
            }
Пример #2
0
    $curr_dir = $dirs[$curr_dir_pos]['dir'];
    $spawfm->setCurrentDirData($dirs[$curr_dir_pos]);
}
// process subdirectories if selected and allowed
if ($spawfm->getCurrentDirSetting('recursive') and !empty($curr_dir_subdir)) {
    // filter subdir variable for validity
    $arr = explode('/', $curr_dir_subdir);
    $str = '';
    foreach ($arr as $val) {
        if (!empty($val) and $val != '..') {
            $str .= $val . '/';
        }
    }
    $curr_dir_subdir = $str;
    // add subdirectories to list if exist and parent dir matched
    if ($spawfm->getCurrentFsDir() and file_exists($spawfm->getCurrentFsDir() . $curr_dir_subdir)) {
        $dirs_new = array();
        foreach ($dirs as $pos => $dir) {
            $dirs_new[] = $dir;
            if ($pos == $curr_dir_pos and preg_match_all('|([^/]*)/|', $curr_dir_subdir, $subdirs)) {
                // insert all subdirectories
                $subdir_path = '';
                foreach ($subdirs[1] as $cnt => $subdir) {
                    $subdir_path .= $subdir . '/';
                    $subdir_data = $dir;
                    $subdir_data['dir'] = $subdir_data['dir'] . $subdir_path;
                    $subdir_data['caption'] = str_repeat(' ', ($cnt + 1) * 2) . $subdir;
                    $subdir_data['value'] = $spawfm->getCurrentDir() . $config->getConfigValue('spawfm_path_separator') . $subdir_path;
                    $dirs_new[] = $subdir_data;
                }
            }