From 471560c60fb17b1abe7561fda41f01e129fc7ff1 Mon Sep 17 00:00:00 2001 From: tbrehm Date: Thu, 12 Apr 2012 15:48:57 +0000 Subject: [PATCH] Extended datalogUpdate and datalogInsert function in mysql library so that insert_data and update_data arguments can be passed as array too. --- interface/lib/classes/db_mysql.inc.php | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php index b249c95ed..ae120c984 100644 --- a/interface/lib/classes/db_mysql.inc.php +++ b/interface/lib/classes/db_mysql.inc.php @@ -298,8 +298,20 @@ class db { public function datalogInsert($tablename, $insert_data, $index_field) { global $app; + if(is_array($insert_data)) { + $key_str = ''; + $val_str = ''; + foreach($insert_data as $key => $val) { + $key_str .= "`".$key ."`,"; + $val_str .= "'".$this->quote($val)."',"; + } + $insert_data_str = '('.$key_str.') VALUES ('.$val_str.')'; + } else { + $insert_data_str = $insert_data; + } + $old_rec = array(); - $this->query("INSERT INTO $tablename $insert_data"); + $this->query("INSERT INTO $tablename $insert_data_str"); $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); @@ -316,7 +328,17 @@ class db { } else { $old_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'"); } - $this->query("UPDATE $tablename SET $update_data WHERE $index_field = '$index_value'"); + + if(is_array($update_data)) { + $update_data_str = ''; + foreach($update_data as $key => $val) { + $update_data_str .= "`".$key ."` = '".$this->quote($val)."',"; + } + } else { + $update_data_str = $update_data; + } + + $this->query("UPDATE $tablename SET $update_data_str WHERE $index_field = '$index_value'"); $new_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'"); $this->datalogSave($tablename, 'UPDATE', $index_field, $index_value, $old_rec, $new_rec); -- GitLab