1.20.x install.inc backdrop_get_database_list()

File

includes/install.inc, line 265
API functions for installing modules and themes.

Code

function backdrop_get_database_list() {
  static $info_files = array();
  static $drivers = array();

  require_once BACKDROP_ROOT . '/core/includes/database/database.inc';

  $config = conf_path();

  $searchdir = array(
    'core/drivers',
    'drivers',
    $config . '/drivers',
  );

  if (empty($info_files)) {
    $info_files = backdrop_scan_directories("/\.info$/", $searchdir);
  }

  foreach ($info_files as $driver_name => $driver_info) {
    $info = backdrop_parse_info_file(BACKDROP_ROOT . '/' . $driver_info->uri);
    $module_path = dirname($driver_info->uri);
    if (array_key_exists('database_backend', $info) && array_key_exists('database_driver', $info)) {
      $driver = $info['database_driver'];
      foreach ($info['database_backend'] as $class => $filename) {
        $drivers[$driver][$class] = BACKDROP_ROOT . '/' . $module_path . '/' . $filename;
      }
    }
  }

  return $drivers;
}