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.

$fixed_list (Optional) Override the module list with the given modules. Stays until the next call with $refresh = TRUE.

Return value

An associative array whose keys and values are the names of all loaded modules.

▾ 25 functions call module_list()

bootstrap_invoke_all in includes/bootstrap.inc
Call all init or exit hooks without including all modules.
drupal_load_updates in includes/install.inc
Initialize the update system by loading all installed module's .install files.
filter_list_all in modules/filter/filter.module
Build a list of all filters.
install_main in ./install.php
The Drupal installation happens in a series of steps. We begin by verifying that the current environment meets our minimum requirements. We then go on to verify that settings.php is properly configured. From there we connect to the configured database...
menu_get_active_help in includes/menu.inc
Returns the help associated with the active menu item.
module_disable in includes/module.inc
Disable a given set of modules.
module_enable in includes/module.inc
Enable a given list of modules.
module_exists in includes/module.inc
Determine whether a given module exists.
module_implements in includes/module.inc
Determine which modules are implementing a hook.
module_iterate in includes/module.inc
Call a function repeatedly with each module in turn as an argument.
module_load_all in includes/module.inc
Load all the modules that have been enabled in the system table.
search_admin_settings in modules/search/search.module
Menu callback; displays the search module settings page.
search_cron in modules/search/search.module
Implementation of hook_cron().
search_menu in modules/search/search.module
Implementation of hook_menu().
system_modules_submit in modules/system/system.module
Submit callback; handles modules form submission.
system_requirements in modules/system/system.install
Test and report Drupal installation requirements.
update_script_selection_form in ./update.php
user_admin_perm in modules/user/user.module
Menu callback: administer permissions.
user_filters in modules/user/user.module
List user administration filters that can be applied.
user_help in modules/user/user.module
Implementation of hook_help().
user_module_invoke in modules/user/user.module
Invokes hook_user() in every module.
user_view in modules/user/user.module
_block_rehash in modules/block/block.module
Update the 'blocks' DB table with the blocks currently exported by modules.
_user_categories in modules/user/user.module
Retrieve a list of all user setting/information categories and sort them by weight.
_user_forms in modules/user/user.module
Retrieve a list of all form elements for the specified category.

Code

includes/module.inc, line 46

<?php
function module_list($refresh = FALSE, $bootstrap = TRUE, $sort = FALSE, $fixed_list = NULL) {
  static $list, $sorted_list;

  if ($refresh || $fixed_list) {
    unset($sorted_list);
    $list = array();
    if ($fixed_list) {
      foreach ($fixed_list as $name => $module) {
        drupal_get_filename('module', $name, $module['filename']);
        $list[$name] = $name;
      }
    }
    else {
      if ($bootstrap) {
        $result = db_query("SELECT name, filename, throttle 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 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
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.