tbrehm
2012-04-12 471560c60fb17b1abe7561fda41f01e129fc7ff1
Extended datalogUpdate and datalogInsert function in mysql library so that insert_data and update_data arguments can be passed as array too.
1 files modified
26 ■■■■■ changed files
interface/lib/classes/db_mysql.inc.php 26 ●●●●● patch | view | raw | blame | history
interface/lib/classes/db_mysql.inc.php
@@ -298,8 +298,20 @@
    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 @@
        } 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);