diff --git a/misuzu.php b/misuzu.php index 79400fed..fab6df62 100644 --- a/misuzu.php +++ b/misuzu.php @@ -178,6 +178,8 @@ if (PHP_SAPI === 'cli') { break; case 'migrate': + touch(MSZ_ROOT . '/.migrating'); + $migrationTargets = [ 'mysql-main' => MSZ_ROOT . '/database', ]; @@ -217,6 +219,8 @@ if (PHP_SAPI === 'cli') { } } } + + unlink(MSZ_ROOT . '/.migrating'); break; case 'new-mig': @@ -306,6 +310,15 @@ MIG; exit; } + if (file_exists(MSZ_ROOT . '/.migrating')) { + http_response_code(503); + echo tpl_render('auth.lockdown', [ + 'message' => "The site is currently updating, this shouldn't take long.
Retry", + 'message_title' => ' Updating', + ]); + exit; + } + if (isset($_COOKIE['msz_uid'], $_COOKIE['msz_sid']) && user_session_start((int)$_COOKIE['msz_uid'], $_COOKIE['msz_sid'])) { $mszUserId = (int)$_COOKIE['msz_uid']; diff --git a/templates/auth/lockdown.twig b/templates/auth/lockdown.twig index 87db602c..caabdbac 100644 --- a/templates/auth/lockdown.twig +++ b/templates/auth/lockdown.twig @@ -1,12 +1,12 @@ -{% extends 'auth/master.twig' %} +{% extends 'master_minimal.twig' %} {% from 'macros.twig' import container_title %} {% block content %}
- {{ container_title(' Unavailable') }} + {{ container_title(message_title|default(' Unavailable')) }}
- {{ message|default('The site is currently unavailable, try again later.') }} + {{ message|default('The site is currently unavailable, try again later.')|raw }}
{% endblock %} diff --git a/templates/master_minimal.twig b/templates/master_minimal.twig new file mode 100644 index 00000000..0fa61116 --- /dev/null +++ b/templates/master_minimal.twig @@ -0,0 +1,50 @@ + + + + + + {{ title|default(globals.site_name) }} + + + + + + + +
+ {% block content %} + This page has no content! + {% endblock %} +
+ + + +