protected function getFilePaths($sClassDirPath, array $aSearchOptions)
{
$sClassDirPath = rtrim($sClassDirPath, '\\/') . DIRECTORY_SEPARATOR;
$_aAllowedExtensions = $aSearchOptions['allowed_extensions'];
$_aExcludeDirPaths = (array) $aSearchOptions['exclude_dir_paths'];
$_aExcludeDirNames = (array) $aSearchOptions['exclude_dir_names'];
$_bIsRecursive = $aSearchOptions['is_recursive'];
if (defined('GLOB_BRACE')) {
$_aFilePaths = $_bIsRecursive ? $this->doRecursiveGlob($sClassDirPath . '*.' . $this->_getGlobPatternExtensionPart($_aAllowedExtensions), GLOB_BRACE, $_aExcludeDirPaths, $_aExcludeDirNames) : (array) glob($sClassDirPath . '*.' . $this->_getGlobPatternExtensionPart($_aAllowedExtensions), GLOB_BRACE);
return array_filter($_aFilePaths);
}
$_aFilePaths = array();
foreach ($_aAllowedExtensions as $__sAllowedExtension) {
$__aFilePaths = $_bIsRecursive ? $this->doRecursiveGlob($sClassDirPath . '*.' . $__sAllowedExtension, 0, $_aExcludeDirPaths, $_aExcludeDirNames) : (array) glob($sClassDirPath . '*.' . $__sAllowedExtension);
$_aFilePaths = array_merge($__aFilePaths, $_aFilePaths);
}
return array_unique(array_filter($_aFilePaths));
}