From b31bb1f27f066a2d49f5ab9ee0ca15e985efc788 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 26 Sep 2011 06:50:23 -0400
Subject: [PATCH] Fixed: FS#1619 - Add apache SNI / SAN support for SSL.

---
 server/lib/classes/db_mysql.inc.php |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php
index c2a5a35..3060bab 100644
--- a/server/lib/classes/db_mysql.inc.php
+++ b/server/lib/classes/db_mysql.inc.php
@@ -33,6 +33,9 @@
 		var $dbName = '';		// logical database name on that server
 		var $dbUser = '';		// database authorized user
 		var $dbPass = '';		// user's password
+		var $dbCharset = 'utf8';// Database charset
+		var $dbNewLink = false; // Return a new linkID when connect is called again
+		var $dbClientFlags = 0; // MySQL Client falgs
 		var $linkId = 0;		// last result of mysql_connect()
 		var $queryId = 0;		// last result of mysql_query()
 		var $record	= array();	// last record fetched
@@ -44,8 +47,7 @@
 		var $show_error_messages = true;
 
 		// constructor
-		function db()
-		{
+		public function __construct() {
 			
 			global $conf;
 			$this->dbHost = $conf['db_host'];
@@ -53,15 +55,21 @@
 			$this->dbUser = $conf['db_user'];
 			$this->dbPass = $conf['db_password'];
 			$this->dbCharset = $conf['db_charset'];
+			$this->dbNewLink = $conf['db_new_link'];
+			$this->dbClientFlags = $conf['db_client_flags'];
 			//$this->connect();
+		}
+		
+		public function __destruct() {
+			$this->closeConn();
 		}
 
 		// error handler
 		function updateError($location)
 		{
 			global $app;
-			$this->errorNumber = mysql_errno($this->linkId);
-			$this->errorMessage = mysql_error($this->linkId);
+			$this->errorNumber = @mysql_errno($this->linkId);
+			$this->errorMessage = @mysql_error($this->linkId);
 			$this->errorLocation = $location;
 			if($this->errorNumber && $this->show_error_messages && method_exists($app,'log'))
 			{
@@ -75,7 +83,7 @@
 		{
 			if($this->linkId == 0)
 			{
-				$this->linkId = mysql_connect($this->dbHost, $this->dbUser, $this->dbPass);
+				$this->linkId = @mysql_connect($this->dbHost, $this->dbUser, $this->dbPass, $this->dbNewLink, $this->dbClientFlags);
 				if(!$this->linkId)
 				{
 					$this->updateError('DB::connect()-> mysql_connect');
@@ -462,7 +470,7 @@
        return $this->query($sql);
        }
        
-       // gibt Array mit Tabellennamen zur�ck
+       // gibt Array mit Tabellennamen zur�ck
        function getTables($database_name = '') {
 	   	
 			if($database_name == '') $database_name = $this->dbName;
@@ -473,7 +481,7 @@
             return $tb_names;       
        }
        
-       // gibt Feldinformationen zur Tabelle zur�ck
+       // gibt Feldinformationen zur Tabelle zur�ck
        /*
        $columns = array(action =>   add | alter | drop
                         name =>     Spaltenname

--
Gitblit v1.9.1