<?php
if(session_status()===PHP_SESSION_NONE) session_start();
function gc_require_login(){
  if(empty($_SESSION['gc_user_id'])){ header('Location: login.php'); exit; }
  // Vérifier statut utilisateur (désactivé)
  global $gc_pdo; if(!$gc_pdo) return; // si connexion pas dispo on ignore
  try {
    $st=$gc_pdo->prepare('SELECT status FROM users_table WHERE id=? LIMIT 1');
    $st->execute([$_SESSION['gc_user_id']]);
    $row=$st->fetch();
    if(!$row){ session_destroy(); header('Location: login.php'); exit; }
    if($row['status']!=='active'){
      header('Location: disabled.php'); exit;
    }
  } catch(Throwable $e){ /* en cas d'erreur, on laisse passer pour ne pas bloquer tout */ }
}
function gc_current_user(PDO $gc_pdo){
  if(empty($_SESSION['gc_user_id'])) return null;
  static $u=null; if($u) return $u;
  $st=$gc_pdo->prepare('SELECT id,first_name,last_name,user_email,user_role,status FROM users_table WHERE id=? LIMIT 1');
  $st->execute([$_SESSION['gc_user_id']]);
  $u=$st->fetch(); return $u;
}
