' . "\n"; foreach($connectors as $connector) { // Unsupported driver types if (in_array(strtoupper($connector), array('PDO', 'SQLITE'))) { continue; } $checked = (strtoupper($selected) == strtoupper($connector)) ? 'selected="selected"' : ''; $html .= "\t\n"; } $html .= ""; return $html; } /** * Get a dropdown list for script types * * @param string $selected Selected value * @param string $name The name (also used for id) of the field, default: installer * * @return string HTML */ public static function restorationScriptSelect($selected = '', $name = 'installer') { $installers = Factory::getEngineParamsProvider()->getInstallerList(true); $options = array(); foreach($installers as $key => $installer) { $options[] = Select::option($key, $installer['name']); } return Select::genericList($options, $name, array('class' => 'form-control'), 'value', 'text', $selected, $name, false); } /** * Get a dropdown list for restoration scripts * * @param string $selected Selected value * @param string $name The name (also used for id) of the field, default: scripttype * * @return string HTML */ public static function scriptTypesSelect($selected = '', $name = 'scripttype') { $scriptTypes = array('generic', 'wordpress', 'joomla', 'phpbb', 'prestashop', 'moodle', 'magento'); $options = array(); foreach($scriptTypes as $scriptType) { $options[] = Select::option($scriptType, Text::_('SOLO_CONFIG_PLATFORM_SCRIPTTYPE_' . $scriptType)); } return Select::genericList($options, $name, array('class' => 'form-control'), 'value', 'text', $selected, $name, false); } /** * Get a dropdown list for mailer engines * * @param string $selected Selected value * @param string $name The name (also used for id) of the field, default: mailer * * @return string HTML */ public static function mailerSelect($selected = '', $name = 'mailer') { $scriptTypes = array('mail', 'smtp', 'sendmail'); $options = array(); foreach($scriptTypes as $scriptType) { $options[] = Select::option($scriptType, Text::_('SOLO_SYSCONFIG_EMAIL_MAILER_' . $scriptType)); } return Select::genericList($options, $name, array('class' => 'form-control'), 'value', 'text', $selected, $name, false); } /** * Get a dropdown list for SMTP security settings * * @param string $selected Selected value * @param string $name The name (also used for id) of the field, default: smtpsecure * * @return string HTML */ public static function smtpSecureSelect($selected = '', $name = 'smtpsecure') { $options = array(); $options[] = Select::option(0, Text::_('SOLO_SYSCONFIG_EMAIL_SMTPSECURE_NONE')); $options[] = Select::option(1, Text::_('SOLO_SYSCONFIG_EMAIL_SMTPSECURE_SSL')); $options[] = Select::option(2, Text::_('SOLO_SYSCONFIG_EMAIL_SMTPSECURE_TLS')); return Select::genericList($options, $name, array('class' => 'form-control'), 'value', 'text', $selected, $name, false); } /** * Get a dropdown of available timezones * * @param string $selected Pre-selected value * * @return string HTML */ public static function timezoneSelect($selected = '') { $timeZones = \DateTimeZone::listIdentifiers(); $html = '"; return $html; } /** * Get a dropdown for the filesystem driver selection * * @param string $selected The pre-selected value * * @return string HTML */ public static function fsDriverSelect($selected = '', $showDirect = true) { $drivers = array(); if ($showDirect) { $drivers[] = 'file'; } if (function_exists('ftp_connect')) { $drivers[] = 'ftp'; } if (extension_loaded('ssh2')) { $drivers[] = 'sftp'; } $html = '"; return $html; } /** * Get a dropdown for the minimum update stability * * @param string $selected The pre-selected value * * @return string HTML */ public static function minstabilitySelect($selected = '') { $levels = array('alpha', 'beta', 'rc', 'stable'); $html = '"; return $html; } /** * Get a dropdown for the two factor authentication methods * * @param string $name The name of the field * @param string $selected The pre-selected value * * @return string HTML */ public static function tfaMethods($name = 'tfamethod', $selected = 'none') { $methods = array('none', 'yubikey', 'google'); $html = '"; return $html; } }