<br />
<b>Warning</b>:  Undefined variable $auth in <b>/home/pevo0181/public_html/pia-soft.com/cleania/routes/index.php</b> on line <b>542</b><br />
<br />
<b>Warning</b>:  Trying to access array offset on value of type null in <b>/home/pevo0181/public_html/pia-soft.com/cleania/routes/index.php</b> on line <b>542</b><br />
<?php
// ============================================================
//  PIA School — Configuration Admin
// ============================================================

// --- Identifiants admin (à changer !) ---
define('ADMIN_USER', 'admin');
define('ADMIN_PASS', '123456'); // ← CHANGER CE MOT DE PASSE

// --- Firebase FCM v1 API ---
// Coller ici le contenu COMPLET du fichier JSON téléchargé depuis :
// Firebase Console → Project Settings → Service accounts → Generate new private key
define('FCM_SERVICE_ACCOUNT_JSON', <<<'JSON'
{
  "type": "service_account",
  "project_id": "VOTRE_PROJECT_ID",
  "private_key_id": "VOTRE_KEY_ID",
  "private_key": "-----BEGIN PRIVATE KEY-----\nVOTRE_CLE_PRIVEE\n-----END PRIVATE KEY-----\n",
  "client_email": "firebase-adminsdk-xxxxx@VOTRE_PROJECT_ID.iam.gserviceaccount.com",
  "token_uri": "https://oauth2.googleapis.com/token"
}
JSON
);

// --- Même config DB que l'API ---
define('DB_HOST', 'localhost');
define('DB_USER', 'pevo0181_piaschool1');
define('DB_PASS', 'Piasoft2021');
define('DB_NAME', 'pevo0181_piaschool1');

// --- Session admin ---
ini_set('display_errors', 0);
error_reporting(E_ALL);
set_error_handler(function($errno, $errstr, $errfile, $errline) {
    header('Content-Type: application/json');
    http_response_code(500);
    echo json_encode(['success' => false, 'error' => "Erreur PHP [$errno]: $errstr (ligne $errline)"]);
    exit();
});
set_exception_handler(function($e) {
    header('Content-Type: application/json');
    http_response_code(500);
    echo json_encode(['success' => false, 'error' => 'Exception: ' . $e->getMessage()]);
    exit();
});
session_start();

function getDB(): PDO {
    static $pdo = null;
    if ($pdo === null) {
        $pdo = new PDO(
            'mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8mb4',
            DB_USER, DB_PASS,
            [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
             PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC]
        );
    }
    return $pdo;
}

function requireAdminAuth() {
    if (empty($_SESSION['admin_logged'])) {
        // Si requête AJAX → retourner JSON, sinon rediriger
        $isAjax = !empty($_SERVER['HTTP_X_REQUESTED_WITH']) 
               || (isset($_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'application/json') !== false)
               || (isset($_SERVER['CONTENT_TYPE']) && strpos($_SERVER['CONTENT_TYPE'], 'application/json') !== false);
        if ($isAjax) {
            header('Content-Type: application/json');
            http_response_code(401);
          