module_list
- Versions
- 4.6
module_list($refresh = FALSE, $bootstrap = TRUE)- 4.7
module_list($refresh = FALSE, $bootstrap = TRUE, $sort = FALSE)- 5 – 6
module_list($refresh = FALSE, $bootstrap = TRUE, $sort = FALSE, $fixed_list = NULL)- 7
module_list($refresh = FALSE, $bootstrap = FALSE, $sort = FALSE, $fixed_list = NULL)
Collect a list of all loaded modules. During the bootstrap, return only vital modules. See bootstrap.inc
Parameters
$refresh Whether to force the module list to be regenerated (such as after the administrator has changed the system settings).
$bootstrap Whether to return the reduced set of modules loaded in "bootstrap mode" for cached pages. See bootstrap.inc.
$sort By default, modules are ordered by weight and filename, settings this option to TRUE, module list will be ordered by module name.
Return value
An associative array whose keys and values are the names of all loaded modules.
Code
includes/module.inc, line 43
<?php
function module_list($refresh = FALSE, $bootstrap = TRUE, $sort = FALSE) {
static $list, $sorted_list;
if ($refresh) {
$list = array();
$sorted_list = NULL;
}
if (!$list) {
$list = array('filter' => 'filter', 'node' => 'node', 'system' => 'system', 'user' => 'user', 'watchdog' => 'watchdog');
if ($bootstrap) {
$result = db_query("SELECT name, filename, throttle, bootstrap FROM {system} WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight ASC, filename ASC");
}
else {
$result = db_query("SELECT name, filename, throttle, bootstrap FROM {system} WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC");
}
while ($module = db_fetch_object($result)) {
if (file_exists($module->filename)) {
// Determine the current throttle status and see if the module should be
// loaded based on server load. We have to directly access the throttle
// variables, since throttle.module may not be loaded yet.
$throttle = ($module->throttle && variable_get('throttle_level', 0) > 0);
if (!$throttle) {
drupal_get_filename('module', $module->name, $module->filename);
$list[$module->name] = $module->name;
}
}
}
}
if ($sort) {
if (!isset($sorted_list)) {
$sorted_list = $list;
ksort($sorted_list);
}
return $sorted_list;
}
return $list;
}
?>Login or register to post comments 