initData à terminer

This commit is contained in:
Fred Tempez 2023-04-14 07:32:23 +02:00
parent c405994451
commit a66bc7d948
2 changed files with 85 additions and 84 deletions

View File

@ -231,7 +231,7 @@ class common
'theme' => '', 'theme' => '',
'user' => '', 'user' => '',
'language' => '', 'language' => '',
'profil'=> '', 'profil' => '',
]; ];
public static $fontsWebSafe = [ public static $fontsWebSafe = [
@ -604,25 +604,24 @@ class common
// Stockage dans un sous-dossier localisé // Stockage dans un sous-dossier localisé
if (!file_exists(self::DATA_DIR . $lang)) { if (!file_exists(self::DATA_DIR . $lang)) {
mkdir(self::DATA_DIR . $lang, 0755); mkdir(self::DATA_DIR . $lang, 0755);
mkdir(self::DATA_DIR . $lang . '/content', 0755);
} }
$db = $this->dataFiles[$module];
if ($sampleSite === true && $lang === 'fr_FR') { if ($lang == 'fr_FR') {
$db->set($module, init::$siteData[$module]); // Stockage dans un sous-dossier localisé
} else {
$db->set($module, init::$defaultData[$module]);
}
$db->save;
// Créer le jeu de pages du site de test $db = $this->dataFiles[$module];
if ($module === 'page') {
$langFolder = $lang . '/content/'; if ($sampleSite === true) {
// Dossier des pages file_put_contents(self::DATA_DIR . $lang . '/' . $module . '.json', json_encode([$module => init::$siteTemplate[$langFolder][$module]]));
if (!is_dir(self::DATA_DIR . $langFolder)) { } else {
mkdir(self::DATA_DIR . $langFolder, 0755); 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) { if ($sampleSite === true) {
foreach (init::$siteContent as $key => $value) { foreach (init::$siteContent as $key => $value) {
// Creation du contenu de la page // Creation du contenu de la page
@ -634,20 +633,19 @@ class common
// Créer la page d'accueil // Créer la page d'accueil
file_put_contents(self::DATA_DIR . $langFolder . 'accueil.html', '<p>Contenu de votre nouvelle page.</p>'); file_put_contents(self::DATA_DIR . $langFolder . 'accueil.html', '<p>Contenu de votre nouvelle page.</p>');
} }
} 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é * Retourne les permission de l'utilisateur connecté
* @param int $key Clé de la valeur du groupe * @param int $key Clé de la valeur du groupe
* @return string|null * @return string|null
*/ */
public function getPermission($key1, $key2 = null) { public function getPermission($key1, $key2 = null)
{
if (is_array($this->user) === false) { if (is_array($this->user) === false) {
return false; return false;
} elseif ($key2 === null && array_key_exists($key1, $this->getData(['profil', $this->user['group']]))) { } elseif ($key2 === null && array_key_exists($key1, $this->getData(['profil', $this->user['group']]))) {
return $this->getData(['profil', $this->user['group'], $key1]); 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]); return $this->getData(['profil', $this->user['group'], $key1, $key2]);
} else { } else {
return false; return false;

View File

@ -50,26 +50,6 @@ class init extends common
'lastAutoUpdate' => 0, 'lastAutoUpdate' => 0,
'updateAvailable' => false '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' => [ 'font' => [
'files' => [], 'files' => [],
'imported' => [ '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' => [], 'user' => [],
'theme' => [ 'theme' => [
'body' => [ 'body' => [
@ -478,6 +427,59 @@ class init extends common
] ]
]; ];
public static $defaultDataI18n = [ 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' => [ 'es' => [
'locale' => [ 'locale' => [
'homePageId' => 'home', 'homePageId' => 'home',
@ -587,7 +589,7 @@ class init extends common
]; ];
public static $siteData = [ public static $siteTemplate = [
'page' => [ 'page' => [
'accueil' => [ 'accueil' => [
'typeMenu' => 'text', 'typeMenu' => 'text',