| | |
| | | <?php |
| | | |
| | | /* |
| | | /** |
| | | +-----------------------------------------------------------------------+ |
| | | | program/include/rcube_db_mysql.php | |
| | | | | |
| | |
| | | * |
| | | * This is a wrapper for the PHP PDO |
| | | * |
| | | * @package Database |
| | | * @version 1.0 |
| | | * @package Database |
| | | * @version 1.0 |
| | | */ |
| | | class rcube_db_mysql extends rcube_db |
| | | { |
| | |
| | | |
| | | /** |
| | | * Returns PDO DSN string from DSN array |
| | | * |
| | | * @param array $dsn DSN parameters |
| | | * |
| | | * @return string Connection string |
| | | */ |
| | | protected function dsn_string($dsn) |
| | | { |
| | |
| | | return $result; |
| | | } |
| | | |
| | | /** |
| | | * Returns driver-specific connection options |
| | | * |
| | | * @param array $dsn DSN parameters |
| | | * |
| | | * @return array Connection options |
| | | */ |
| | | protected function dsn_options($dsn) |
| | | { |
| | | $result = array(); |
| | | |
| | | if (!empty($dsn['key'])) { |
| | | $result[PDO::MYSQL_ATTR_KEY] = $dsn['key']; |
| | | } |
| | | |
| | | if (!empty($dsn['cipher'])) { |
| | | $result[PDO::MYSQL_ATTR_CIPHER] = $dsn['cipher']; |
| | | } |
| | | |
| | | if (!empty($dsn['cert'])) { |
| | | $result[PDO::MYSQL_ATTR_SSL_CERT] = $dsn['cert']; |
| | | } |
| | | |
| | | if (!empty($dsn['capath'])) { |
| | | $result[PDO::MYSQL_ATTR_SSL_CAPATH] = $dsn['capath']; |
| | | } |
| | | |
| | | if (!empty($dsn['ca'])) { |
| | | $result[PDO::MYSQL_ATTR_SSL_CA] = $dsn['ca']; |
| | | } |
| | | |
| | | return $result; |
| | | } |
| | | |
| | | /** |
| | | * Get database runtime variables |
| | | * |
| | | * @param string $varname Variable name |
| | | * @param mixed $default Default value if variable is not set |
| | | * |
| | | * @return mixed Variable value or default |
| | | */ |
| | | public function get_variable($varname, $default = null) |
| | | { |
| | | if (!isset($this->variables)) { |
| | | $this->variables = array(); |
| | | |
| | | $result = $this->query('SHOW VARIABLES'); |
| | | |
| | | while ($sql_arr = $this->fetch_array($result)) { |
| | | $this->variables[$row[0]] = $row[1]; |
| | | } |
| | | } |
| | | |
| | | return isset($this->variables[$varname]) ? $this->variables[$varname] : $default; |
| | | } |
| | | |
| | | } |