/** * Return available templates * * @todo check if it is a valid template directory * @return array */ public static function listTemplate() { $res = array(); $list = USVN_DirectoryUtils::listDirectory(USVN_Template::$locale_directory); foreach ($list as $filename) { if (USVN_Template::isValidTemplateDirectory(USVN_Template::$locale_directory . '/' . $filename)) { $res[] = $filename; } } return $res; }
public function test_listDirectory() { @mkdir('tests/tmp/dir'); @mkdir('tests/tmp/dir/1'); @mkdir('tests/tmp/dir/2'); @mkdir('tests/tmp/dir/3'); $list = USVN_DirectoryUtils::listDirectory('tests/tmp/dir/'); $this->assertTrue(in_array('1', $list)); $this->assertTrue(in_array('2', $list)); $this->assertTrue(in_array('3', $list)); $this->assertFalse(in_array('..', $list)); $this->assertFalse(in_array('.svn', $list)); USVN_DirectoryUtils::removeDirectory('tests/tmp/dir'); }
/** * Look after SVN repositories to import into USVN * * @param string $path * @param array $options array(recursive => true|false) * @todo allow to set n level of recursion in options * @throws USVN_Exception * @return array */ public static function lookAfterSVNRepositoriesToImport($path, $options = array()) { $results = array(); if (USVN_ImportSVNRepositories::canBeImported($path, $options)) { return array($path); } $folders = USVN_DirectoryUtils::listDirectory($path); foreach ($folders as $folder) { $current_path = $path . DIRECTORY_SEPARATOR . $folder; if (USVN_ImportSVNRepositories::canBeImported($current_path, $options)) { $results[] = $current_path; } else { if (isset($options['recursive']) && $options['recursive'] == true) { $results = array_merge($results, USVN_ImportSVNRepositories::lookAfterSVNRepositoriesToImport($current_path, $options)); } } } return $results; }