|
@@ -20,12 +20,17 @@ function output($code, $msg = '', $logs = ['']) {
|
|
|
function processForm($requireLogin = true) {
|
|
|
if (http_response_code() !== 200)
|
|
|
return false;
|
|
|
- if (empty($_POST) AND $requireLogin AND !isset($_SESSION['id']))
|
|
|
- echo '<p>Ce formulaire ne sera pas accepté car il faut <a class="auth" href="' . redirUrl('auth/login') . '">se connecter</a> avant.</p>';
|
|
|
- if (empty($_POST))
|
|
|
+ if ($_POST === []) {
|
|
|
+ if ($requireLogin AND !isset($_SESSION['id']))
|
|
|
+ echo '<p>Ce formulaire ne sera pas accepté car il faut <a class="auth" href="' . redirUrl('auth/login') . '">se connecter</a> avant.</p>';
|
|
|
return false;
|
|
|
- if ($requireLogin AND !isset($_SESSION['id']))
|
|
|
- output(403, 'Vous devez être connecté·e pour effectuer cette action.');
|
|
|
+ }
|
|
|
+ if ($requireLogin) {
|
|
|
+ if (isset($_SESSION['id']) !== true)
|
|
|
+ output(403, 'Vous devez être connecté·e à un compte pour effectuer cette action.');
|
|
|
+ if (isset(query('select', 'users', ['id' => $_SESSION['id']], 'id')[0]) !== true)
|
|
|
+ output(403, 'Ce compte n\'existe plus. Déconnectez-vous pour terminer cette session fantôme.');
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
|