/**
 * 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);
 }