. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\ORM\PDO; use Espo\ORM\DatabaseParams; use PDO; class Options { /** * @return array */ public static function getOptionsFromDatabaseParams(DatabaseParams $databaseParams): array { $options = []; if ($databaseParams->getSslCa()) { $options[PDO::MYSQL_ATTR_SSL_CA] = $databaseParams->getSslCa(); } if ($databaseParams->getSslCert()) { $options[PDO::MYSQL_ATTR_SSL_CERT] = $databaseParams->getSslCert(); } if ($databaseParams->getSslKey()) { $options[PDO::MYSQL_ATTR_SSL_KEY] = $databaseParams->getSslKey(); } if ($databaseParams->getSslCaPath()) { $options[PDO::MYSQL_ATTR_SSL_CAPATH] = $databaseParams->getSslCaPath(); } if ($databaseParams->getSslCipher()) { $options[PDO::MYSQL_ATTR_SSL_CIPHER] = $databaseParams->getSslCipher(); } if ($databaseParams->isSslVerifyDisabled()) { $options[PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = false; } return $options; } }