32 lines
845 B
PHP
32 lines
845 B
PHP
<?php
|
|
|
|
/**
|
|
* Cambio scuola corrente (owner multi-scuola / superadmin).
|
|
* Riceve POST: idschool, token. Reindirizza alla pagina principale
|
|
* della nuova scuola (non alla pagina precedente, i cui ID
|
|
* appartenevano alla scuola di prima).
|
|
*/
|
|
require_once('include/headscript.php');
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
|
header('Location: adminpanel.php');
|
|
exit;
|
|
}
|
|
|
|
$token = $_POST['token'] ?? '';
|
|
if (empty($_SESSION['csrf_switch']) || !hash_equals($_SESSION['csrf_switch'], $token)) {
|
|
http_response_code(400);
|
|
die('Richiesta non valida.');
|
|
}
|
|
|
|
$target = (int) ($_POST['idschool'] ?? 0);
|
|
|
|
if (!SchoolContext::switchTo($target)) {
|
|
http_response_code(403);
|
|
die('Non hai accesso a questa scuola.');
|
|
}
|
|
|
|
$landing = SchoolContext::isStaff() ? 'adminpanel.php' : 'userpanel.php';
|
|
header('Location: ' . $landing);
|
|
exit;
|