diff --git a/core/class/jsondb/JsonDb.class.php b/core/class/jsondb/JsonDb.class.php index 97f97cf9..76171c77 100644 --- a/core/class/jsondb/JsonDb.class.php +++ b/core/class/jsondb/JsonDb.class.php @@ -115,7 +115,7 @@ class JsonDb extends \Prowebcraft\Dot protected function loadData($reload = false) { if ($this->data === null || $reload) { - $this->db = $this->config['dir'] . DIRECTORY_SEPARATOR . $this->config['name']; + $this->db = $this->config['dir'] . $this->config['name']; if (!file_exists($this->db)) { return null; // Rebuild database manage by CMS } else { @@ -151,8 +151,7 @@ class JsonDb extends \Prowebcraft\Dot if ($w == $l) { break; } - $try++; - sleep(1); + $t++; } if ($w !== $l) { exit('Erreur d\'écriture, les données n\'ont pas été sauvegardées'); diff --git a/core/core.php b/core/core.php index 14cffb94..d738e645 100644 --- a/core/core.php +++ b/core/core.php @@ -57,7 +57,7 @@ class common // URL autoupdate const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/update/raw/branch/master/'; - const ZWII_UPDATE_CHANNEL = "v12"; + const ZWII_UPDATE_CHANNEL = "test"; // URL langues de l'UI en ligne const ZWII_UI_URL = 'https://forge.chapril.org/ZwiiCMS-Team/zwiicms-translations/raw/branch/master/'; @@ -332,7 +332,7 @@ class common // Instanciation de la classe des entrées / sorties // Récupère les descripteurs foreach ($this->dataFiles as $keys => $value) { - // Constructeur JsonDB + // Constructeur JsonDB; $this->dataFiles[$keys] = new \Prowebcraft\JsonDb([ 'name' => $keys . '.json', 'dir' => $this->dataPath($keys, self::$i18nContent), @@ -369,8 +369,8 @@ class common } else { if (isset($_SESSION['ZWII_UI'])) { self::$i18nUI = $_SESSION['ZWII_UI']; - } elseif (isset($_SESSION['ZWII_CONTENT'])) { - self::$i18nUI = $_SESSION['ZWII_CONTENT']; + } elseif (isset($_COOKIE['ZWII_UI'])) { + self::$i18nUI = $_COOKIE['ZWII_UI']; } else { self::$i18nUI = 'fr_FR'; } diff --git a/core/module/install/install.php b/core/module/install/install.php index 6d974348..a3c15852 100644 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -57,6 +57,7 @@ class install extends common $lang = $this->getInput('installLanguage'); // Pour la suite de l'installation // setcookie('ZWII_UI', $lang, time() + 3600, helper::baseUrl(false, false), '', false, false); + $_SESSION['ZWII_UI'] = $this->getInput('installLanguage'); // Valeurs en sortie @@ -143,41 +144,37 @@ class install extends common ); // Validation de la langue transmise - $_SESSION['ZWII_UI'] = array_key_exists($_SESSION['ZWII_UI'], self::$languages) ? $_SESSION['ZWII_UI'] : 'fr_FR'; + self::$i18nUI = $_SESSION['ZWII_UI']; + self::$i18nUI = array_key_exists(self::$i18nUI, self::$languages) ? self::$i18nUI : 'fr_FR'; - // La langue du site est la langue de l'UI - $_SESSION['ZWII_CONTENT'] = $_SESSION['ZWII_UI']; - - // Efface les langues déjà installées - foreach ($this->getData(['languages']) as $lang => $value) { - if (is_dir(self::DATA_DIR . $lang)) - $this->removeDir(self::DATA_DIR . $lang); - } + // par défaut le contenu est la langue d'installation + self::$i18nContent = self::$i18nUI; + $_SESSION['ZWII_CONTENT'] = self::$i18nContent; // Création du dossier de langue avec le marqueur de langue par défaut - if (!is_dir(self::DATA_DIR . $_SESSION['ZWII_CONTENT'])) { - mkdir(self::DATA_DIR . $_SESSION['ZWII_CONTENT']); - touch(self::DATA_DIR . $_SESSION['ZWII_CONTENT'] . '/.default'); + if (!is_dir(self::DATA_DIR . self::$i18nContent)) { + mkdir(self::DATA_DIR . self::$i18nContent); + touch(self::DATA_DIR . self::$i18nContent . '/.default'); } // Installation du site de test if ( $this->getInput('installDefaultData', helper::FILTER_BOOLEAN) === false - && $_SESSION['ZWII_CONTENT'] === 'fr_FR' + && self::$i18nContent === 'fr_FR' ) { - $this->initData('page', $_SESSION['ZWII_CONTENT'], true); - $this->initData('module', $_SESSION['ZWII_CONTENT'], true); - $this->initData('locale', $_SESSION['ZWII_CONTENT'], true); + $this->initData('page', self::$i18nContent, true); + $this->initData('module', self::$i18nContent, true); $this->setData(['module', 'blog', 'posts', 'mon-premier-article', 'userId', $userId]); $this->setData(['module', 'blog', 'posts', 'mon-deuxieme-article', 'userId', $userId]); $this->setData(['module', 'blog', 'posts', 'mon-troisieme-article', 'userId', $userId]); } // Jeu réduit pour les pages étrangères - if ($_SESSION['ZWII_CONTENT'] !== 'fr_FR') { - $this->initData('page', $_SESSION['ZWII_CONTENT'], false); - $this->initData('module', $_SESSION['ZWII_CONTENT'], false); - $this->initData('locale', $_SESSION['ZWII_CONTENT'], false); + if (self::$i18nContent !== 'fr_FR') { + $this->initData('page', self::$i18nContent, false); + $this->initData('module', self::$i18nContent, false); + if (is_dir(self::DATA_DIR . 'fr_FR')) + $this->removeDir(self::DATA_DIR . 'fr_FR'); } // Sauvegarder la configuration du Proxy @@ -243,7 +240,7 @@ class install extends common // Valeurs en sortie $this->addOutput([ - 'redirect' => helper::baseUrl(true), + 'redirect' => helper::baseUrl(), 'notification' => $sent === true ? helper::translate('Installation terminée') : $sent, 'state' => ($sent === true && $success === true) ? true : null ]); diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index b9a31ee1..7bc5e798 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -1221,10 +1221,19 @@ class init extends common 'page404' => 'none', 'legalPageId' => 'none', 'searchPageId' => 'none', + 'searchPageLabel' => 'Rechercher', + 'sitemapPageLabel' => 'Plan du site', + 'legalPageLabel' => 'Mentions légales', 'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.', 'title' => 'Votre site en quelques clics !', - - ] + 'cookies' => [ + 'mainLabel' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.', + 'titleLabel' => 'Cookies essentiels', + 'linkLegalLabel' => 'Consulter les mentions légales', + 'cookiesFooterText' => 'Cookies', + 'buttonValidLabel' => 'J\'ai compris' + ] + ], ]; public static $siteContent = [ diff --git a/core/module/install/ressource/i18n/en_EN.json b/core/module/install/ressource/i18n/en_EN.json index 93540b54..e65c238a 100644 --- a/core/module/install/ressource/i18n/en_EN.json +++ b/core/module/install/ressource/i18n/en_EN.json @@ -203,7 +203,7 @@ "Famille": "Family", "Favicon thème sombre": "Dark theme favicon", "Feuille de style spécifique à la page.": "Style sheet specific to the page.", - "Fichiers": "", + "Fichiers": "Files", "Fichiers effacés": "Erased files", "Fil d'Ariane dans le titre": "Breadcrumb in the title", "Fond du sous-menu": "Background of the submenu", diff --git a/core/module/install/ressource/i18n/es.json b/core/module/install/ressource/i18n/es.json index b6f2c825..37cc8180 100644 --- a/core/module/install/ressource/i18n/es.json +++ b/core/module/install/ressource/i18n/es.json @@ -203,7 +203,7 @@ "Famille": "Vínculo", "Favicon thème sombre": "favicon de tema oscuro", "Feuille de style spécifique à la page.": "Hoja de estilo específica de la página.", - "Fichiers": "", + "Fichiers": "Archivos", "Fichiers effacés": "archivos borrados", "Fil d'Ariane dans le titre": "Migas de pan en el título", "Fond du sous-menu": "Fondo del submenú", diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index c0c612f6..4ee0f15b 100644 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -645,7 +645,7 @@ class translate extends common // Valeurs en sortie $this->addOutput([ - 'redirect' => helper::baseUrl() . $this->getData(['locale', $this->getUrl(2), 'homePageId']) + 'redirect' => helper::baseUrl() ]); } diff --git a/core/module/user/user.php b/core/module/user/user.php index e30539ce..6aa554d0 100644 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -703,9 +703,6 @@ class user extends common // Journalisation $this->saveLog($logStatus); - // Detruit la session - session_destroy(); - // Stockage des cookies if (!empty($_COOKIE['ZWII_USER_ID'])) { self::$userId = $_COOKIE['ZWII_USER_ID']; @@ -726,7 +723,10 @@ class user extends common { helper::deleteCookie('ZWII_USER_ID'); helper::deleteCookie('ZWII_USER_PASSWORD'); + + // Détruit la session session_destroy(); + // Valeurs en sortie $this->addOutput([ 'notification' => helper::translate('Déconnexion !'),