summaryrefslogtreecommitdiffstats
path: root/vendor/ipl/sql/src/Adapter/Mysql.php
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:38:04 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:38:04 +0000
commit1ff5c35de5dbd70a782875a91dd2232fd01b002b (patch)
tree77d9ce5e1bf78b3e6ef79f8f6e7861e2ced3c09b /vendor/ipl/sql/src/Adapter/Mysql.php
parentInitial commit. (diff)
downloadicinga-php-library-upstream/0.10.1.tar.xz
icinga-php-library-upstream/0.10.1.zip
Adding upstream version 0.10.1.upstream/0.10.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/ipl/sql/src/Adapter/Mysql.php')
-rw-r--r--vendor/ipl/sql/src/Adapter/Mysql.php57
1 files changed, 57 insertions, 0 deletions
diff --git a/vendor/ipl/sql/src/Adapter/Mysql.php b/vendor/ipl/sql/src/Adapter/Mysql.php
new file mode 100644
index 0000000..b9a18c5
--- /dev/null
+++ b/vendor/ipl/sql/src/Adapter/Mysql.php
@@ -0,0 +1,57 @@
+<?php
+
+namespace ipl\Sql\Adapter;
+
+use ipl\Sql\Config;
+use ipl\Sql\Connection;
+use PDO;
+
+class Mysql extends BaseAdapter
+{
+ protected $quoteCharacter = ['`', '`'];
+
+ protected $escapeCharacter = '``';
+
+ public function setClientTimezone(Connection $db)
+ {
+ $db->exec('SET time_zone = ' . $db->quote($this->getTimezoneOffset()));
+
+ return $this;
+ }
+
+ public function getOptions(Config $config)
+ {
+ $options = parent::getOptions($config);
+
+ if (! empty($config->use_ssl)) {
+ if (! empty($config->ssl_key)) {
+ $options[PDO::MYSQL_ATTR_SSL_KEY] = $config->ssl_key;
+ }
+
+ if (! empty($config->ssl_cert)) {
+ $options[PDO::MYSQL_ATTR_SSL_CERT] = $config->ssl_cert;
+ }
+
+ if (! empty($config->ssl_ca)) {
+ $options[PDO::MYSQL_ATTR_SSL_CA] = $config->ssl_ca;
+ }
+
+ if (! empty($config->ssl_capath)) {
+ $options[PDO::MYSQL_ATTR_SSL_CAPATH] = $config->ssl_capath;
+ }
+
+ if (! empty($config->ssl_cipher)) {
+ $options[PDO::MYSQL_ATTR_SSL_CIPHER] = $config->ssl_cipher;
+ }
+
+ if (
+ defined('PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT')
+ && ! empty($config->ssl_do_not_verify_server_cert)
+ ) {
+ $options[PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = false;
+ }
+ }
+
+ return $options;
+ }
+}