Add fix for DB Array IO json error_check type field storage on empty save

This commit is contained in:
Clemens Schwaighofer
2019-08-27 16:01:29 +09:00
parent c5d624a318
commit 54b7af348b

View File

@@ -334,7 +334,7 @@ class ArrayIO extends \CoreLibs\DB\IO
$q_vars = ''; $q_vars = '';
$q_where = ''; $q_where = '';
foreach ($this->table_array as $column => $data_array) { foreach ($this->table_array as $column => $data_array) {
/********************************* START FILE *************************************/ /********************************* START FILE *************************************/
// file upload // file upload
if ($this->table_array[$column]['file']) { if ($this->table_array[$column]['file']) {
// falls was im tmp drinnen, sprich ein upload, datei kopieren, Dateinamen in db schreiben // falls was im tmp drinnen, sprich ein upload, datei kopieren, Dateinamen in db schreiben
@@ -381,7 +381,7 @@ class ArrayIO extends \CoreLibs\DB\IO
} }
} // delete or upload } // delete or upload
} // file IF } // file IF
/********************************* END FILE **************************************/ /********************************* END FILE **************************************/
// do not write 'pk' (primary key) or 'view' values // do not write 'pk' (primary key) or 'view' values
if (!$this->table_array[$column]['pk'] && $this->table_array[$column]['type'] != 'view' && strlen($column) > 0) { if (!$this->table_array[$column]['pk'] && $this->table_array[$column]['type'] != 'view' && strlen($column) > 0) {
@@ -425,15 +425,21 @@ class ArrayIO extends \CoreLibs\DB\IO
} }
$q_data .= $_value; $q_data .= $_value;
} else { } else {
// normal string // if the error check is json, we set field to null if NOT set
$q_data .= "'"; // else normal string write
// if add slashes do convert & add slashes else write AS is if ($this->table_array[$column]['error_check'] == 'json' && !$this->table_array[$column]['value']) {
if ($addslashes) { $q_data .= 'NULL';
$q_data .= $this->dbEscapeString($this->convertEntities($this->table_array[$column]['value']));
} else { } else {
$q_data .= $this->dbEscapeString($this->table_array[$column]['value']); // normal string
$q_data .= "'";
// if add slashes do convert & add slashes else write AS is
if ($addslashes) {
$q_data .= $this->dbEscapeString($this->convertEntities($this->table_array[$column]['value']));
} else {
$q_data .= $this->dbEscapeString($this->table_array[$column]['value']);
}
$q_data .= "'";
} }
$q_data .= "'";
} }
} }
} // while ... } // while ...