diff --git a/modules/import/actions.php b/modules/import/actions.php index 87d39d81b..6f2b83995 100755 --- a/modules/import/actions.php +++ b/modules/import/actions.php @@ -78,9 +78,19 @@ switch (filter('op')) { $primary_key = post('primary_key'); $csv->setPrimaryKey($primary_key); + // Operazioni di inizializzazione per l'importazione + if (!isset($page) || $page == 0) { + $csv->init(); + } + $count = $csv->importRows($offset, $limit); $more = $count == $limit; + // Operazioni di finalizzazione per l'importazione + if (!$more) { + $csv->complete(); + } + echo json_encode([ 'more' => $more, 'count' => $count, diff --git a/src/Importer/CSVImporter.php b/src/Importer/CSVImporter.php index 363ac8020..89e0f072e 100644 --- a/src/Importer/CSVImporter.php +++ b/src/Importer/CSVImporter.php @@ -48,6 +48,14 @@ abstract class CSVImporter implements ImporterInterface $this->column_associations = []; } + public function init() + { + } + + public function complete() + { + } + public function getColumnAssociations() { return $this->column_associations; diff --git a/src/Importer/ImporterInterface.php b/src/Importer/ImporterInterface.php index 9f062d4dc..e0af7aaf6 100644 --- a/src/Importer/ImporterInterface.php +++ b/src/Importer/ImporterInterface.php @@ -26,6 +26,20 @@ namespace Importer; */ interface ImporterInterface { + /** + * Esegue le operazioni di inizializzazione per la procedura di importazione. + * + * @return mixed + */ + public function init(); + + /** + * Esegue le operazioni di finalizazione per la procedura di importazione. + * + * @return mixed + */ + public function complete(); + /** * Restituisce le associazioni impostate tra colonne e campi del documento. *