function system_listing in Drupal 4
Returns an array of files objects of the given type from both the site-wide directory (i.e. modules/) and site-specific directory (i.e. sites/somesite/modules/). The returned array will be keyed using the key specified (name, basename, filename). Using name or basename will cause site-specific files to shadow files in the default directories. That is, if a file with the same name appears in both location, only the site-specific version will be included.
Parameters
$mask: The regular expression of the files to find.
$directory: The subdirectory name in which the files are found. For example, 'modules' will search in both modules/ and sites/somesite/modules/.
$key: The key to be passed to file_scan_directory().
$min_depth: Minimum depth of directories to return files from.
Return value
An array of file objects of the specified type.
3 calls to system_listing()
- phptemplate_templates in themes/
engines/ phptemplate/ phptemplate.engine - system_modules in modules/
system.module - Menu callback; displays a listing of all modules.
- system_theme_data in modules/
system.module - Collect data about all currently available themes
File
- modules/
system.module, line 700 - Configuration system that lets administrators modify the workings of the site.
Code
function system_listing($mask, $directory, $key = 'name', $min_depth = 1) {
$config = conf_path();
$searchdir = array(
$directory,
);
$files = array();
if (file_exists("{$config}/{$directory}")) {
$searchdir[] = "{$config}/{$directory}";
}
// Get current list of items
foreach ($searchdir as $dir) {
$files = array_merge($files, file_scan_directory($dir, $mask, array(
'.',
'..',
'CVS',
), 0, TRUE, $key, $min_depth));
}
return $files;
}