1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2024-12-27 00:06:14 +01:00
openstamanager/modules/import/actions.php
Thomas Zilio 0b9f6fd2ca Introduzione messaggi flash
Sostituzione del vecchio sistema di gestione dei messaggi per l'utente con il sistema flash (libreria di base slim/flash).
2018-07-07 13:56:22 +02:00

57 lines
1.4 KiB
PHP

<?php
include_once __DIR__.'/../../core.php';
switch (post('op')) {
case 'import':
$first_row = !post('first_row');
$selected = post('fields');
// Pulizia dei campi inutilizzati
foreach ($selected as $key => $value) {
if (!is_numeric($value)) {
unset($selected[$key]);
}
}
$fields = Import::getFields($id_record);
$csv = Import::getFile($id_record, $records[0]['id'], [
'headers' => $first_row,
]);
// Interpretazione dei dati
$data = [];
foreach ($csv as $row) {
$data_row = [];
foreach ($row as $key => $value) {
$field = $fields[$selected[$key]];
if (isset($selected[$key])) {
$name = $field['field'];
$query = $field['query'];
if (!empty($query)) {
$query = str_replace('|value|', prepare($value), $query);
$value = $dbo->fetchArray($query)[0]['result'];
}
$data_row[$name] = $value;
}
}
$data[] = $data_row;
}
$primary_key = post('primary_key');
// Richiamo delle operazioni specifiche
include $imports[$id_record]['import'];
App::flash()->info(tr('Importazione completata. '.count($csv).' righe processate.'));
break;
}