ZwiiCampus/index.php

74 lines
2.2 KiB
PHP
Raw Permalink Normal View History

<?php
/**
* This file is part of Zwii.
*
* For full copyright and license information, please see the LICENSE
* file that was distributed with this source code.
*
* @author Rémi Jean <remi.jean@outlook.com>
* @copyright Copyright (C) 2008-2018, Rémi Jean
* @author Frédéric Tempez <frederic.tempez@outlook.com>
2024-12-23 15:24:37 +01:00
* @copyright Copyright (C) 2018-2025, Frédéric Tempez
* @license CC Attribution-NonCommercial-NoDerivatives 4.0 International
* @link http://zwiicms.fr/
*/
2024-09-16 21:24:17 +02:00
/**
* Initialisation de Zwii
*/
// Remplace la directive htaccess
ini_set('session.use_trans_sid', FALSE);
2024-09-16 21:20:35 +02:00
2024-09-06 09:35:12 +02:00
// Crée un identifiant unique pour chaque site en fonction du nom de domaine ou autre
$siteId = md5($_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_FILENAME']); // Ou utilise un autre identifiant unique pour chaque site
2024-09-06 09:35:12 +02:00
// Change le nom de la session en fonction de cet identifiant
session_name('zwii_session_' . $siteId);
2024-09-16 21:20:35 +02:00
2024-09-30 19:22:08 +02:00
// Récupère dynamiquement le chemin du dossier dans lequel le script est exécuté
$scriptPath = dirname($_SERVER['SCRIPT_NAME']);
// Si le chemin est vide (ce qui peut arriver si le site est à la racine), définis-le comme '/'
if ($scriptPath === '/' || $scriptPath === '\\' || $scriptPath === '.') {
$scriptPath = '/';
}
2024-09-16 21:20:35 +02:00
// Définissez le chemin du cookie de session dynamiquement
session_set_cookie_params([
'lifetime' => 0,
'path' => $scriptPath, // Utilise le chemin du script pour restreindre la session à ce répertoire
'domain' => $_SERVER['SERVER_NAME'], // Domaine par défaut
2024-09-16 21:20:35 +02:00
'secure' => isset($_SERVER['HTTPS']), // Pour HTTPS, si nécessaire
'httponly' => true,
'samesite' => 'Lax' // Ou 'Strict' ou 'None' selon tes besoins
]);
// Démarre la session
session_start();
2024-09-16 21:20:35 +02:00
// Contrôle des conditions de fonctionnement
include_once('core/include/checkup.php');
/*
*Localisation par défaut
* Locales :
* french : free.fr
* fr_FR : XAMPP Macos
* fr_FR.utf8 : la majorité
*/
date_default_timezone_set('Europe/Paris');
2024-09-16 21:24:17 +02:00
setlocale(LC_ALL, 'fr_FR.UTF8', 'fr_FR', 'french');
/**
* Chargement des classes
*/
require 'core/class/autoload.php';
autoload::autoloader();
2024-09-16 21:24:17 +02:00
spl_autoload_register('core::autoload');
/**
* Chargement du coeur
*/
$core = new core;
2024-09-16 21:20:35 +02:00
echo $core->router();