public function getLang() { /* * Charge le fichier de lang par defaut et celui lié au controller * puis les stock dans un même tableau * Si la variable $_POST['LangToJs'] est définie, * alors on envoie le contenue de la langue en json * Inclue également les lang demandé par la fonction $this->incLang() */ $sRequestLang = isset($_POST['PhpLangToJs']) ? strtolower($_POST['PhpLangToJs']) : strtolower($_SESSION['class']); $sRequestLang = ucfirst($sRequestLang); DebugAppModel::logThis(__FILE__, __LINE__, 'Langue chargé: ' . $_SESSION['lang'] . ' - sRequestLang: ' . $sRequestLang); if (!is_dir($this->sLangPath)) { DebugAppModel::logThis(__FILE__, __LINE__, 'Dossier introuvable: ' . $this->sLangPath); return false; } if (!is_file($this->sLangPath . 'DefautLang.php')) { DebugAppModel::stopApp(__FILE__, __LINE__, 'Impossible de trouver le fichier lang par defaut: DefautLang.php'); } else { require_once $this->sLangPath . 'DefautLang.php'; } if (!is_file($this->sLangPath . $sRequestLang . 'Lang.php')) { ${$sRequestLang . 'Lang'} = array(); } else { require_once $this->sLangPath . $sRequestLang . 'Lang.php'; } /* * Merge les deux table de lang */ $this->aLang = array_merge($DefautLang, ${$sRequestLang . 'Lang'}); /* * Inclue les lang demandé par $this->incLang(); */ if (isset($_SESSION['aIncLang'])) { foreach ($_SESSION['aIncLang'] as $sKey => $bValue) { if ($_SESSION['aIncLang'][$sKey] == true) { $sLangFilePath = $this->sLangPath . $sKey . 'Lang.php'; if (is_file($sLangFilePath)) { require_once $sLangFilePath; $this->aLang = array_merge($this->aLang, ${$sKey . 'Lang'}); } else { DebugAppModel::stopApp(__FILE__, __LINE__, 'Impossible d\'inclure le fichier de lang: ' . $sLangFilePath); } } } } if (AUTO_HTMLENTITIES_LANG) { foreach ($this->aLang as $sKey => $sValue) { $this->aLang[$sKey] = htmlentities($sValue); } } }
public function setE404() { /* * Fonction forcant la class E404 et method index pour afficher une erreur 404 * Appellé quand l'URL demandé n'est pas correct */ header('HTTP/1.0 404 Not Found'); if (!method_exists('E404Controller', 'IndexMethod')) { if ($_SESSION['class'] == 'Public') { DebugAppModel::stopApp(__FILE__, __LINE__, 'Fichier innexistant: ' . REQUEST_HTTP); } else { DebugAppModel::logThis(__FILE__, __LINE__, 'Erreur Fatal: Les controllers [ E404Controller ] et [ ' . $_SESSION['class'] . ' ] sont introuvables.'); DebugAppModel::stopApp(__FILE__, __LINE__, 'Impossible de charger la page demandé, ainsi que la page 404 !'); } } $_SESSION['class'] = 'E404'; $_SESSION['method'] = 'index'; self::formatRequest(); }
private function verifConfigFile($aConfig) { /* * Controle que les paramètre fourni dans COREAPP_PATH . '/configs/SecurityConfigs.php' sont au bon format */ if (!is_array($aConfig)) { DebugAppModel::stopApp(__FILE__, __LINE__, 'Erreur dans: ' . COREAPP_PATH . '/configs/SecurityConfigs.php -> $aSecurity n\'est pas un tableau'); } else { /* * Vérifie la structure des paramètre */ if ($aConfig['PROTECT_MODE'] != 'white' && $aConfig['PROTECT_MODE'] != 'black') { DebugAppModel::stopApp(__FILE__, __LINE__, 'Erreur dans: ' . COREAPP_PATH . '/configs/SecurityConfigs.php -> $aSecurity[\'PROTECT_MODE\'] n\'est pas valide'); } $aVerifConnectUrl = explode('/', $aConfig['CONNECT_URL']); if (empty($aVerifConnectUrl[0]) || empty($aVerifConnectUrl[1])) { DebugAppModel::stopApp(__FILE__, __LINE__, 'Erreur dans: ' . COREAPP_PATH . '/configs/SecurityConfigs.php -> $aSecurity[\'CONNECT_URL\'] n\'est pas valide'); } if (!is_array($aConfig['PROTECT_LIST'])) { DebugAppModel::stopApp(__FILE__, __LINE__, 'Erreur dans: ' . COREAPP_PATH . '/configs/SecurityConfigs.php -> $aSecurity[\'PROTECT_LIST\'] n\'est pas valide'); } } return $aConfig; }