Пример #1
0
 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;
 }