-
Notifications
You must be signed in to change notification settings - Fork 80
/
Copy pathdb_connect.php
30 lines (28 loc) · 1.86 KB
/
db_connect.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
require_once("../../../../config/db.inc.php");
require_once("../../../../config/tools/".$branch."/".$module_id."/db.inc.php");
global $config;
if (isset($custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_host']) && isset($custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_user']) && isset($custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_name']) ) {
$config->db_host = $custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_host'];
$config->db_port = $custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_port'];
$config->db_user = $custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_user'];
$config->db_pass = $custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_pass'];
$config->db_name = $custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_name'];
if (isset($config->db_port) && is_int((int)$config->db_port) && 1 < $config->db_port && $config->db_port < 65535)
$config->db_host = $config->db_host.";port=".$config->db_port;
}
$options = array();
if (isset($custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_cert']))
$options[PDO::MYSQL_ATTR_SSL_CA] = $custom_config[$module_id][$_SESSION[$module_id]['submenu_item_id']]['db_cert'];
else if ($config->db_cert) {
$options[PDO::MYSQL_ATTR_SSL_CA] = $config->db_cert;
}
$dsn = $config->db_driver . ':host=' . $config->db_host . ';dbname='. $config->db_name;
try {
$link = new PDO($dsn, $config->db_user, $config->db_pass, $options);
} catch (PDOException $e) {
error_log(print_r("Failed to connect to: ".$dsn, true));
print "Error!: " . $e->getMessage() . "<br/>";
die;
}
?>