yogiboook_new/public/userarea/include/schoolid_select.php
2026-01-28 20:14:49 +01:00

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']);
}
}
}