69 lines
1.9 KiB
PHP
69 lines
1.9 KiB
PHP
<?php
|
|
// include/schoolid_select.php
|
|
|
|
// ========================================
|
|
// SKIP se siamo già su select_school.php
|
|
// ========================================
|
|
if (defined('SKIP_SCHOOL_CONTEXT')) {
|
|
return; // esce senza eseguire nulla
|
|
}
|
|
|
|
if (!defined('APP_BASE')) {
|
|
$base = rtrim(str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME'])), '/');
|
|
define('APP_BASE', $base === '' ? '' : $base);
|
|
}
|
|
|
|
// check school id if user go to select school
|
|
if (Auth::user()->hasRole('User')) {
|
|
|
|
$school_id = (int)($_SESSION['school_id'] ?? 0);
|
|
|
|
if ($school_id <= 0) {
|
|
// manda alla pagina che decide: 1 scuola -> set in automatico, >1 -> selezione
|
|
header('Location: ' . APP_BASE . '/select_school.php');
|
|
exit;
|
|
}
|
|
}
|
|
|
|
|
|
// --- SCHOOL OWNER & ADMIN: assegna automaticamente la scuola ---
|
|
if (
|
|
Auth::check() &&
|
|
(
|
|
Auth::user()->hasRole('school_owner') ||
|
|
Auth::user()->hasRole('Admin')
|
|
)
|
|
) {
|
|
|
|
$school_id = (int)($_SESSION['school_id'] ?? 0);
|
|
|
|
if ($school_id <= 0) {
|
|
|
|
$stmt = $db->prepare("
|
|
SELECT id
|
|
FROM schools
|
|
WHERE owner_id = ?
|
|
AND status = 'active'
|
|
LIMIT 1
|
|
");
|
|
$stmt->execute([$iduserlogin]);
|
|
$owner_school_id = (int)$stmt->fetchColumn();
|
|
|
|
if ($owner_school_id > 0) {
|
|
$_SESSION['school_id'] = $owner_school_id;
|
|
} else {
|
|
// owner/admin senza scuola: mandalo alla pagina profilo che permette di crearla
|
|
$current_page = basename($_SERVER['PHP_SELF']);
|
|
|
|
// evita loop: se sei già su school_profile.php non redirectare di nuovo
|
|
if ($current_page !== 'school_profile.php') {
|
|
header("Location: school_profile.php");
|
|
exit;
|
|
}
|
|
|
|
// se sei già nella pagina profilo, lascia proseguire senza school_id
|
|
unset($_SESSION['school_id']);
|
|
}
|
|
}
|
|
}
|