diff --git a/core/core.php b/core/core.php index 40923489..36868c7b 100644 --- a/core/core.php +++ b/core/core.php @@ -231,7 +231,7 @@ class common 'theme' => '', 'user' => '', 'language' => '', - 'profil'=> '', + 'profil' => '', ]; public static $fontsWebSafe = [ @@ -604,25 +604,24 @@ class common // Stockage dans un sous-dossier localisé if (!file_exists(self::DATA_DIR . $lang)) { mkdir(self::DATA_DIR . $lang, 0755); + mkdir(self::DATA_DIR . $lang . '/content', 0755); } - $db = $this->dataFiles[$module]; - if ($sampleSite === true && $lang === 'fr_FR') { - $db->set($module, init::$siteData[$module]); - } else { - $db->set($module, init::$defaultData[$module]); - } - $db->save; + if ($lang == 'fr_FR') { + // Stockage dans un sous-dossier localisé - // Créer le jeu de pages du site de test - if ($module === 'page') { - $langFolder = $lang . '/content/'; - // Dossier des pages - if (!is_dir(self::DATA_DIR . $langFolder)) { - mkdir(self::DATA_DIR . $langFolder, 0755); + $db = $this->dataFiles[$module]; + + if ($sampleSite === true) { + file_put_contents(self::DATA_DIR . $lang . '/' . $module . '.json', json_encode([$module => init::$siteTemplate[$langFolder][$module]])); + } else { + file_put_contents(self::DATA_DIR . $lang . '/' . $module . '.json', json_encode([$module => init::$defaultDataI18n[$langFolder][$module]])); } - // Site de test ou page simple - if ($lang === 'fr_FR') { + + // Créer le jeu de pages du site de test + if ($module === 'page') { + $langFolder = $lang . '/content/'; + // Site de test ou page simple if ($sampleSite === true) { foreach (init::$siteContent as $key => $value) { // Creation du contenu de la page @@ -634,20 +633,19 @@ class common // Créer la page d'accueil file_put_contents(self::DATA_DIR . $langFolder . 'accueil.html', '

Contenu de votre nouvelle page.

'); } - } else { - // En_EN si le contenu localisé n'est pas traduit - if (!isset(init::$defaultDataI18n[$lang])) { - $lang = 'default'; - } - // Messages localisés - $this->setData(['locale', init::$defaultDataI18n[$lang]['locale']]); - // Page dans une autre langue, page d'accueil - $this->setData(['page', init::$defaultDataI18n[$lang]['page']]); - // Créer la page d'accueil - $pageId = init::$defaultDataI18n[$lang]['locale']['homePageId']; - $content = init::$defaultDataI18n[$lang]['html']; - file_put_contents(self::DATA_DIR . $langFolder . init::$defaultDataI18n[$lang]['page'][$pageId]['content'], $content); } + } else { + // En_EN si le contenu localisé n'est pas traduit + if (!isset(init::$defaultDataI18n[$lang])) { + $langFolder = 'default'; + } + + file_put_contents(self::DATA_DIR . $lang . '/' . $module . '.json', json_encode([$module => init::$defaultDataI18n[$langFolder][$module]])); + + // Créer la page d'accueil + $pageId = init::$defaultDataI18n[$langFolder]['locale']['homePageId']; + $content = init::$defaultDataI18n[$langFolder]['html']; + file_put_contents(self::DATA_DIR . $lang . '/content/' . init::$defaultDataI18n[$langFolder]['page'][$pageId]['content'], $content); } } @@ -904,13 +902,14 @@ class common * Retourne les permission de l'utilisateur connecté * @param int $key Clé de la valeur du groupe * @return string|null - */ - public function getPermission($key1, $key2 = null) { + */ + public function getPermission($key1, $key2 = null) + { if (is_array($this->user) === false) { return false; } elseif ($key2 === null && array_key_exists($key1, $this->getData(['profil', $this->user['group']]))) { return $this->getData(['profil', $this->user['group'], $key1]); - } elseif ($key2 && array_key_exists($key2, $this->getData(['profil', $this->user['group'], $key1]))) { + } elseif ($key2 && array_key_exists($key2, $this->getData(['profil', $this->user['group'], $key1]))) { return $this->getData(['profil', $this->user['group'], $key1, $key2]); } else { return false; diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index b77792c9..861f7229 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -50,26 +50,6 @@ class init extends common 'lastAutoUpdate' => 0, 'updateAvailable' => false ], - 'locale' => [ - 'homePageId' => 'accueil', - 'page302' => 'none', - 'page403' => 'none', - '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' - ] - ], 'font' => [ 'files' => [], 'imported' => [ @@ -175,37 +155,6 @@ class init extends common ] ] ], - 'page' => [ - 'accueil' => [ - 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, - 'content' => 'accueil.html', - 'hideTitle' => false, - 'homePageId' => true, - 'breadCrumb' => false, - 'metaDescription' => '', - 'metaTitle' => '', - 'moduleId' => '', - 'modulePosition' => 'bottom', - 'parentPageId' => '', - 'position' => 1, - 'group' => self::GROUP_VISITOR, - 'targetBlank' => false, - 'title' => 'Accueil', - 'shortTitle' => 'Accueil', - 'block' => '12', - 'barLeft' => '', - 'barRight' => '', - 'displayMenu' => 'none', - 'hideMenuSide' => false, - 'hideMenuChildren' => false, - 'extraPosition' => false, - 'css' => '', - 'js' => '' - ] - ], - 'module' => [], 'user' => [], 'theme' => [ 'body' => [ @@ -478,6 +427,59 @@ class init extends common ] ]; public static $defaultDataI18n = [ + 'fr' => [ + 'locale' => [ + 'homePageId' => 'accueil', + 'page302' => 'none', + 'page403' => 'none', + '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' + ] + ], + 'page' => [ + 'accueil' => [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => 'accueil.html', + 'hideTitle' => false, + 'homePageId' => true, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => '', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 1, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Accueil', + 'shortTitle' => 'Accueil', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' => false, + 'extraPosition' => false, + 'css' => '', + 'js' => '' + ] + ], + 'module' => [], + ], 'es' => [ 'locale' => [ 'homePageId' => 'home', @@ -587,7 +589,7 @@ class init extends common ]; - public static $siteData = [ + public static $siteTemplate = [ 'page' => [ 'accueil' => [ 'typeMenu' => 'text',