diff --git a/update.php b/update.php index 20d38790..bfdba922 100644 --- a/update.php +++ b/update.php @@ -82,6 +82,32 @@ if (empty($step)) { $msgType = "danger"; $continue = false; } +} else if ($step == 4) { + if (file_exists("system/updates.json")) { + require 'config.php'; + $db = new pdo( + "mysql:host=$db_host;dbname=$db_name", + $db_user, + $db_password, + array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) + ); + + $updates = json_decode(file_get_contents("system/updates.json"), true); + $dones = []; + if (file_exists("system/cache/updates.done.json")) { + $dones = json_decode(file_get_contents("system/cache/updates.done.json"), true); + } + foreach ($updates as $version => $queries) { + if (!in_array($version, $dones)) { + foreach ($queries as $q) { + $dbh->exec($q); + } + $dones[] = $version; + } + } + file_put_contents("system/cache/updates.done.json", json_encode($dones)); + } + $step++; } else { $version = json_decode(file_get_contents('version.json'), true)['version']; $continue = false; @@ -152,7 +178,7 @@ function deleteFolder($path) - +