$dbKITnewsletterPreview = new dbKITnewsletterPreview();
if (!$dbKITnewsletterPreview->sqlTableExists()) {
    if (!$dbKITnewsletterPreview->sqlCreateTable()) {
        $error .= sprintf('<p>[Upgrade] %s</p>', $dbKITnewsletterPreview->getError());
    }
}
$dbKITnewsletterCfg = new dbKITnewsletterCfg();
if (!$dbKITnewsletterCfg->sqlTableExists()) {
    if (!$dbKITnewsletterCfg->sqlCreateTable()) {
        $error .= sprintf('<p>[Upgrade] %s</p>', $dbKITnewsletterCfg->getError());
    }
}
$dbKITnewsletterArchive = new dbKITnewsletterArchive();
if (!$dbKITnewsletterArchive->sqlTableExists()) {
    if (!$dbKITnewsletterArchive->sqlCreateTable()) {
        $error .= sprintf('<p>[Upgrade] %s</p>', $dbKITnewsletterArchive->getError());
    }
}
// check support for distributions --> #0.29
if (!$dbKITnewsletterArchive->sqlFieldExists(dbKITnewsletterArchive::field_distributions)) {
    if (!$dbKITnewsletterArchive->sqlAlterTableAddField(dbKITnewsletterArchive::field_distributions, "VARCHAR(255) NOT NULL DEFAULT ''", dbKITnewsletterArchive::field_groups)) {
        $error .= sprintf('<p>[Upgrade] %s </p>', $dbKITnewsletterArchive->getError());
    }
}
$dbKITnewsletterProcess = new dbKITnewsletterProcess();
if (!$dbKITnewsletterProcess->sqlTableExists()) {
    if (!$dbKITnewsletterProcess->sqlCreateTable()) {
        $error .= sprintf('<p>[Upgrade] %s</p>', $dbKITnewsletterProcess->getError());
    }
}
// check process for distributions --> #0.29
// Install tables for newsletter module
$dbKITnewsletterTemplates = new dbKITnewsletterTemplates(true);
if ($dbKITnewsletterTemplates->isError()) {
    $error .= sprintf('<p>[Installation] %s</p>', $dbKITnewsletterTemplates->getError());
}
$dbKITnewsletterPreview = new dbKITnewsletterPreview(true);
if ($dbKITnewsletterPreview->isError()) {
    $error .= sprintf('<p>[Installation] %s</p>', $dbKITnewsletterPreview->getError());
}
$dbKITnewsletterCfg = new dbKITnewsletterCfg(true);
if ($dbKITnewsletterCfg->isError()) {
    $error .= sprintf('<p>[Installation] %s</p>', $dbKITnewsletterCfg->getError());
}
$dbKITnewsletterArchive = new dbKITnewsletterArchive(true);
if ($dbKITnewsletterArchive->isError()) {
    $error .= sprintf('<p>[Installation] %s</p>', $dbKITnewsletterArchive->getError());
}
$dbKITnewsletterProcess = new dbKITnewsletterProcess(true);
if ($dbKITnewsletterProcess->isError()) {
    $error .= sprintf('<p>[Installation] %s</p>', $dbKITnewsletterProcess->getError());
}
$dbCronjobData = new dbCronjobData(true);
if ($dbCronjobData->isError()) {
    $error .= sprintf('<p>[Installation] %s</p>', $dbCronjobData->getError());
}
// Blindwerte eintragen
$datas = array(array(dbCronjobData::field_item => dbCronjobData::item_last_call, dbCronjobData::field_value => ''), array(dbCronjobData::field_item => dbCronjobData::item_last_job, dbCronjobData::field_value => ''), array(dbCronjobData::field_item => dbCronjobData::item_last_nl_id, dbCronjobData::field_value => ''));
foreach ($datas as $data) {
    if (!$dbCronjobData->sqlInsertRecord($data)) {
        $error .= sprintf('<p>[Installation] %s</p>', $dbCronjobData->getError());
    }
$dbKITnewsletterPreview = new dbKITnewsletterPreview();
if ($dbKITnewsletterPreview->sqlTableExists()) {
    if (!$dbKITnewsletterPreview->sqlDeleteTable()) {
        $error .= sprintf('<p>[Delete Table] %s</p>', $dbKITnewsletterPreview->getError());
    }
}
$dbKITnewsletterTemplates = new dbKITnewsletterTemplates();
if ($dbKITnewsletterTemplates->sqlTableExists()) {
    if (!$dbKITnewsletterTemplates->sqlDeleteTable()) {
        $error .= sprintf('<p>[Delete Table] %s</p>', $dbKITnewsletterTemplates->getError());
    }
}
$dbKITnewsletterArchive = new dbKITnewsletterArchive();
if ($dbKITnewsletterArchive->sqlTableExists()) {
    if (!$dbKITnewsletterArchive->sqlDeleteTable()) {
        $error .= sprintf('<p>[Delete Table] %s</p>', $dbKITnewsletterArchive->getError());
    }
}
$dbKITnewsletterProcess = new dbKITnewsletterProcess();
if ($dbKITnewsletterProcess->sqlTableExists()) {
    if (!$dbKITnewsletterProcess->sqlDeleteTable()) {
        $error .= sprintf('<p>[Delete Table] %s</p>', $dbKITnewsletterProcess->getError());
    }
}
$dbCronjobData = new dbCronjobData();
if ($dbCronjobData->sqlTableExists()) {
    if (!$dbCronjobData->sqlDeleteTable()) {
        $error .= sprintf('<p>[Delete Table] %s</p>', $dbCronjobData->getError());
    }
}
$dbCronjobNewsletterLog = new dbCronjobNewsletterLog();