/** * Cleanup handler, in case of a non caught DB transaction error * @return void */ function SQLIImportCleanupHandler() { // Check if an error has occurred and report it if necessary $db = eZDB::instance(); if ($db->errorNumber() > 0) { SQLIImportToken::cleanAll(); $factory = SQLIImportFactory::instance(); $currentItem = $factory->getCurrentImportItem(); $currentItem->setAttribute('status', SQLIImportItem::STATUS_FAILED); $currentItem->store(); SQLIImportLogger::logError('A DB transaction error occurred : #' . $db->errorNumber() . ' - "' . $db->errorMessage() . '"'); SQLIImportLogger::logError('An error has occurred during import process. The import status has been updated.'); } }
/** * Cleans up import process */ public function cleanup() { SQLIImportLogger::writeNotice('Now cleaning the import process'); $this->token = null; SQLIImportToken::cleanAll(); $this->restorePerformanceSettings(); // Update scheduled imports if (is_array($this->scheduledImports)) { foreach ($this->scheduledImports as $scheduledImport) { if (!$scheduledImport instanceof SQLIScheduledImport) { SQLIImportLogger::logError(__METHOD__ . '$scheduledImport is not an instance of SQLIScheduledImport !'); continue; } $scheduledImport->updateNextImport(); } } unset($this->scheduledImports); }