if (is_string($dirdef)) { // simple dir definition $dir = $caption = $dirdef; $dir = SpawFm::normalizeDir($dir); $fsdir = $doc_root . $dir; $params = $settings; } elseif (is_array($dirdef) and isset($dirdef['dir'])) { // advanced dir definition $dir = $dirdef['dir']; $caption = !empty($dirdef['caption']) ? $dirdef['caption'] : $dir; $params = !empty($dirdef['params']) ? array_merge($settings, $dirdef['params']) : $settings; $dir = SpawFm::normalizeDir($dir); if (empty($dirdef['fsdir'])) { $fsdir = $doc_root . $dir; } else { $fsdir = SpawFm::normalizeDir($dirdef['fsdir'], false, true); } } else { $dir = false; } if ($dir and file_exists($fsdir)) { $dir_data = array('dir' => $dir, 'fsdir' => $fsdir, 'caption' => $caption, 'params' => $params); $dirs[] = $dir_data; // set default dir if needed if (!$curr_dir and !empty($params['default_dir'])) { $curr_dir = $dir; } // track filetypes allowed if (is_array($params['allowed_filetypes'])) { $all_types = array_merge($all_types, $params['allowed_filetypes']); } else {