1.20.x install.inc backdrop_get_database_types()

File

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

Code

function backdrop_get_database_types() {
  static $databases = array();

  if (empty($databases)) {
    $database_drivers = backdrop_get_database_list();
    foreach ($database_drivers as $driver_name => $classes) {
      foreach ($classes as $class_name => $file) {
        if (strpos($class_name, 'DatabaseTasks_') === FALSE) {
          continue;
        }
        require_once $file;
        $installer = new $class_name;
        if ($installer->installable()) {
          $databases[$driver_name] = $installer;
        }
      }
    }

    // Usability: unconditionally put the MySQL driver on top.
    if (isset($databases['mysql'])) {
      $mysql_database = $databases['mysql'];
      unset($databases['mysql']);
      $databases = array('mysql' => $mysql_database) + $databases;
    }
  }

  return $databases;
}