public function delete() { if (!$this->_validatePermission()) { return false; } $rec_ID = $this->data['recID']; $rec_ID = intval(@$rec_ID); if ($rec_ID > 0) { $where = " where imp_id=" . $rec_ID; } else { $where = " where imp_id>0"; } $mysqli = $this->system->get_mysqli(); $res = mysql__select_all($mysqli, "select imp_id, imp_session from sysImportSessions" . $where, 1); if (!$res) { $this->system->addError(HEURIST_NOT_FOUND, "No data found. Cannot delete from import sessions table"); return false; } //drop import data foreach ($res as $row) { foreach ($row as $id => $session) { $session = json_decode($session, true); $query = "drop table IF EXISTS " . $session['import_table']; if (!$mysqli->query($query)) { $this->system->addError(HEURIST_DB_ERROR, 'Cannot drop import session table: ' . $session['import_table'] . ' ' . $mysqli->error); return false; } } } if (!$mysqli->query("delete from sysImportSessions " . $where)) { $this->system->addError(HEURIST_DB_ERROR, 'Cannot delete data from list of imported files', $mysqli->error); return false; } else { return true; } }
function getRecordsFromImportTable2($import_table, $id_field, $mode, $mapping, $offset, $limit = 100, $output) { global $system; $mysqli = $system->get_mysqli(); if ($id_field == null || $id_field == '' || $id_field == 'null' || $mode == 'all') { $where = '1'; $order_field = 'imp_id'; } else { if ($mode == 'insert') { $where = " ({$id_field}<0 OR {$id_field} IS NULL) "; $order_field = $id_field; } else { $where = " ({$id_field}>0) "; $order_field = $id_field; } } if (!($offset > 0)) { $offset = 0; } if (!is_int($limit)) { $limit = 100; } if ($mapping != null && !is_array($mapping)) { $mapping = json_decode($mapping, true); } if ($mapping && count($mapping) > 0) { $field_idx = array_keys($mapping); $sel_fields = array($order_field); foreach ($field_idx as $idx) { if ('field_' . $idx != $id_field) { array_push($sel_fields, 'field_' . $idx); } } if ($mode == 'insert' && count($sel_fields) > 1) { $order_field = $sel_fields[1]; } $sel_fields = 'DISTINCT ' . implode(',', $sel_fields); } else { $sel_fields = '*'; } $query = "SELECT {$sel_fields} FROM {$import_table} WHERE {$where} ORDER BY {$order_field}"; if ($limit > 0) { $query = $query . " LIMIT {$limit} OFFSET {$offset}"; } $res = mysql__select_all($mysqli, $query, 0, $output == 'csv' ? 0 : 30); return $res; }