Back to DatabaseconnectionField class

Method getOptions

protected array
getOptions
()
Method to get the list of database options.
Returns
  • array The field option objects.
Since
  • 1.7.3
-
  • \Joomla\Database\DatabaseDriver::getConnectors()

Method getOptions - Source code

/**
 * Method to get the list of database options.
 *
 * This method produces a drop down list of available databases supported
 * by DatabaseDriver classes that are also supported by the application.
 *
 * @return  array  The field option objects.
 *
 * @since   1.7.3
 * @see     DatabaseDriver::getConnectors()
 */
protected function getOptions()
{
    // This gets the connectors available in the platform and supported by the server.
    $available = array_map('strtolower', DatabaseDriver::getConnectors());
    /**
     * This gets the list of database types supported by the application.
     * This should be entered in the form definition as a comma separated list.
     * If no supported databases are listed, it is assumed all available databases
     * are supported.
     */
    $supported = $this->element['supported'];
    if (!empty($supported)) {
        $supported = explode(',', $supported);
        foreach ($supported as $support) {
            if (\in_array($support, $available)) {
                $options[$support] = Text::_(ucfirst($support));
            }
        }
    } else {
        foreach ($available as $support) {
            $options[$support] = Text::_(ucfirst($support));
        }
    }
    // This will come into play if an application is installed that requires
    // a database that is not available on the server.
    if (empty($options)) {
        $options[''] = Text::_('JNONE');
    }
    return $options;
}