ACM/index.php
2025-03-26 10:57:42 +01:00

42 lines
2.3 KiB
PHP

<?php
use Module\ACM\Classe\Controleur\ControleurGenerique;
use Module\ACM\Classe\Controleur\ControleurAbsence;
use Module\ACM\Lib\Psr4AutoloaderClass;
use Module\ACM\Classe\GestionBD\gestionVariableCongee;
require_once __DIR__ . '/lib/Psr4AutoloaderClass.php';
use Module\ACM\Classe\Controleur\ControleurAdmin;
$chargeurDeClasse = new Psr4AutoloaderClass();
$chargeurDeClasse->register();
$chargeurDeClasse->addNamespace('Module\\ACM',__DIR__);
$res = 0;
global $db, $hookmanager, $conf;
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)
if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php";}
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME
$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1;
while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) {$i--;$j--;}
if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) {$res = @include substr($tmp, 0, ($i + 1))."/main.inc.php";}
if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) {$res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php";}
// Try main.inc.php using relative path
if (!$res && file_exists("../../main.inc.php")) {$res = @include "../../main.inc.php";}
if (!$res && file_exists("../../../main.inc.php")) {$res = @include "../../../main.inc.php";}
if (!$res) {die("Include of main fails");}
if (!isset($_POST['controleur'])){
$controleur = 'ControleurAbsence';
} else {
$controleur = $_POST['controleur'];
}
$nomDeClasseControleur = 'Module\ACM\Classe\Controleur\Controleur'.ucfirst($controleur);
if (class_exists($nomDeClasseControleur)){
if (isset($_POST['action'])){
$action = $_POST['action'];
$methodes = get_class_methods($nomDeClasseControleur);
if (in_array($action, $methodes)){
$nomDeClasseControleur::$action();
}else ControleurGenerique::afficherErreur("<tr><th><h1>Erreur 404</h1></th></tr> <tr><th><p>page not found</p></th></tr>");
}else ControleurAbsence::afficherAbsence();
}else ControleurAbsence::afficherAbsence();