Merge branch '12309' into 12400

This commit is contained in:
Fred Tempez 2023-04-26 22:11:18 +02:00
commit 367e43d773
8 changed files with 41 additions and 36 deletions

View File

@ -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');

View File

@ -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';
}

View File

@ -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
]);

View File

@ -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 = [

View File

@ -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",

View File

@ -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ú",

View File

@ -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()
]);
}

View File

@ -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 !'),