Update demo_mode.php

This commit is contained in:
Roman Kelesidis 2024-02-11 21:00:48 +07:00
commit 3f80aee925

View file

@ -23,14 +23,29 @@ if (!IN_DEMO_MODE || !is_file($dump_path) || !is_readable($dump_path)) {
return; return;
} }
$sql_dump = file_get_contents($dump_path); $sql_dump = file($dump_path);
// Delete database // Drop tables
if (!DB()->query("DROP DATABASE " . SELECTED_DB)) { DB()->query('SET foreign_key_checks = 0');
return; if ($result = DB()->query('SHOW TABLES')) {
while ($row = DB()->sql_fetchrow($result)) {
DB()->query('DROP TABLE IF EXISTS ' . current($row));
}
}
DB()->query('SET foreign_key_checks = 1');
// Insert sql dump
$temp_line = '';
foreach ($sql_dump as $line) {
if (str_starts_with($line, '--') || $line == '') {
continue;
} }
// Create database $temp_line .= $line;
if (!DB()->query("CREATE DATABASE " . SELECTED_DB)) { if (str_ends_with(trim($line), ';')) {
return; if (!DB()->query($temp_line)) {
$cron_runtime_log = 'Error performing query: ' . $temp_line;
}
$temp_line = '';
}
} }