From 07cdaafc715bf55126959f93bd79b51b3cadddce Mon Sep 17 00:00:00 2001
From: fantu <fantu@ispconfig3>
Date: Sun, 30 Nov 2008 16:38:29 -0500
Subject: [PATCH] 

---
 install/lib/mysql.lib.php |   42 ++++++++++++++++++++++++------------------
 1 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/install/lib/mysql.lib.php b/install/lib/mysql.lib.php
index 28faa6b..ec3e741 100644
--- a/install/lib/mysql.lib.php
+++ b/install/lib/mysql.lib.php
@@ -29,18 +29,19 @@
 
 	class db
 	{
-		var $dbHost = "";		// hostname of the MySQL server
-		var $dbName = "";		// logical database name on that server
-		var $dbUser = "";		// database authorized user
-		var $dbPass = "";		// user's password
-		var $linkId = 0;		// last result of mysql_connect()
-		var $queryId = 0;		// last result of mysql_query()
-		var $record	= array();	// last record fetched
-        var $autoCommit = 1;    // Autocommit Transactions
-		var $currentRow;		// current row number
-		var $errorNumber = 0;	// last error number
-		var $errorMessage = "";	// last error message
-		var $errorLocation = "";// last error location
+		var $dbHost = "";		  // hostname of the MySQL server
+		var $dbName = "";		  // logical database name on that server
+		var $dbUser = "";		  // database authorized user
+		var $dbPass = "";		  // user's password
+		var $dbCharset = "";      // what charset comes and goes to mysql: utf8 / latin1
+		var $linkId = 0;		  // last result of mysql_connect()
+		var $queryId = 0;		  // last result of mysql_query()
+		var $record	= array();	  // last record fetched
+        var $autoCommit = 1;      // Autocommit Transactions
+		var $currentRow;		  // current row number
+		var $errorNumber = 0;	  // last error number
+		var $errorMessage = "";	  // last error message
+		var $errorLocation = "";  // last error location
 		var $show_error_messages = false;
 
 		// constructor
@@ -52,6 +53,7 @@
 			//$this->dbName = $conf["mysql"]["database"];
 			$this->dbUser = $conf["mysql"]["admin_user"];
 			$this->dbPass = $conf["mysql"]["admin_password"];
+			$this->dbCharset = $conf["mysql"]["charset"];
 			//$this->connect();
 		}
 
@@ -79,6 +81,7 @@
 					$this->updateError('DB::connect()<br />mysql_connect');
 					return false;
 				}
+    			$this->queryId = @mysql_query('SET NAMES '.$this->dbCharset, $this->linkId);
 			}
 			return true;
 		}
@@ -171,7 +174,7 @@
 		// Check der variablen
         function quote($formfield)
         {
-            return addslashes($formfield);
+            return mysql_real_escape_string($formfield);
         }
 		
 		// Check der variablen
@@ -349,18 +352,21 @@
        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;
-            $result = mysql_list_tables($database_name);
+			if($database_name == ''){
+                $database_name = $this->dbName;
+            }
+            $result = mysql_query("SHOW TABLES FROM `$database_name`");
+            $tb_names = array();
             for ($i = 0; $i < mysql_num_rows($result); $i++) {
                 $tb_names[$i] = mysql_tablename($result, $i);
             }
             return $tb_names;       
        }
        
-       // gibt Feldinformationen zur Tabelle zur�ck
+       // gibt Feldinformationen zur Tabelle zur�ck
        /*
        $columns = array(action =>   add | alter | drop
                         name =>     Spaltenname
@@ -482,7 +488,7 @@
             return 'char';
        break;
        case 'varchar':
-            if($typeValue < 1) die("Datenbank Fehler: F�r diesen Datentyp ist eine L�ngenangabe notwendig.");
+            if($typeValue < 1) die("Datenbank Fehler: F�r diesen Datentyp ist eine L�ngenangabe notwendig.");
             return 'varchar('.$typeValue.')';
        break;
        case 'text':

--
Gitblit v1.9.1