if (!headers_sent()) { header($_SERVER['SERVER_PROTOCOL'] . " 500 Server Error"); header('Content-Type: text/plain'); } echo "Failed to include composer's autoloader, unable to continue\n"; exit(1); } $envFileExists = defined('SS_ENVIRONMENT_FILE'); $usingEnv = $envFileExists && !empty($_REQUEST['useEnv']); require_once __DIR__ . '/DatabaseConfigurationHelper.php'; require_once __DIR__ . '/DatabaseAdapterRegistry.php'; // Set default locale, but try and sniff from the user agent $defaultLocale = 'en_US'; $locales = array('af_ZA' => 'Afrikaans (South Africa)', 'ar_EG' => 'Arabic (Egypt)', 'hy_AM' => 'Armenian (Armenia)', 'ast_ES' => 'Asturian (Spain)', 'az_AZ' => 'Azerbaijani (Azerbaijan)', 'bs_BA' => 'Bosnian (Bosnia and Herzegovina)', 'bg_BG' => 'Bulgarian (Bulgaria)', 'ca_ES' => 'Catalan (Spain)', 'zh_CN' => 'Chinese (China)', 'zh_TW' => 'Chinese (Taiwan)', 'hr_HR' => 'Croatian (Croatia)', 'cs_CZ' => 'Czech (Czech Republic)', 'da_DK' => 'Danish (Denmark)', 'nl_NL' => 'Dutch (Netherlands)', 'en_GB' => 'English (United Kingdom)', 'en_US' => 'English (United States)', 'eo_XX' => 'Esperanto', 'et_EE' => 'Estonian (Estonia)', 'fo_FO' => 'Faroese (Faroe Islands)', 'fi_FI' => 'Finnish (Finland)', 'fr_FR' => 'French (France)', 'de_DE' => 'German (Germany)', 'el_GR' => 'Greek (Greece)', 'he_IL' => 'Hebrew (Israel)', 'hu_HU' => 'Hungarian (Hungary)', 'is_IS' => 'Icelandic (Iceland)', 'id_ID' => 'Indonesian (Indonesia)', 'it_IT' => 'Italian (Italy)', 'ja_JP' => 'Japanese (Japan)', 'km_KH' => 'Khmer (Cambodia)', 'lc_XX' => 'LOLCAT', 'lv_LV' => 'Latvian (Latvia)', 'lt_LT' => 'Lithuanian (Lithuania)', 'ms_MY' => 'Malay (Malaysia)', 'mi_NZ' => 'Maori (New Zealand)', 'ne_NP' => 'Nepali (Nepal)', 'nb_NO' => 'Norwegian', 'fa_IR' => 'Persian (Iran)', 'pl_PL' => 'Polish (Poland)', 'pt_BR' => 'Portuguese (Brazil)', 'pa_IN' => 'Punjabi (India)', 'ro_RO' => 'Romanian (Romania)', 'ru_RU' => 'Russian (Russia)', 'sr_RS' => 'Serbian (Serbia)', 'si_LK' => 'Sinhalese (Sri Lanka)', 'sk_SK' => 'Slovak (Slovakia)', 'sl_SI' => 'Slovenian (Slovenia)', 'es_AR' => 'Spanish (Argentina)', 'es_MX' => 'Spanish (Mexico)', 'es_ES' => 'Spanish (Spain)', 'sv_SE' => 'Swedish (Sweden)', 'th_TH' => 'Thai (Thailand)', 'tr_TR' => 'Turkish (Turkey)', 'uk_UA' => 'Ukrainian (Ukraine)', 'uz_UZ' => 'Uzbek (Uzbekistan)', 'vi_VN' => 'Vietnamese (Vietnam)'); // Discover which databases are available DatabaseAdapterRegistry::autodiscover(); // Determine which external database modules are USABLE $databaseClasses = DatabaseAdapterRegistry::get_adapters(); foreach ($databaseClasses as $class => $details) { $helper = DatabaseAdapterRegistry::getDatabaseConfigurationHelper($class); $databaseClasses[$class]['hasModule'] = !empty($helper); } // Load database config if (isset($_REQUEST['db'])) { if (isset($_REQUEST['db']['type'])) { $type = $_REQUEST['db']['type']; } else { $type = $_REQUEST['db']['type'] = defined('SS_DATABASE_CLASS') ? SS_DATABASE_CLASS : 'MySQLDatabase'; } // Disabled inputs don't submit anything - we need to use the environment (except the database name) if ($usingEnv) {