: %s'),
- $this->table_array[$key]['output_name'],
+ $this->dba->getTableArray()[$key]['output_name'],
json_last_error_msg()
);
}
@@ -1438,48 +1437,49 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
(
// for all 'normal' fields
(
- $this->table_array[$key]['type'] != 'password' &&
- $this->table_array[$key]['type'] != 'drop_down_db_input' &&
- !$this->table_array[$key]['value']
+ $this->dba->getTableArray()[$key]['type'] != 'password' &&
+ $this->dba->getTableArray()[$key]['type'] != 'drop_down_db_input' &&
+ !$this->dba->getTableArray()[$key]['value']
) ||
// for drop_down_db_input check if one of both fields filled
(
- $this->table_array[$key]['type'] == 'drop_down_db_input' &&
- !$this->table_array[$key]['input_value'] &&
- !$this->table_array[$key]['value']
+ $this->dba->getTableArray()[$key]['type'] == 'drop_down_db_input' &&
+ !$this->dba->getTableArray()[$key]['input_value'] &&
+ !$this->dba->getTableArray()[$key]['value']
) ||
// for password
(
- $this->table_array[$key]['type'] == 'password' &&
- !$this->table_array[$key]['value'] &&
- !$this->table_array[$key]['HIDDEN_value']
+ $this->dba->getTableArray()[$key]['type'] == 'password' &&
+ !$this->dba->getTableArray()[$key]['value'] &&
+ !$this->dba->getTableArray()[$key]['HIDDEN_value']
)
)
// main if end
) {
// if mandatory && no input
- // $this->log->debug('form', 'A: ' . $this->table_array[$key]['type'] . ' -- '
- // . $this->table_array[$key]['input_value'] . ' -- ' . $this->table_array[$key]['value']);
+ // $this->log->debug('form', 'A: ' . $this->dba->getTableArray()[$key]['type'] . ' -- '
+ // . $this->dba->getTableArray()[$key]['input_value'] . ' -- '
+ // . $this->dba->getTableArray()[$key]['value']);
if (
- empty($this->table_array[$key]['value']) &&
- $this->table_array[$key]['type'] != 'binary'
+ empty($this->dba->getTableArray()[$key]['value']) &&
+ $this->dba->getTableArray()[$key]['type'] != 'binary'
) {
$this->msg .= sprintf(
$this->l->__('Please enter something into the %s field!
'),
- $this->table_array[$key]['output_name']
+ $this->dba->getTableArray()[$key]['output_name']
);
}
} // mandatory
// check file upload
if (
- isset($this->table_array[$key]['type']) &&
- $this->table_array[$key]['type'] == 'file' &&
+ isset($this->dba->getTableArray()[$key]['type']) &&
+ $this->dba->getTableArray()[$key]['type'] == 'file' &&
$GLOBALS['_FILES'][$key . '_file']['name'] &&
- is_array($this->table_array[$key]['accept_type'])
+ is_array($this->dba->getTableArray()[$key]['accept_type'])
) {
// check against allowed types
$mime_okay = 0;
- foreach ($this->table_array[$key]['accept_type'] as $mime_type) {
+ foreach ($this->dba->getTableArray()[$key]['accept_type'] as $mime_type) {
if ($GLOBALS['_FILES'][$key . '_file']['type'] == $mime_type) {
$mime_okay = 1;
}
@@ -1490,7 +1490,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
. 'theallowed MIME List for Upload Field %s!
'),
$GLOBALS['_FILES'][$key . '_file']['name'],
$GLOBALS['_FILES'][$key . '_file']['type'],
- $this->table_array[$key]['output_name']
+ $this->dba->getTableArray()[$key]['output_name']
);
}
}
@@ -1505,8 +1505,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
continue;
}
if (
- isset($this->reference_array[$key]['mandatory']) &&
- $this->reference_array[$key]['mandatory'] &&
+ !empty($this->reference_array[$key]['mandatory']) &&
!$this->reference_array[$key]['selected'][0]
) {
$this->msg .= sprintf(
@@ -1516,7 +1515,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
}
}
// $this->log->debug('edit_error', 'QS: ' . print_r($_POST, true) . '
');
- if (is_array($this->element_list)) {
+ if (!empty($this->element_list)) {
// check the mandatory stuff
// if mandatory, check that at least on pk exists or
// if at least the mandatory field is filled
@@ -1572,8 +1571,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
// either one of the post pks is set, or the mandatory
foreach ($reference_array['elements'] as $el_name => $data_array) {
if (
- isset($data_array['mandatory']) &&
- $data_array['mandatory']
+ !empty($data_array['mandatory'])
) {
$mand_name = $data_array['output_name'];
}
@@ -1710,35 +1708,35 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
// get order name
$order_name = $this->formGetColNameFromKey('order');
if (empty($order_name)) {
- return $this->table_array;
+ return $this->dba->getTableArray();
}
// first check out of order ...
- if (empty($this->table_array[$order_name]['value'])) {
+ if (empty($this->dba->getTableArray()[$order_name]['value'])) {
// set order (read max)
$q = 'SELECT MAX(' . $order_name . ') + 1 AS max_page_order '
- . 'FROM ' . $this->table_name;
+ . 'FROM ' . $this->dba->getTableName();
if (
- is_array($res = $this->dbReturnRow($q)) &&
+ is_array($res = $this->dba->dbReturnRow($q)) &&
!empty($res['max_page_order'])
) {
- $this->table_array[$order_name]['value'] = $res['max_page_order'];
+ $this->dba->setTableArrayEntry($res['max_page_order'], $order_name, 'value');
}
// frist element is 0 because NULL gets returned, set to 1
- if (!$this->table_array[$order_name]['value']) {
- $this->table_array[$order_name]['value'] = 1;
+ if (!$this->dba->getTableArray()[$order_name]['value']) {
+ $this->dba->setTableArrayEntry(1, $order_name, 'value');
}
- } elseif (!empty($this->table_array[$this->int_pk_name]['value'])) {
+ } elseif (!empty($this->dba->getTableArray()[$this->int_pk_name]['value'])) {
$q = 'SELECT ' . $order_name . ' AS order_name '
- . 'FROM ' . $this->table_name . ' '
- . 'WHERE ' . $this->int_pk_name . ' = ' . $this->table_array[$this->int_pk_name]['value'];
+ . 'FROM ' . $this->dba->getTableName() . ' '
+ . 'WHERE ' . $this->int_pk_name . ' = ' . $this->dba->getTableArray()[$this->int_pk_name]['value'];
if (
- is_array($res = $this->dbReturnRow($q)) &&
+ is_array($res = $this->dba->dbReturnRow($q)) &&
!empty($res['order_name'])
) {
- $this->table_array[$order_name]['value'] = $res['order_name'];
+ $this->dba->setTableArrayEntry($res['order_name'], $order_name, 'value');
}
}
- return $this->table_array;
+ return $this->dba->getTableArray();
}
/**
@@ -1748,17 +1746,13 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
*/
public function formUnsetTableArray(): void
{
- $this->pk_id = null;
- if (!is_array($this->table_array)) {
- $this->table_array = [];
- }
- reset($this->table_array);
- foreach ($this->table_array as $key => $value) {
- unset($this->table_array[$key]['value']);
- unset($this->table_array[$key]['input_value']);
+ $this->dba->setPkId(null);
+ foreach ($this->dba->getTableArray() as $key => $value) {
+ $this->dba->unsetTableArrayEntry($key, 'value');
+ $this->dba->unsetTableArrayEntry($key, 'input_value');
// if preset var present preset
- if (isset($this->table_array[$key]['preset'])) {
- $this->table_array[$key]['value'] = $this->table_array[$key]['preset'];
+ if (isset($this->dba->getTableArray()[$key]['preset'])) {
+ $this->dba->setTableArrayEntry($this->dba->getTableArray()[$key]['preset'], $key, 'value');
}
}
if (is_array($this->reference_array)) {
@@ -1783,17 +1777,12 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
public function formLoadTableArray(?string $pk_id = null): void
{
if ($pk_id) {
- $this->pk_id = $pk_id;
+ $this->dba->setPkId($pk_id);
}
- $this->table_array = $this->dbRead(true);
+ $this->dba->setTableArray($this->dba->dbRead(true));
- // reset all temp fields
- if (!is_array($this->table_array)) {
- $this->table_array = [];
- }
- reset($this->table_array);
- foreach ($this->table_array as $key => $value) {
- unset($this->table_array[$key]['input_value']);
+ foreach ($this->dba->getTableArray() as $key => $value) {
+ $this->dba->unsetTableArrayEntry($key, 'input_value');
}
if (is_array($this->reference_array)) {
@@ -1806,8 +1795,8 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
unset($this->reference_array[$key]['selected']);
$q = 'SELECT ' . $this->reference_array[$key]['other_table_pk']
. ' FROM ' . $this->reference_array[$key]['table_name']
- . ' WHERE ' . $this->int_pk_name . ' = ' . $this->table_array[$this->int_pk_name]['value'];
- while (is_array($res = $this->dbReturn($q))) {
+ . ' WHERE ' . $this->int_pk_name . ' = ' . $this->dba->getTableArray()[$this->int_pk_name]['value'];
+ while (is_array($res = $this->dba->dbReturn($q))) {
$this->reference_array[$key]['selected'][] = $res[$this->reference_array[$key]['other_table_pk']];
}
}
@@ -1828,84 +1817,88 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
{
// for drop_down_db_input check if text field is filled and if, if not yet in db ...
// and upload files
- if (!is_array($this->table_array)) {
- $this->table_array = [];
- }
- reset($this->table_array);
- foreach ($this->table_array as $key => $value) {
+
+ foreach ($this->dba->getTableArray() as $key => $value) {
// drop_down_db with input + reference table
- // $this->log->debug('form', 'A: ' . $this->table_array[$key]['type']
- // . ' --- ' . $this->table_array[$key]['input_value']);
+ // $this->log->debug('form', 'A: ' . $this->dba->getTableArray()[$key]['type']
+ // . ' --- ' . $this->dba->getTableArray()[$key]['input_value']);
if (
- isset($this->table_array[$key]['type']) &&
- $this->table_array[$key]['type'] == 'drop_down_db_input' &&
- $this->table_array[$key]['input_value']
+ isset($this->dba->getTableArray()[$key]['type']) &&
+ $this->dba->getTableArray()[$key]['type'] == 'drop_down_db_input' &&
+ $this->dba->getTableArray()[$key]['input_value']
) {
// $this->log->debug('form', 'HERE');
// check if this text name already exists (lowercase compare)
- $q = 'SELECT ' . $this->table_array[$key]['pk_name'] . ' AS pk_name '
- . ' FROM ' . $this->table_array[$key]['table_name']
- . ' WHERE LCASE(' . $this->table_array[$key]['input_name'] . ') = '
- . "'" . $this->dbEscapeString(strtolower($this->table_array[$key]['input_value'])) . "'";
+ $q = 'SELECT ' . $this->dba->getTableArray()[$key]['pk_name'] . ' AS pk_name '
+ . ' FROM ' . $this->dba->getTableArray()[$key]['table_name']
+ . ' WHERE LCASE(' . $this->dba->getTableArray()[$key]['input_name'] . ') = '
+ . "'" . $this->dba->dbEscapeString(
+ strtolower($this->dba->getTableArray()[$key]['input_value'])
+ ) . "'";
// if a where was given, add here
- if ($this->table_array[$key]['where']) {
- $q .= ' AND ' . $this->table_array[$key]['where'];
+ if ($this->dba->getTableArray()[$key]['where']) {
+ $q .= ' AND ' . $this->dba->getTableArray()[$key]['where'];
}
if (
- is_array($s_res = $this->dbReturnRow($q)) &&
+ is_array($s_res = $this->dba->dbReturnRow($q)) &&
!empty($s_res['pk_name'])
) {
- // $this->table_array[$key]['value'] = $pk_name_temp;
- $this->table_array[$key]['value'] = $s_res['pk_name'];
+ $this->dba->setTableArrayEntry($s_res['pk_name'], $key, 'value');
} else {
// if a where was given, set this key also [dangerous!]
// postgreSQL compatible insert
- $q = 'INSERT INTO ' . $this->table_array[$key]['table_name']
- . ' (' . $this->table_array[$key]['input_name'] . ') VALUES ('
- . "'" . $this->dbEscapeString($this->table_array[$key]['input_value']) . "')";
- $this->dbExec($q);
- if (!empty($this->table_array[$key]['where']) && is_numeric($this->dbGetInsertPK())) {
+ $q = 'INSERT INTO ' . $this->dba->getTableArray()[$key]['table_name']
+ . ' (' . $this->dba->getTableArray()[$key]['input_name'] . ') VALUES ('
+ . "'" . $this->dba->dbEscapeString($this->dba->getTableArray()[$key]['input_value']) . "')";
+ $this->dba->dbExec($q);
+ if (!empty($this->dba->getTableArray()[$key]['where']) && is_numeric($this->dba->dbGetInsertPK())) {
// make an update on the just inseted data with the where data als update values
- $q = 'UPDATE ' . $this->table_array[$key]['table_name'] . ' SET ';
- $q .= $this->table_array[$key]['where'] . ' ';
- $q .= 'WHERE ' . $this->table_array[$key]['pk_name'] . ' = ' . $this->dbGetInsertPK();
- $this->dbExec($q);
+ $q = 'UPDATE ' . $this->dba->getTableArray()[$key]['table_name'] . ' SET ';
+ $q .= $this->dba->getTableArray()[$key]['where'] . ' ';
+ $q .= 'WHERE ' . $this->dba->getTableArray()[$key]['pk_name']
+ . ' = ' . $this->dba->dbGetInsertPK();
+ $this->dba->dbExec($q);
}
- $this->table_array[$key]['value'] = $this->dbGetInsertPK();
+ $this->dba->setTableArrayEntry($this->dba->dbGetInsertPK(), $key, 'value');
} // set value from DB through select or insert
- unset($this->table_array[$key]['input_value']);
+ $this->dba->unsetTableArrayEntry($key, 'input_value');
} // if it is certain field type && if there is something in the temp field
// drop_down_db with input and in same table
if (
- isset($this->table_array[$key]['type']) &&
- $this->table_array[$key]['type'] == 'drop_down_db_input_same_db' &&
- $this->table_array[$key]['input_value']
+ isset($this->dba->getTableArray()[$key]['type']) &&
+ $this->dba->getTableArray()[$key]['type'] == 'drop_down_db_input_same_db' &&
+ $this->dba->getTableArray()[$key]['input_value']
) {
// if drop down & input are different
- if ($this->table_array[$key]['input_value'] != $this->table_array[$key]['value']) {
+ if ($this->dba->getTableArray()[$key]['input_value'] != $this->dba->getTableArray()[$key]['value']) {
// check if 'right input' is in DB
- $q = 'SELECT ' . $this->table_array[$key]['input_name'] . ' AS temp '
- . ' FROM ' . $this->table_array[$key]['table_name']
- . ' WHERE LCASE(' . $this->table_array[$key]['input_name'] . ') = '
- . "'" . strtolower($this->dbEscapeString($this->table_array[$key]['input_value'])) . "'";
+ $q = 'SELECT ' . $this->dba->getTableArray()[$key]['input_name'] . ' AS temp '
+ . ' FROM ' . $this->dba->getTableArray()[$key]['table_name']
+ . ' WHERE LCASE(' . $this->dba->getTableArray()[$key]['input_name'] . ') = '
+ . "'" . strtolower($this->dba->dbEscapeString(
+ $this->dba->getTableArray()[$key]['input_value']
+ )) . "'";
// if a where was given, add here
- if ($this->table_array[$key]['where']) {
- $q .= ' AND ' . $this->table_array[$key]['where'];
+ if ($this->dba->getTableArray()[$key]['where']) {
+ $q .= ' AND ' . $this->dba->getTableArray()[$key]['where'];
}
if (
- is_array($s_res = $this->dbReturnRow($q)) &&
+ is_array($s_res = $this->dba->dbReturnRow($q)) &&
empty($s_res['temp'])
) {
- $this->table_array[$key]['value'] = $this->table_array[$key]['input_value'];
+ $this->dba->setTableArrayEntry($this->dba->getTableArray()[$key]['input_value'], $key, 'value');
} else {
// found in DB
- $this->table_array[$key]['input_value'] = $this->table_array[$key]['value'];
+ $this->dba->setTableArrayEntry($this->dba->getTableArray()[$key]['value'], $key, 'input_value');
}
} // key difference ?
} // for same_db drop down
// upload & save files to locations
- if (isset($this->table_array[$key]['type']) && $this->table_array[$key]['type'] == 'file') {
+ if (
+ isset($this->dba->getTableArray()[$key]['type']) &&
+ $this->dba->getTableArray()[$key]['type'] == 'file'
+ ) {
// if smth in $$key_file -> save or overwrite
// if smth in $key && $$key_delete && !$$key_file-> delte
// if smth in $key, keep as is
@@ -1915,20 +1908,25 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
// $this->log->debug('form', 'delete: ' . $key . '_delete => ' . $GLOBALS[$key . '_delete']);
if ($GLOBALS['_FILES'][$key . '_file']['name']) {
// check if dir exists
- if (is_dir($this->table_array[$key]['save_dir'])) {
+ if (is_dir($this->dba->getTableArray()[$key]['save_dir'])) {
//if a slash at the end (if not add slash)
- if (!preg_match("|/$|", $this->table_array[$key]['save_dir'])) {
- $this->table_array[$key]['save_dir'] .= '/';
+ if (!preg_match("|/$|", $this->dba->getTableArray()[$key]['save_dir'])) {
+ $this->dba->getTableArray()[$key]['save_dir'] .= '/';
}
if (
move_uploaded_file(
$GLOBALS['_FILES'][$key . '_file']['tmp_name'],
- $this->table_array[$key]['save_dir'] . $GLOBALS['_FILES'][$key . '_file']['name']
+ $this->dba->getTableArray()[$key]['save_dir']
+ . $GLOBALS['_FILES'][$key . '_file']['name']
)
) {
// make it unique with a unique number at the beginning
- $this->table_array[$key]['value'] = uniqid((string)rand(), true)
- . '_' . $GLOBALS['_FILES'][$key . '_file']['name'];
+ $this->dba->setTableArrayEntry(
+ uniqid((string)rand(), true)
+ . '_' . $GLOBALS['_FILES'][$key . '_file']['name'],
+ $key,
+ 'value'
+ );
} else {
$this->msg .= $this->l->__('File could not be copied to target directory! '
. 'Perhaps wrong directory permissions . ');
@@ -1937,40 +1935,47 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
} else {
$this->msg .= sprintf(
$this->l->__('Target Directory \'%s\' is not a vaild directory!'),
- $this->table_array[$key]['save_dir']
+ $this->dba->getTableArray()[$key]['save_dir']
);
$this->error = 1;
} // could not dir check (dir wrong??)
}
if (
!empty($GLOBALS[$key . '_delete']) &&
- $this->table_array[$key]['value'] && !$GLOBALS['_FILES'][$key . '_file']['name']
+ $this->dba->getTableArray()[$key]['value'] && !$GLOBALS['_FILES'][$key . '_file']['name']
) {
- unlink($this->table_array[$key]['save_dir'] . $this->table_array[$key]['value']);
- unset($this->table_array[$key]['value']);
+ unlink($this->dba->getTableArray()[$key]['save_dir'] . $this->dba->getTableArray()[$key]['value']);
+ $this->dba->unsetTableArrayEntry($key, 'value');
}
}
// for password crypt it as blowfish, or if not available MD5
- if (isset($this->table_array[$key]['type']) && $this->table_array[$key]['type'] == 'password') {
- if ($this->table_array[$key]['value']) {
+ if (
+ isset($this->dba->getTableArray()[$key]['type']) &&
+ $this->dba->getTableArray()[$key]['type'] == 'password'
+ ) {
+ if ($this->dba->getTableArray()[$key]['value']) {
// use the better new passwordSet instead of crypt based
- $this->table_array[$key]['value'] =
- \CoreLibs\Security\Password::passwordSet($this->table_array[$key]['value']);
- $this->table_array[$key]['HIDDEN_value'] = $this->table_array[$key]['value'];
+ $this->dba->getTableArray()[$key]['value'] =
+ \CoreLibs\Security\Password::passwordSet($this->dba->getTableArray()[$key]['value']);
+ $this->dba->setTableArrayEntry(
+ $this->dba->getTableArray()[$key]['value'],
+ $key,
+ 'HIDDEN_value'
+ );
} else {
- // $this->table_array[$key]['HIDDEN_value'] =
+ // $this->dba->getTableArray()[$key]['HIDDEN_value'] =
}
}
} // go through each field
// set object order (if necessary)
$this->formSetOrder();
- // $this->log->debug('PK NAME SET', "PK NAME: " . $this->pk_name . "/" . $this->int_pk_name . ": "
- // . $this->table_array[$this->pk_name]['value'] . "/"
- // . $this->table_array[$this->int_pk_name]['value']);
+ // $this->log->debug('PK NAME SET', "PK NAME: " . $this->dba->getPkName() . "/" . $this->int_pk_name . ": "
+ // . $this->dba->getTableArray()[$this->dba->getPkName()]['value'] . "/"
+ // . $this->dba->getTableArray()[$this->int_pk_name]['value']);
// write the object
- $this->dbWrite($addslashes, [], true);
+ $this->dba->dbWrite($addslashes, [], true);
// write reference array (s) if necessary
if (is_array($this->reference_array)) {
if (!is_array($this->reference_array)) {
@@ -1979,19 +1984,19 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
reset($this->reference_array);
foreach ($this->reference_array as $reference_array) {
$q = 'DELETE FROM ' . $reference_array['table_name']
- . ' WHERE ' . $this->int_pk_name . ' = ' . $this->table_array[$this->int_pk_name]['value'];
- $this->dbExec($q);
+ . ' WHERE ' . $this->int_pk_name . ' = ' . $this->dba->getTableArray()[$this->int_pk_name]['value'];
+ $this->dba->dbExec($q);
$q = 'INSERT INTO ' . $reference_array['table_name']
. ' (' . $reference_array['other_table_pk'] . ', ' . $this->int_pk_name . ') VALUES ';
for ($i = 0, $i_max = count($reference_array['selected']); $i < $i_max; $i++) {
$t_q = '(' . $reference_array['selected'][$i] . ', '
- . $this->table_array[$this->int_pk_name]['value'] . ')';
- $this->dbExec($q . $t_q);
+ . $this->dba->getTableArray()[$this->int_pk_name]['value'] . ')';
+ $this->dba->dbExec($q . $t_q);
}
} // foreach reference arrays
} // if reference arrays
// write element list
- if (is_array($this->element_list)) {
+ if (!empty($this->element_list)) {
$type = [];
reset($this->element_list);
foreach ($this->element_list as $table_name => $reference_array) {
@@ -2169,8 +2174,8 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
$q_values[$i] .= $_value;
} else {
// normal data gets escaped
- $q_data[$i] .= $el_name . ' = ' . "'" . $this->dbEscapeString($_value) . "'";
- $q_values[$i] .= "'" . $this->dbEscapeString($_value) . "'";
+ $q_data[$i] .= $el_name . ' = ' . "'" . $this->dba->dbEscapeString($_value) . "'";
+ $q_values[$i] .= "'" . $this->dba->dbEscapeString($_value) . "'";
}
}
}
@@ -2198,14 +2203,14 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
. $this->int_pk_name
. ($q_middle[$i] ?? '')
. ($q_values[$i] ?? '') . ', '
- . $this->table_array[$this->int_pk_name]['value']
+ . $this->dba->getTableArray()[$this->int_pk_name]['value']
. $q_end[$i];
}
/** @phan-suppress-next-line PhanTypePossiblyInvalidDimOffset */
$this->log->debug('edit', 'Pos[' . $i . '] => ' . $type[$i] . ' Q: ' . $q . '
');
// write the dataset
if ($q) {
- $this->dbExec($q);
+ $this->dba->dbExec($q);
}
}
} // for each created query
@@ -2230,33 +2235,29 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
reset($this->reference_array);
foreach ($this->reference_array as $reference_array) {
$q = 'DELETE FROM ' . $reference_array['table_name']
- . ' WHERE ' . $this->int_pk_name . ' = ' . $this->table_array[$this->int_pk_name]['value'];
- $this->dbExec($q);
+ . ' WHERE ' . $this->int_pk_name . ' = ' . $this->dba->getTableArray()[$this->int_pk_name]['value'];
+ $this->dba->dbExec($q);
}
}
// remove any element list references
- if (is_array($this->element_list)) {
- if (!is_array($this->element_list)) {
- $this->element_list = [];
- }
+ if (!empty($this->element_list)) {
reset($this->element_list);
foreach ($this->element_list as $table_name => $data_array) {
$q = 'DELETE FROM ' . $table_name
- . ' WHERE ' . $this->int_pk_name . ' = ' . $this->table_array[$this->int_pk_name]['value'];
- $this->dbExec($q);
+ . ' WHERE ' . $this->int_pk_name . ' = ' . $this->dba->getTableArray()[$this->int_pk_name]['value'];
+ $this->dba->dbExec($q);
}
}
// unlink ALL files
- if (!is_array($this->table_array)) {
- $this->table_array = [];
- }
- reset($this->table_array);
- foreach ($this->table_array as $key => $value) {
- if (isset($this->table_array[$key]['type']) && $this->table_array[$key]['type'] == 'file') {
- unlink($this->table_array[$key]['save_dir'] . $this->table_array[$key]['value']);
+ foreach ($this->dba->getTableArray() as $key => $value) {
+ if (
+ isset($this->dba->getTableArray()[$key]['type']) &&
+ $this->dba->getTableArray()[$key]['type'] == 'file'
+ ) {
+ unlink($this->dba->getTableArray()[$key]['save_dir'] . $this->dba->getTableArray()[$key]['value']);
}
}
- $this->dbDelete();
+ $this->dba->dbDelete();
$this->warning = 1;
$this->msg = $this->l->__('Dataset has been deleted!');
}
@@ -2270,17 +2271,13 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
public function formCreateHiddenFields(array $hidden_array = []): array
{
$hidden = [];
- if (!is_array($this->table_array)) {
- $this->table_array = [];
- }
- reset($this->table_array);
- foreach ($this->table_array as $key => $value) {
+ foreach ($this->dba->getTableArray() as $key => $value) {
if (
- isset($this->table_array[$key]['type']) &&
- $this->table_array[$key]['type'] == 'hidden'
+ isset($this->dba->getTableArray()[$key]['type']) &&
+ $this->dba->getTableArray()[$key]['type'] == 'hidden'
) {
- if (array_key_exists($key, $this->table_array)) {
- $hidden_array[$key] = $this->table_array[$key]['value'] ?? '';
+ if (array_key_exists($key, $this->dba->getTableArray())) {
+ $hidden_array[$key] = $this->dba->getTableArray()[$key]['value'] ?? '';
} else {
$hidden_array[$key] = '';
}
@@ -2318,7 +2315,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
}
$data['name'] = $this->reference_array[$table_name]['other_table_pk'];
$data['size'] = $this->reference_array[$table_name]['select_size'];
- while (is_array($res = $this->dbReturn($this->reference_array[$table_name]['query']))) {
+ while (is_array($res = $this->dba->dbReturn($this->reference_array[$table_name]['query']))) {
$data['value'][] = $res[0];
$data['output'][] = $res[1];
$selected = (\CoreLibs\Convert\Html::checked(
@@ -2434,18 +2431,18 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
}
// if drop down db read data for element list from the given sub table as from the query
// only two elements are allowed: pos 0 is key, pso 1 is visible output name
- if (isset($data_array['type']) && $data_array['type'] == 'drop_down_db') {
- while (is_array($res = $this->dbReturn($data_array['query']))) {
+ if (!empty($data_array['type']) && $data_array['type'] == 'drop_down_db') {
+ while (is_array($res = $this->dba->dbReturn($data_array['query']))) {
/** @phan-suppress-next-line PhanTypeInvalidDimOffset */
- $this->log->debug('edit', 'Q[' . $this->dbGetQueryHash($data_array['query']) . '] pos: '
- . $this->dbGetCursorPos($data_array['query'])
- . ' | want: ' . ($data_array['preset'] ?? '-')
- . ' | set: ' . ($data['preset'][$el_name] ?? '-'));
+ // $this->log->debug('ELEMENT LIST', 'Q[' . $this->dba->dbGetQueryHash($data_array['query']) . '] '
+ // . 'pos: ' . $this->dba->dbGetCursorPos($data_array['query'])
+ // . ' | want: ' . ($data_array['preset'] ?? '-')
+ // . ' | set: ' . ($data['preset'][$el_name] ?? '-'));
// first is default for this element
if (
isset($data_array['preset']) &&
(!isset($data['preset'][$el_name]) || empty($data['preset'][$el_name])) &&
- ($this->dbGetCursorPos($data_array['query']) == $data_array['preset'])
+ ($this->dba->dbGetCursorPos($data_array['query']) == $data_array['preset'])
) {
$data['preset'][$el_name] = $res[0];
}
@@ -2456,11 +2453,15 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
} elseif (isset($data_array['element_list'])) {
$data['element_list'][$el_name] = $data_array['element_list']; // this is for the checkboxes
}
- $this->log->debug('CREATE ELEMENT LIST TABLE', 'Table: ' . $table_name . ', Post: ' . $el_name . ' => '
- . ((isset($_POST[$el_name]) && is_array($_POST[$el_name])) ?
- 'AS ARRAY'/*.$this->log->prAr($_POST[$el_name])*/ :
- 'NOT SET/OR NOT ARRAY')
- . ((isset($_POST[$el_name]) && !is_array($_POST[$el_name])) ? $_POST[$el_name] : ''));
+ // $this->log->debug('ELEMENT LIST', 'Data: '
+ // . (count($data['element_list'][$el_name] ?? []) ? 'YES' : '*NO*')
+ // . ', B: ' . (is_bool($res ?? null) ? 'Y' : 'N'));
+ // $this->log->debug('POST CREATE ELEMENT LIST TABLE', 'Table: ' . $table_name
+ // . ', Post: ' . $el_name . ' => '
+ // . ((isset($_POST[$el_name]) && is_array($_POST[$el_name])) ?
+ // 'AS ARRAY'/*.$this->log->prAr($_POST[$el_name])*/ :
+ // 'NOT SET/OR NOT ARRAY')
+ // . ((isset($_POST[$el_name]) && !is_array($_POST[$el_name])) ? $_POST[$el_name] : ''));
// if error, check new line addition so we don't lose it
if ($this->error) {
if (isset($_POST[$el_name]) && is_array($_POST[$el_name])) {
@@ -2519,7 +2520,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
$data['type'][$data['prefix'] . $this->element_list[$table_name]['read_data']['name']] = 'string';
// build the read query
$q = 'SELECT ';
- // if (!$this->table_array[$this->int_pk_name]['value'])
+ // if (!$this->dba->getTableArray()[$this->int_pk_name]['value'])
// $q .= 'DISTINCT ';
// prefix join key with table name, and implode the query select part
$q .= str_replace(
@@ -2533,7 +2534,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
implode(', ', $_q_select)
) . ' ';
// if (
- // !$this->table_array[$this->int_pk_name]['value'] &&
+ // !$this->dba->getTableArray()[$this->int_pk_name]['value'] &&
// $this->element_list[$table_name]['read_data']['order']
// ) {
// $q .= ', ' . $this->element_list[$table_name]['read_data']['order'] . ' ';
@@ -2549,10 +2550,10 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
. $this->element_list[$table_name]['read_data']['pk_id'] . ' = '
/** @phan-suppress-next-line PhanTypeArraySuspiciousNullable */
. $table_name . '.' . $this->element_list[$table_name]['read_data']['pk_id'] . ' ';
- // if ($this->table_array[$this->int_pk_name]['value'])
+ // if ($this->dba->getTableArray()[$this->int_pk_name]['value'])
$q .= 'AND ' . $table_name . '.' . $this->int_pk_name . ' = '
- . (!empty($this->table_array[$this->int_pk_name]['value']) ?
- $this->table_array[$this->int_pk_name]['value'] :
+ . (!empty($this->dba->getTableArray()[$this->int_pk_name]['value']) ?
+ $this->dba->getTableArray()[$this->int_pk_name]['value'] :
'NULL') . ' ';
$q .= ') ';
if (isset($this->element_list[$table_name]['read_data']['order'])) {
@@ -2566,12 +2567,12 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
// only create query if we have a primary key
// reads directly from the reference table
if (
- isset($this->table_array[$this->int_pk_name]['value']) &&
- $this->table_array[$this->int_pk_name]['value']
+ isset($this->dba->getTableArray()[$this->int_pk_name]['value']) &&
+ $this->dba->getTableArray()[$this->int_pk_name]['value']
) {
$q = 'SELECT ' . implode(', ', $q_select)
. ' FROM ' . $table_name
- . ' WHERE ' . $this->int_pk_name . ' = ' . $this->table_array[$this->int_pk_name]['value'];
+ . ' WHERE ' . $this->int_pk_name . ' = ' . $this->dba->getTableArray()[$this->int_pk_name]['value'];
}
}
// $this->log->debug('CFG QUERY', 'Q: ' . $q);
@@ -2581,7 +2582,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
$prfx = $data['prefix']; // short
$pos = 0; // position in while for overwrite if needed
// read out the list and add the selected data if needed
- while (is_array($res = $this->dbReturn($q))) {
+ while (is_array($res = $this->dba->dbReturn($q))) {
$_data = [];
// go through each res
for ($i = 0, $i_max = count($q_select); $i < $i_max; $i++) {
@@ -2696,9 +2697,9 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
} elseif (
!empty($data['fk_name']) &&
$el_name == $data['fk_name'] &&
- isset($this->table_array[$this->int_pk_name]['value'])
+ isset($this->dba->getTableArray()[$this->int_pk_name]['value'])
) {
- $_data[$el_name] = $this->table_array[$this->int_pk_name]['value'];
+ $_data[$el_name] = $this->dba->getTableArray()[$this->int_pk_name]['value'];
}
}
$data['content'][] = $_data;