diff --git a/core/core.php b/core/core.php index 61e254be..ad9afc0d 100644 --- a/core/core.php +++ b/core/core.php @@ -331,13 +331,30 @@ class common */ public function __construct() { + // Construct cache + if(isset($GLOBALS['common_construct'])) { + $this->input['_POST'] = $GLOBALS['common_construct']['input']['_POST']; + $this->input['_COOKIE'] = $GLOBALS['common_construct']['input']['_COOKIE']; + self::$siteContent = $GLOBALS['common_construct']['siteContent']; + $this->dataFiles = $GLOBALS['common_construct']['dataFiles']; + $this->user = $GLOBALS['common_construct']['user']; + self::$i18nUI = $GLOBALS['common_construct']['i18nUI']; + $this->hierarchy = $GLOBALS['common_construct']['hierarchy']; + $this->url = $GLOBALS['common_construct']['url']; + self::$dialog = $GLOBALS['common_construct']['dialog']; + return; + } // Extraction des données http if (isset($_POST)) { $this->input['_POST'] = $_POST; + // Cache + $GLOBALS['common_construct']['input']['_POST'] = $this->input['_POST']; } if (isset($_COOKIE)) { $this->input['_COOKIE'] = $_COOKIE; + // Cache + $GLOBALS['common_construct']['input']['_COOKIE'] = $this->input['_COOKIE']; } // Déterminer la langue du contenu du site @@ -354,10 +371,16 @@ class common } } } + // Cache + $GLOBALS['common_construct']['siteContent'] = self::$siteContent; + + // Localisation \setlocale(LC_ALL, self::$siteContent . '.UTF8'); // Instanciation de la classe des entrées / sorties $this->jsonDB(self::$siteContent); + // Cache + $GLOBALS['common_construct']['dataFiles'] = $this->dataFiles; // Installation fraîche, initialisation des modules @@ -377,6 +400,8 @@ class common if ($this->user === []) { $this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]); } + // Cache + $GLOBALS['common_construct']['user'] = $this->user; // Langue de l'administration si le user est connecté if ($this->getData(['user', $this->getUser('id'), 'language'])) { @@ -398,11 +423,15 @@ class common } // Stocker le cookie de langue pour l'éditeur de texte setcookie('ZWII_UI', self::$i18nUI, time() + 3600, helper::baseUrl(false, false), '', false, false); + // Cache + $GLOBALS['common_construct']['i18nUI'] = self::$i18nUI; // Construit la liste des pages parents/enfants if ($this->hierarchy['all'] === []) { $this->buildHierarchy(); } + // Cache + $GLOBALS['common_construct']['hierarchy'] = $this->hierarchy; // Construit l'url if ($this->url === '') { @@ -412,6 +441,8 @@ class common $this->url = $this->getData(['locale', 'homePageId']); } } + // Cache + $GLOBALS['common_construct']['url'] = $this->url; // Chargement des dialogues if (!file_exists(self::I18N_DIR . self::$i18nUI . '.json')) { @@ -432,6 +463,9 @@ class common } } + // Cache + $GLOBALS['common_construct']['dialog'] = self::$dialog; + // Données de proxy $proxy = $this->getData(['config', 'proxyType']) . $this->getData(['config', 'proxyUrl']) . ':' . $this->getData(['config', 'proxyPort']); if (