initData presque ok

This commit is contained in:
Fred Tempez 2023-04-14 10:11:13 +02:00
parent 0d6d43381c
commit ee295cf7dc
1 changed files with 43 additions and 37 deletions

View File

@ -321,18 +321,7 @@ class common
self::$i18nContent = $_SESSION['ZWII_CONTENT']; self::$i18nContent = $_SESSION['ZWII_CONTENT'];
\setlocale(LC_ALL, self::$i18nContent . '.UTF8'); \setlocale(LC_ALL, self::$i18nContent . '.UTF8');
} }
// Instanciation de la classe des entrées / sorties
// Récupère les descripteurs
foreach ($this->dataFiles as $keys => $value) {
// Constructeur JsonDB
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
'name' => $keys . '.json',
'dir' => $this->dataPath($keys, self::$i18nContent),
'backup' => file_exists('site/data/.backup')
]);
}
// Installation fraîche, initialisation des modules // Installation fraîche, initialisation des modules
if ($this->user === []) { if ($this->user === []) {
foreach ($this->dataFiles as $stageId => $item) { foreach ($this->dataFiles as $stageId => $item) {
@ -346,6 +335,17 @@ class common
} }
} }
// Instanciation de la classe des entrées / sorties
// Récupère les descripteurs
foreach ($this->dataFiles as $keys => $value) {
// Constructeur JsonDB
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
'name' => $keys . '.json',
'dir' => $this->dataPath($keys, self::$i18nContent),
'backup' => file_exists('site/data/.backup')
]);
}
// Langue de l'administration // Langue de l'administration
if ($this->getData(['user']) !== []) { if ($this->getData(['user']) !== []) {
// Langue sélectionnée dans le compte, la langue du cookie sinon celle du compte ouvert // Langue sélectionnée dans le compte, la langue du cookie sinon celle du compte ouvert
@ -602,19 +602,21 @@ class common
// Tableau avec les données vierges // Tableau avec les données vierges
require_once('core/module/install/ressource/defaultdata.php'); require_once('core/module/install/ressource/defaultdata.php');
// Création des sous-dossiers if (
if (!file_exists(self::DATA_DIR . $lang)) { $module === 'page' ||
mkdir(self::DATA_DIR . $lang, 0755); $module === 'module' ||
} $module === 'locale'
if (!file_exists(self::DATA_DIR . $lang . '/content')) { ) {
mkdir(self::DATA_DIR . $lang . '/content', 0755); // Création des sous-dossiers localisés
} if (!file_exists(self::DATA_DIR . $lang)) {
mkdir(self::DATA_DIR . $lang, 0755);
// Site en français avec site exemple }
if ($lang == 'fr_FR' && $sampleSite === true) { if (!file_exists(self::DATA_DIR . $lang . '/content')) {
file_put_contents(self::DATA_DIR . $lang . '/' . $module . '.json', json_encode([$module => init::$siteTemplate[$module]])); mkdir(self::DATA_DIR . $lang . '/content', 0755);
// Créer le jeu de pages du site de test }
if ($module === 'page') { // Site en français avec site exemple
if ($lang == 'fr_FR' && $sampleSite === true) {
file_put_contents(self::DATA_DIR . $lang . '/' . $module . '.json', json_encode([$module => init::$siteTemplate[$module]], JSON_PRETTY_PRINT));
// Site de test ou page simple // Site de test ou page simple
foreach (init::$siteContent as $key => $value) { foreach (init::$siteContent as $key => $value) {
// Creation du contenu de la page // Creation du contenu de la page
@ -622,21 +624,25 @@ class common
file_put_contents(self::DATA_DIR . $lang . '/content/' . $this->getData(['page', $key, 'content']), $value); file_put_contents(self::DATA_DIR . $lang . '/content/' . $this->getData(['page', $key, 'content']), $value);
} }
} }
}
// Version en langue étrangère ou fr_FR sans site de test // Version en langue étrangère ou fr_FR sans site de test
} else { } else {
// En_EN si le contenu localisé n'est pas traduit // En_EN par défaut si le contenu localisé n'est pas traduit
$langDefault = $lang ; $langDefault = $lang;
if (!isset(init::$defaultDataI18n[$lang])) { if (!isset(init::$defaultDataI18n[$lang])) {
$langDefault = 'default'; $langDefault = 'default';
}
file_put_contents(self::DATA_DIR . $lang . '/' . $module . '.json', json_encode([$module => init::$defaultDataI18n[$langDefault][$module]], JSON_PRETTY_PRINT));
// Créer la page d'accueil
$pageId = init::$defaultDataI18n[$langDefault]['locale']['homePageId'];
$content = init::$defaultDataI18n[$langDefault]['html'];
file_put_contents(self::DATA_DIR . $lang . '/content/' . init::$defaultDataI18n[$langDefault]['page'][$pageId]['content'], $content);
} }
file_put_contents(self::DATA_DIR . $lang . '/' . $module . '.json', json_encode([$module => init::$defaultDataI18n[$langDefault][$module]])); } else {
// Créer la page d'accueil // Installation des données du module
$pageId = init::$defaultDataI18n[$langDefault]['locale']['homePageId']; file_put_contents(self::DATA_DIR . $module . '.json', json_encode([$module => init::$defaultData[$module]], JSON_PRETTY_PRINT));
$content = init::$defaultDataI18n[$langDefault]['html'];
file_put_contents(self::DATA_DIR . $lang . '/content/' . init::$defaultDataI18n[$langDefault]['page'][$pageId]['content'], $content);
} }
} }