From 9994de85fcf14a98dcc54cc7399b87e34d9b3c29 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 17 Mar 2009 09:23:07 -0400
Subject: [PATCH] Updated all language files.
---
interface/lib/classes/db_mysql.inc.php | 104 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 70 insertions(+), 34 deletions(-)
diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index 54b210c..ed35b41 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -1,14 +1,7 @@
<?php
-/**
- * mySQL Database class
- *
- * @author Till Brehm
- * @copyright 2005, Till Brehm, projektfarm Gmbh
- * @version 0.1
- * @package ISPConfig
- */
+
/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -35,20 +28,20 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-class db
-{
- private $dbHost = ''; // hostname of the MySQL server
- private $dbName = ''; // logical database name on that server
- private $dbUser = ''; // database authorized user
- private $dbPass = ''; // user's password
- private $linkId = 0; // last result of mysql_connect()
- private $queryId = 0; // last result of mysql_query()
- private $record = array(); // last record fetched
- private $autoCommit = 1; // Autocommit Transactions
- private $currentRow; // current row number
- private $errorNumber = 0; // last error number
- public $errorMessage = ''; // last error message
- private $errorLocation = '';// last error location
+class db {
+ private $dbHost = ''; // hostname of the MySQL server
+ private $dbName = ''; // logical database name on that server
+ private $dbUser = ''; // database authorized user
+ private $dbPass = ''; // user's password
+ private $dbCharset = ""; // what charset comes and goes to mysql: utf8 / latin1
+ private $linkId = 0; // last result of mysql_connect()
+ private $queryId = 0; // last result of mysql_query()
+ private $record = array(); // last record fetched
+ private $autoCommit = 1; // Autocommit Transactions
+ private $currentRow; // current row number
+ private $errorNumber = 0; // last error number
+ public $errorMessage = ''; // last error message
+ private $errorLocation = ''; // last error location
public $show_error_messages = false;
public function __construct()
@@ -58,6 +51,7 @@
$this->dbName = $conf['db_database'];
$this->dbUser = $conf['db_user'];
$this->dbPass = $conf['db_password'];
+ $this->dbCharset = $conf['db_charset'];
//$this->connect();
}
@@ -81,6 +75,7 @@
$this->updateError('DB::connect()<br />mysql_connect');
return false;
}
+ $this->queryId = @mysql_query('SET NAMES '.$this->dbCharset, $this->linkId);
}
return true;
}
@@ -160,10 +155,14 @@
return $this->quote($formfield);
}
- /** Escapes quotes in variable. addslashes() */
+ /** Escapes quotes in variable. mysql_real_escape_string() */
public function quote($formfield)
- {
- return addslashes($formfield);
+ {
+ if(!$this->connect()){
+ $this->updateError('WARNING: mysql_connect: Used addslashes instead of mysql_real_escape_string');
+ return addslashes($formfield);
+ }
+ return mysql_real_escape_string($formfield, $this->linkId);
}
/** Unquotes a variable, strip_slashes() */
@@ -183,7 +182,8 @@
return $out;
}
-
+ // deprecated
+ /*
public function insert($tablename, $form, $debug = 0)
{
if(is_array($form)){
@@ -200,7 +200,8 @@
if($debug == 1){ echo 'mySQL Error Message: '.$this->errorMessage; }
}
}
-
+
+ // Deprecated
public function update($tablename, $form, $bedingung, $debug = 0)
{
if(is_array($form)){
@@ -214,6 +215,7 @@
if($debug == 1){ echo 'mySQL Error Message: '.$this->errorMessage; }
}
}
+ */
//** Function to fill the datalog with a full differential record.
public function datalogSave($db_table, $action, $primary_field, $primary_id, $record_old, $record_new) {
@@ -231,7 +233,7 @@
if(is_array($record_old) && count($record_old) > 0) {
foreach($record_old as $key => $val) {
- if(isset($record_new[$key]) && $record_new[$key] != $val) {
+ if(!isset($record_new[$key]) || $record_new[$key] != $val) {
// Record has changed
$diffrec_full['old'][$key] = $val;
$diffrec_full['new'][$key] = $record_new[$key];
@@ -243,10 +245,10 @@
}
} elseif(is_array($record_new)) {
foreach($record_new as $key => $val) {
- if(isset($record_new[$key]) && $record_old[$key] != $val) {
+ if(isset($record_new[$key]) && @$record_old[$key] != $val) {
// Record has changed
$diffrec_full['new'][$key] = $val;
- $diffrec_full['old'][$key] = $record_old[$key];
+ $diffrec_full['old'][$key] = @$record_old[$key];
$diff_num++;
} else {
$diffrec_full['new'][$key] = $val;
@@ -258,6 +260,7 @@
// Insert the server_id, if the record has a server_id
$server_id = (isset($record_old["server_id"]) && $record_old["server_id"] > 0)?$record_old["server_id"]:0;
if(isset($record_new["server_id"])) $server_id = $record_new["server_id"];
+
if($diff_num > 0) {
$diffstr = $app->db->quote(serialize($diffrec_full));
@@ -274,7 +277,20 @@
return true;
}
- //** Updates a record and saves the cahnges into the datalog
+ //** Inserts a record and saves the changes into the datalog
+ public function datalogInsert($tablename, $insert_data, $index_field) {
+ global $app;
+
+ $old_rec = array();
+ $this->query("INSERT INTO $tablename $insert_data");
+ $index_value = $this->insertID();
+ $new_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'");
+ $this->datalogSave($tablename, 'INSERT', $index_field, $index_value, $old_rec, $new_rec);
+
+ return $index_value;
+ }
+
+ //** Updates a record and saves the changes into the datalog
public function datalogUpdate($tablename, $update_data, $index_field, $index_value) {
global $app;
@@ -285,6 +301,20 @@
return true;
}
+
+ //** Deletes a record and saves the changes into the datalog
+ public function datalogDelete($tablename, $index_field, $index_value) {
+ global $app;
+
+ $old_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'");
+ $this->query("DELETE FROM $tablename WHERE $index_field = '$index_value'");
+ $new_rec = array();
+ $this->datalogSave($tablename, 'DELETE', $index_field, $index_value, $old_rec, $new_rec);
+
+ return true;
+ }
+
+
public function closeConn()
{
@@ -304,15 +334,19 @@
return false;
}
}
-
+
+ /*
public function delete()
{
}
-
+ */
+
+ /*
public function Transaction($action)
{
//action = begin, commit oder rollback
}
+ */
/** Creates a database table with the following format for the $columns array
* <code>
@@ -327,6 +361,8 @@
* option => unique | primary | index)
* </code>
*/
+
+
public function createTable($table_name, $columns)
{
$index = '';
--
Gitblit v1.9.1