From 6f67c78cf8668e570c5ef7fd4430e3d0e4a66aef Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sat, 22 Nov 2008 07:49:58 -0500
Subject: [PATCH] Replaced php code for app version in main template with a template variable.

---
 interface/lib/classes/db_mysql.inc.php |   65 ++++++++++++++++++++++++++------
 1 files changed, 53 insertions(+), 12 deletions(-)

diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index 54b210c..ec9a1f3 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -4,7 +4,7 @@
  * 
  * @author Till Brehm
  * @copyright  2005, Till Brehm, projektfarm Gmbh
- * @version 0.1
+ * @version 0.2
  * @package ISPConfig
  */
 /*
@@ -160,10 +160,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 +187,8 @@
 	    return $out;
 	}
        
-       
+    // deprecated
+	/*
     public function insert($tablename, $form, $debug = 0)
     {
         if(is_array($form)){
@@ -200,7 +205,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 +220,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 +238,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 +250,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 +265,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 +282,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 +306,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 +339,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 +366,8 @@
     *                  option =>   unique | primary | index)
     * </code>   
     */
+	
+	
     public function createTable($table_name, $columns)
     {
         $index = '';

--
Gitblit v1.9.1