class xautoload_DirScanner in X Autoload 7
Same name and namespace in other branches
- 6 xautoload.module \xautoload_DirScanner
Searches a directory for files that follow the xautoload naming scheme. Actually, this only works in D6 (yet), but we keep this file around for easier porting between the D6 and the D7 version of xautoload.
Hierarchy
- class \xautoload_DirScanner
Expanded class hierarchy of xautoload_DirScanner
File
- lib/
DirScanner.php, line 12
View source
class xautoload_DirScanner {
protected $locations;
function __construct(array &$locations) {
$this->locations =& $locations;
}
function scan($dir, $prefix) {
foreach (scandir($dir) as $candidate) {
if ($candidate == '.' || $candidate == '..') {
continue;
}
$path = $dir . '/' . $candidate;
// TODO: Strict checking for valid identifier strings
if (preg_match('#^(.+)\\.inc$#', $candidate, $m)) {
if (is_file($path)) {
$name = $prefix . '_' . $m[1];
$this->locations[$name] = $path;
}
}
elseif (preg_match('#^(.+)$#', $candidate, $m)) {
if (is_dir($path)) {
$this
->scan($path, $prefix . '_' . $candidate);
}
}
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
xautoload_DirScanner:: |
protected | property | ||
xautoload_DirScanner:: |
function | |||
xautoload_DirScanner:: |
function |