Suppression de locale

This commit is contained in:
Fred Tempez 2023-09-05 15:31:35 +02:00
parent 3393ebe2af
commit 5f8c2e7d19
14 changed files with 92 additions and 270 deletions

View File

@ -29,23 +29,23 @@ class layout extends common
$item .= template::ico('cancel');
$item .= '</div>';
// Texte de la popup
$item .= '<h3>' . $this->getData(['locale', 'cookies', 'titleLabel']) . '</h3>';
$item .= '<p>' . $this->getData(['locale', 'cookies', 'mainLabel']) . '</p>';
$item .= '<h3>' . $this->getData(['config', 'cookies', 'titleLabel']) . '</h3>';
$item .= '<p>' . $this->getData(['config', 'cookies', 'mainLabel']) . '</p>';
// Formulaire de réponse
if (
$this->getData(['locale', 'homePageId']) === $this->getUrl(0)
$this->getData(['config', 'homePageId']) === $this->getUrl(0)
) {
$item .= '<form method="POST" action="' . helper::baseUrl(false) . '" id="cookieForm">';
} else {
$item .= '<form method="POST" action="' . helper::baseUrl(true) . $this->getUrl() . '" id="cookieForm">';
}
$item .= '<br><br>';
$item .= '<input type="submit" id="cookieConsentConfirm" value="' . $this->getData(['locale', 'cookies', 'buttonValidLabel']) . '">';
$item .= '<input type="submit" id="cookieConsentConfirm" value="' . $this->getData(['config', 'cookies', 'buttonValidLabel']) . '">';
$item .= '</form>';
// mentions légales si la page est définie
$legalPage = $this->getData(['locale', 'legalPageId']);
$legalPage = $this->getData(['config', 'legalPageId']);
if ($legalPage !== 'none') {
$item .= '<p><a href="' . helper::baseUrl() . $legalPage . '">' . $this->getData(['locale', 'cookies', 'linkLegalLabel']) . '</a></p>';
$item .= '<p><a href="' . helper::baseUrl() . $legalPage . '">' . $this->getData(['config', 'cookies', 'linkLegalLabel']) . '</a></p>';
}
$item .= '</div>';
echo $item;
@ -288,7 +288,7 @@ class layout extends common
// Affichage de motorisé par
$items .= '<span id="footerDisplayCopyright" ';
$items .= $this->getData(['theme', 'footer', 'displayCopyright']) === false ? 'class="displayNone"' : '';
$label = empty($this->getData(['locale', 'poweredPageLabel'])) ? 'Motorisé par' : $this->getData(['locale', 'poweredPageLabel']);
$label = empty($this->getData(['config', 'poweredPageLabel'])) ? 'Motorisé par' : $this->getData(['config', 'poweredPageLabel']);
$items .= '><wbr>&nbsp;' . $label . '&nbsp;</span>';
// Toujours afficher le nom du CMS
$items .= '<span id="footerZwiiCMS">';
@ -302,29 +302,29 @@ class layout extends common
// Affichage du sitemap
$items .= '<span id="footerDisplaySiteMap"';
$items .= $this->getData(['theme', 'footer', 'displaySiteMap']) === false ? ' class="displayNone"' : '';
$label = ($this->getData(['locale', 'sitemapPageLabel']) === 'none') ? 'Plan du site' : $this->getData(['locale', 'sitemapPageLabel']);
$label = ($this->getData(['config', 'sitemapPageLabel']) === 'none') ? 'Plan du site' : $this->getData(['config', 'sitemapPageLabel']);
$items .= '><wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . 'sitemap" >' . $label . '</a>';
$items .= '</span>';
// Affichage du module de recherche
$items .= '<span id="footerDisplaySearch"';
$items .= $this->getData(['theme', 'footer', 'displaySearch']) === false ? ' class="displayNone" >' : '>';
$label = empty($this->getData(['locale', 'searchPageLabel'])) ? 'Rechercher' : $this->getData(['locale', 'searchPageLabel']);
if ($this->getData(['locale', 'searchPageId']) !== 'none') {
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['locale', 'searchPageId']) . '" >' . $label . '</a>';
$label = empty($this->getData(['config', 'searchPageLabel'])) ? 'Rechercher' : $this->getData(['config', 'searchPageLabel']);
if ($this->getData(['config', 'searchPageId']) !== 'none') {
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['config', 'searchPageId']) . '" >' . $label . '</a>';
}
$items .= '</span>';
// Affichage des mentions légales
$items .= '<span id="footerDisplayLegal"';
$items .= $this->getData(['theme', 'footer', 'displayLegal']) === false ? ' class="displayNone" >' : '>';
$label = empty($this->getData(['locale', 'legalPageLabel'])) ? 'Mentions Légales' : $this->getData(['locale', 'legalPageLabel']);
if ($this->getData(['locale', 'legalPageId']) !== 'none') {
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['locale', 'legalPageId']) . '" >' . $label . '</a>';
$label = empty($this->getData(['config', 'legalPageLabel'])) ? 'Mentions Légales' : $this->getData(['config', 'legalPageLabel']);
if ($this->getData(['config', 'legalPageId']) !== 'none') {
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['config', 'legalPageId']) . '" >' . $label . '</a>';
}
$items .= '</span>';
// Affichage de la gestion des cookies
$items .= '<span id="footerDisplayCookie"';
$items .= ($this->getData(['config', 'cookieConsent']) === true && $this->getData(['theme', 'footer', 'displayCookie']) === true) ? '>' : ' class="displayNone" >';
$label = empty($this->getData(['locale', 'cookies', 'cookiesFooterText'])) ? 'Cookies' : $this->getData(['locale', 'cookies', 'cookiesFooterText']);
$label = empty($this->getData(['config', 'cookies', 'cookiesFooterText'])) ? 'Cookies' : $this->getData(['config', 'cookies', 'cookiesFooterText']);
$items .= '<wbr>&nbsp;|&nbsp;<a href="javascript:void(0)" id="footerLinkCookie">' . $label . '</a>';
$items .= '</span>';
// Affichage du lien de connexion
@ -586,10 +586,10 @@ class layout extends common
and $this->getUser('group') < self::GROUP_EDITOR
)
) {
$pageUrl = ($this->getData(['locale', 'homePageId']) === $this->getUrl(0)) ? helper::baseUrl(false) : helper::baseUrl() . $this->getUrl(0);
$pageUrl = ($this->getData(['config', 'homePageId']) === $this->getUrl(0)) ? helper::baseUrl(false) : helper::baseUrl() . $this->getUrl(0);
$items .= '<a href="' . $pageUrl . '">';
} else {
$pageUrl = ($this->getData(['locale', 'homePageId']) === $parentPageId) ? helper::baseUrl(false) : helper::baseUrl() . $parentPageId;
$pageUrl = ($this->getData(['config', 'homePageId']) === $parentPageId) ? helper::baseUrl(false) : helper::baseUrl() . $parentPageId;
$items .= '<a class="' . $active . '" href="' . $pageUrl . '"' . $targetBlank . '>';
}
@ -652,10 +652,10 @@ class layout extends common
and $this->getUser('group') < self::GROUP_EDITOR
)
) {
$pageUrl = ($this->getData(['locale', 'homePageId']) === $this->getUrl(0)) ? helper::baseUrl(false) : helper::baseUrl() . $this->getUrl(0);
$pageUrl = ($this->getData(['config', 'homePageId']) === $this->getUrl(0)) ? helper::baseUrl(false) : helper::baseUrl() . $this->getUrl(0);
$items .= '<a href="' . $pageUrl . '">';
} else {
$pageUrl = ($this->getData(['locale', 'homePageId']) === $childKey) ? helper::baseUrl(false) : helper::baseUrl() . $childKey;
$pageUrl = ($this->getData(['config', 'homePageId']) === $childKey) ? helper::baseUrl(false) : helper::baseUrl() . $childKey;
$items .= '<a class="' . $active . ' ' . $parentPageId . '" href="' . $pageUrl . '"' . $targetBlank . '>';
}
@ -802,7 +802,7 @@ class layout extends common
echo '<title>' . $this->core->output['metaTitle'] . '</title>';
echo '<meta property="og:title" content="' . $this->core->output['metaTitle'] . '" />';
if (
$this->getData(['locale', 'homePageId']) === $this->getUrl(0)
$this->getData(['config', 'homePageId']) === $this->getUrl(0)
) {
echo '<link rel="canonical" href="' . helper::baseUrl(false) . '" />';
} else {

View File

@ -534,7 +534,7 @@ class core extends common
) {
$access = true;
} else {
if ($this->getUrl(0) === $this->getData(['locale', 'homePageId'])) {
if ($this->getUrl(0) === $this->getData(['config', 'homePageId'])) {
$access = 'login';
} else {
$access = false;
@ -857,10 +857,10 @@ class core extends common
]);
} else {
if (
$this->getData(['locale', 'page403']) !== 'none'
and $this->getData(['page', $this->getData(['locale', 'page403'])])
$this->getData(['config', 'page403']) !== 'none'
and $this->getData(['page', $this->getData(['config', 'page403'])])
) {
header('Location:' . helper::baseUrl() . $this->getData(['locale', 'page403']));
header('Location:' . helper::baseUrl() . $this->getData(['config', 'page403']));
} else {
$this->addOutput([
'title' => 'Accès interdit',
@ -871,10 +871,10 @@ class core extends common
} elseif ($this->output['content'] === '') {
http_response_code(404);
if (
$this->getData(['locale', 'page404']) !== 'none'
and $this->getData(['page', $this->getData(['locale', 'page404'])])
$this->getData(['config', 'page404']) !== 'none'
and $this->getData(['page', $this->getData(['config', 'page404'])])
) {
header('Location:' . helper::baseUrl() . $this->getData(['locale', 'page404']));
header('Location:' . helper::baseUrl() . $this->getData(['config', 'page404']));
} else {
$this->addOutput([
'title' => 'Page indisponible',
@ -886,17 +886,17 @@ class core extends common
if ($this->output['metaTitle'] === '') {
if ($this->output['title']) {
$this->addOutput([
'metaTitle' => strip_tags($this->output['title']) . ' - ' . $this->getData(['locale', 'title'])
'metaTitle' => strip_tags($this->output['title']) . ' - ' . $this->getData(['config', 'title'])
]);
} else {
$this->addOutput([
'metaTitle' => $this->getData(['locale', 'title'])
'metaTitle' => $this->getData(['config', 'title'])
]);
}
}
if ($this->output['metaDescription'] === '') {
$this->addOutput([
'metaDescription' => $this->getData(['locale', 'metaDescription'])
'metaDescription' => $this->getData(['config', 'metaDescription'])
]);
}
switch ($this->output['display']) {

View File

@ -227,7 +227,6 @@ class common
'core' => '',
'font' => '',
'module' => '',
'locale' => '',
'page' => '',
'theme' => '',
'user' => '',
@ -399,7 +398,7 @@ class common
if ($url = $_SERVER['QUERY_STRING']) {
$this->url = $url;
} else {
$this->url = $this->getData(['locale', 'homePageId']);
$this->url = $this->getData(['config', 'homePageId']);
}
}
@ -642,8 +641,7 @@ class common
// Localisation
if (
$module === 'page' ||
$module === 'module' ||
$module === 'locale'
$module === 'module'
) {
// Création des sous-dossiers localisés
if (!file_exists(self::DATA_DIR . $lang)) {
@ -661,13 +659,6 @@ class common
}
// Version en langue étrangère ou fr_FR sans site de test
} else {
// En_EN par défaut si le contenu localisé n'est pas traduit
$langDefault = array_key_exists($lang, init::$defaultDataI18n) === true ? $lang : 'default';
// Charger les données de cette langue
$this->setData([$module, init::$defaultDataI18n[$langDefault][$module]]);
// Créer la page d'accueil, une seule page dans cette configuration
$pageId = init::$defaultDataI18n[$langDefault]['locale']['homePageId'];
$content = init::$defaultDataI18n[$langDefault]['html'];
$this->setPage($pageId, $content, $lang);
//file_put_contents(self::DATA_DIR . $lang . '/content/' . init::$defaultDataI18n[$langDefault]['page'][$pageId]['content'], $content);
}
@ -997,8 +988,7 @@ class common
// Sauf pour les pages et les modules
if (
$id === 'page' ||
$id === 'module' ||
$id === 'locale'
$id === 'module'
) {
$folder = self::DATA_DIR . $lang . '/';
} else {
@ -1059,7 +1049,7 @@ class common
// Page désactivée, traiter les sous-pages sans prendre en compte la page parente.
if ($this->getData(['page', $parentPageId, 'disable']) !== true) {
// Cas de la page d'accueil ne pas dupliquer l'URL
$pageId = ($parentPageId !== $this->getData(['locale', 'homePageId'])) ? $parentPageId : '';
$pageId = ($parentPageId !== $this->getData(['config', 'homePageId'])) ? $parentPageId : '';
$sitemap->addUrl('/' . $pageId, $datetime);
}
// Articles du blog
@ -1080,7 +1070,7 @@ class common
continue;
}
// Cas de la page d'accueil ne pas dupliquer l'URL
$pageId = ($childKey !== $this->getData(['locale', 'homePageId'])) ? $childKey : '';
$pageId = ($childKey !== $this->getData(['config', 'homePageId'])) ? $childKey : '';
$sitemap->addUrl('/' . $childKey, $datetime);
// La sous-page est un blog
@ -1237,11 +1227,11 @@ class common
// Expéditeur
$host = str_replace('www.', '', $_SERVER['HTTP_HOST']);
$from = $from ? $from : 'no-reply@' . $host;
$mail->setFrom($from, html_entity_decode($this->getData(['locale', 'title'])));
$mail->setFrom($from, html_entity_decode($this->getData(['config', 'title'])));
// répondre à
if (is_null($replyTo)) {
$mail->addReplyTo($from, html_entity_decode($this->getData(['locale', 'title'])));
$mail->addReplyTo($from, html_entity_decode($this->getData(['config', 'title'])));
} else {
$mail->addReplyTo($replyTo);
}

View File

@ -84,7 +84,7 @@
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td style="border-bottom: 1px solid #EBEEF2; padding: 20px; font-family: 'Open Sans', sans-serif; font-size: 19px; line-height: 24px; text-align: center; color: #212223;">
<?php echo $this->getData(['locale', 'title']); ?>
<?php echo $this->getData(['config', 'title']); ?>
</td>
</tr>
</table>
@ -119,7 +119,7 @@
<?php
}
else{
echo $this->getData(['locale', 'title']);
echo $this->getData(['config', 'title']);
} ?>
</a>
</td>

View File

@ -54,7 +54,7 @@
?>
<!-- Menu Burger -->
<div id="toggle">
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'title' ? '<div id="burgerText">' . $this->getData(['locale', 'title']) . '</div>' : ''; ?>
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'title' ? '<div id="burgerText">' . $this->getData(['config', 'title']) . '</div>' : ''; ?>
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'logo' ? '<div id="burgerLogo"><img src="' . helper::baseUrl(false) . self::FILE_DIR . 'source/' . $this->getData(['theme', 'menu', 'burgerLogo']) . '"></div>' : ''; ?>
<?php echo template::ico('menu', ['fontSize' => '2em']); ?></div>
<!-- fin du menu burger -->
@ -82,7 +82,7 @@
// Affiche toujours le titre de la bannière pour l'édition du thème
or ($this->getUrl(0) === 'theme' and $this->getUrl(1) === 'header')
) : ?>
<span id="themeHeaderTitle"><?php echo $this->getData(['locale', 'title']); ?></span>
<span id="themeHeaderTitle"><?php echo $this->getData(['config', 'title']); ?></span>
<?php else : ?>
<span id="themeHeaderTitle">&nbsp;</span>
<?php endif; ?>
@ -99,7 +99,7 @@
<nav>
<!-- Menu burger -->
<div id="toggle">
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'title' ? '<div id="burgerText">' . $this->getData(['locale', 'title']) . '</div>' : ''; ?>
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'title' ? '<div id="burgerText">' . $this->getData(['config', 'title']) . '</div>' : ''; ?>
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'logo' ? '<div id="burgerLogo"><img src="' . helper::baseUrl(false) . self::FILE_DIR . 'source/' . $this->getData(['theme', 'menu', 'burgerLogo']) . '"></div>' : ''; ?>
<?php echo template::ico('menu', ['fontSize' => '2em']); ?></div>
<!-- fin du menu burger -->
@ -116,7 +116,7 @@
<!-- Menu dans le site avant la bannière -->
<nav>
<div id="toggle">
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'title' ? '<div id="burgerText">' . $this->getData(['locale', 'title']) . '</div>' : ''; ?>
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'title' ? '<div id="burgerText">' . $this->getData(['config', 'title']) . '</div>' : ''; ?>
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'logo' ? '<div id="burgerLogo"><img src="' . helper::baseUrl(false) . self::FILE_DIR . 'source/' . $this->getData(['theme', 'menu', 'burgerLogo']) . '"></div>' : ''; ?>
<?php echo template::ico('menu', ['fontSize' => '2em']); ?></div>
<div id="menu" class="container"><?php $layout->showMenu(); ?></div>
@ -142,7 +142,7 @@
// Affiche toujours le titre de la bannière pour l'édition du thème
or ($this->getUrl(0) === 'theme' and $this->getUrl(1) === 'header')
) : ?>
<span id="themeHeaderTitle"><?php echo $this->getData(['locale', 'title']); ?></span>
<span id="themeHeaderTitle"><?php echo $this->getData(['config', 'title']); ?></span>
<?php else : ?>
<span id="themeHeaderTitle">&nbsp;</span>
<?php endif; ?>
@ -165,7 +165,7 @@
<!-- Menu dans le site après la bannière -->
<nav <?php if ($this->getData(['theme', 'menu', 'position']) === 'hide') : ?>class="displayNone" <?php endif; ?>>
<div id="toggle">
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'title' ? '<div id="burgerText">' . $this->getData(['locale', 'title']) . '</div>' : ''; ?>
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'title' ? '<div id="burgerText">' . $this->getData(['config', 'title']) . '</div>' : ''; ?>
<?php echo $this->getData(['theme', 'menu', 'burgerContent']) === 'logo' ? '<div id="burgerLogo"><img src="' . helper::baseUrl(false) . self::FILE_DIR . 'source/' . $this->getData(['theme', 'menu', 'burgerLogo']) . '"></div>' : ''; ?>
<?php echo template::ico('menu', ['fontSize' => '2em']); ?></div>
<div id="menu" class="container"><?php $layout->showMenu(); ?></div>

View File

@ -137,7 +137,7 @@ class install extends common
}
$this->initData('page', $_SESSION['ZWII_CONTENT'], $sample);
$this->initData('module', $_SESSION['ZWII_CONTENT'], $sample);
$this->initData('locale', $_SESSION['ZWII_CONTENT'], $sample);
$this->initData('config', $_SESSION['ZWII_CONTENT'], $sample);
// Création de l'utilisateur si les données sont complétées.
// success retour de l'enregistrement des données

View File

@ -668,174 +668,6 @@ class init extends common
]
]
];
public static $defaultDataI18n = [
'fr_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,
'profil' => 0,
'targetBlank' => false,
'title' => 'Accueil',
'shortTitle' => 'Accueil',
'block' => '12',
'barLeft' => '',
'barRight' => '',
'displayMenu' => 'none',
'hideMenuSide' => false,
'hideMenuChildren' => false,
'extraPosition' => false,
'css' => '',
'js' => ''
]
],
'module' => [],
'html' => '<h2>Bienvenue dans cette nouvelle installation de ZwiiCMS. Créez et gérez votre site facilement avec notre système convivial.</h2>'
],
'es' => [
'locale' => [
'homePageId' => 'inicio',
'page302' => 'none',
'page403' => 'none',
'page404' => 'none',
'legalPageId' => 'none',
'searchPageId' => 'none',
'searchPageLabel' => 'none',
'sitemapPageLabel' => 'none',
'legalPageLabel' => 'legales',
"metaDescription" => "Zwii es un CMS sin base de datos que facilita la creación y gestión de un sitio web sin necesidad de conocimientos de programación.",
"title" => "¡Tu sitio en unos clics!",
"cookies" => [
"mainLabel" => "Este sitio web utiliza cookies necesarias para su funcionamiento. Estas cookies permiten optimizar su funcionamiento, por ejemplo, memorizando los datos de conexión, el idioma que has elegido o la validación de este mensaje.",
"titleLabel" => "Cookies esenciales",
"linkLegalLabel" => "Consultar el aviso legal",
"cookiesFooterText" => "Cookies",
"buttonValidLabel" => "Aceptar"
]
],
'page' => [
'inicio' => [
'typeMenu' => 'text',
'iconUrl' => '',
'disable' => false,
'content' => 'inico.html',
'hideTitle' => false,
'homePageId' => true,
'breadCrumb' => false,
'metaDescription' => '',
'metaTitle' => '',
'moduleId' => '',
'modulePosition' => 'bottom',
'parentPageId' => '',
'position' => 1,
'group' => self::GROUP_VISITOR,
'profil' => 0,
'targetBlank' => false,
'title' => 'Página de inicio',
'shortTitle' => 'Página de inicio',
'block' => '12',
'barLeft' => '',
'barRight' => '',
'displayMenu' => 'none',
'hideMenuSide' => false,
'hideMenuChildren' => false,
'extraPosition' => false,
'css' => '',
'js' => ''
]
],
'module' => [],
'html' => '<h2>¡Bienvenido/a a esta nueva instalación de ZwiiCMS!</h2><p>Crea y administra tu sitio web de manera sencilla con nuestro sistema amigable.</p><p>Esta es tu primera página, inicia sesión para crear nuevas.</p>'
],
'default' => [
'locale' => [
'homePageId' => 'home',
'page302' => 'none',
'page403' => 'none',
'page404' => 'none',
'legalPageId' => 'none',
'searchPageId' => 'none',
'searchPageLabel' => 'none',
'sitemapPageLabel' => 'none',
'poweredPageLabel' => 'Powered by',
'legalPageLabel' => 'legals',
'metaDescription' => 'Zwii is a database-free CMS that makes it easy to create and manage a website without any programming knowledge.',
'title' => 'Your site in a few clicks!',
'cookies' => [
'mainLabel' => 'This site uses cookies necessary for its operation, they make it possible to streamline its operation for example by memorizing the connection data, the language you have chosen or the validation of this message.',
'titleLabel' => 'Essential cookies',
'linkLegalLabel' => 'Consult the legal notice',
'cookiesFooterText' => 'Cookies',
'buttonValidLabel' => 'Ok'
]
],
'page' => [
'home' => [
'typeMenu' => 'text',
'iconUrl' => '',
'disable' => false,
'content' => 'home.html',
'hideTitle' => false,
'homePageId' => true,
'breadCrumb' => false,
'metaDescription' => '',
'metaTitle' => '',
'moduleId' => '',
'modulePosition' => 'bottom',
'parentPageId' => '',
'position' => 1,
'group' => self::GROUP_VISITOR,
'profil' => 0,
'targetBlank' => false,
'title' => 'Home page',
'shortTitle' => 'Home',
'block' => '12',
'barLeft' => '',
'barRight' => '',
'displayMenu' => 'none',
'hideMenuSide' => false,
'hideMenuChildren' => false,
'extraPosition' => false,
'css' => '',
'js' => ''
]
],
'module' => [],
'html' => '<h2>Welcome to this new installation of ZwiiCMS.</h2><p>Easily create and manage your website with our user-friendly system.</p><p>This is your first page, log in to create new ones.</p>'
]
];
public static $siteTemplate = [
'page' => [
'accueil' => [
@ -1473,7 +1305,7 @@ class init extends common
]
]
],
'locale' => [
'config' => [
'homePageId' => 'accueil',
'page302' => 'none',
'page403' => 'none',

View File

@ -26,7 +26,7 @@ class language extends common
// Ajouter une langue de contenu
'edit' => self::GROUP_ADMIN,
// Éditer une langue de l'UI
'locale' => self::GROUP_ADMIN,
'config' => self::GROUP_ADMIN,
// Éditer une langue de contenu
'delete' => self::GROUP_ADMIN,
// Effacer une langue de contenu ou de l'interface
@ -332,7 +332,7 @@ class language extends common
// Création du contenu
$this->initData('page', $lang);
$this->initData('module', $lang);
$this->initData('locale', $lang);
$this->initData('config', $lang);
// Valeurs en sortie
@ -387,7 +387,7 @@ class language extends common
// Sauvegarder les locales
$data = [
'locale' => [
'config' => [
'homePageId' => $this->getInput('localeHomePageId', helper::FILTER_ID, true),
'page404' => $this->getInput('localePage404'),
'page403' => $this->getInput('localePage403'),
@ -414,7 +414,7 @@ class language extends common
// Sauvegarde hors méthodes si la langue n'est pas celle de l'UI
if ($lang === self::$i18nContent) {
// Enregistrer les données par lecture directe du formulaire
$this->setData(['locale', $data['locale']]);
$this->setData(['config', $data['config']]);
} else {
// Sauver sur le disque
file_put_contents(self::DATA_DIR . $lang . '/locale.json', json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT), LOCK_EX);
@ -433,7 +433,7 @@ class language extends common
// La locale est-elle celle de la langue de l'UI ?
if ($lang === self::$i18nContent) {
self::$locales[$lang]['locale'] = $this->getData(['locale']);
self::$locales[$lang]['config'] = $this->getData(['config']);
} else {
// Lire les locales sans passer par les méthodes
self::$locales[$lang] = json_decode(file_get_contents(self::DATA_DIR . $lang . '/locale.json'), true);
@ -464,7 +464,7 @@ class language extends common
// Valeurs en sortie
$this->addOutput([
'title' => helper::translate('Paramètres de la localisation') . '&nbsp;' . template::flag($lang, '20 %'),
'view' => 'locale'
'view' => 'config'
]);
}
@ -588,7 +588,7 @@ class language extends common
]);
}
switch ($target) {
case 'locale':
case 'config':
$success = false;
// Effacement d'une site dans une langue
if (is_dir(self::DATA_DIR . $lang) === true) {

View File

@ -32,16 +32,16 @@ class maintenance extends common
}
// Page perso définie et existante
if (
$this->getData(['locale', 'page302']) !== 'none'
and $this->getData(['page', $this->getData(['locale', 'page302'])])
$this->getData(['config', 'page302']) !== 'none'
and $this->getData(['page', $this->getData(['config', 'page302'])])
) {
$this->addOutput([
'display' => self::DISPLAY_LAYOUT_LIGHT,
'title' => $this->getData(['page', $this->getData(['locale', 'page302']), 'hideTitle'])
'title' => $this->getData(['page', $this->getData(['config', 'page302']), 'hideTitle'])
? ''
: $this->getData(['page', $this->getData(['locale', 'page302']), 'title']),
//'content' => $this->getdata(['page',$this->getData(['locale','page302']),'content']),
'content' => $this->getPage($this->getData(['locale', 'page302']), self::$i18nContent),
: $this->getData(['page', $this->getData(['config', 'page302']), 'title']),
//'content' => $this->getdata(['page',$this->getData(['config','page302']),'content']),
'content' => $this->getPage($this->getData(['config', 'page302']), self::$i18nContent),
'view' => 'index'
]);
} else {

View File

@ -211,7 +211,7 @@ class page extends common
]);
}
// Impossible de supprimer la page d'accueil
elseif ($page === $this->getData(['locale', 'homePageId'])) {
elseif ($page === $this->getData(['config', 'homePageId'])) {
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'config',
@ -219,7 +219,7 @@ class page extends common
]);
}
// Impossible de supprimer la page affectée
elseif ($page === $this->getData(['locale', 'searchPageId'])) {
elseif ($page === $this->getData(['config', 'searchPageId'])) {
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'config',
@ -227,7 +227,7 @@ class page extends common
]);
}
// Impossible de supprimer la page affectée
elseif ($page === $this->getData(['locale', 'legalPageId'])) {
elseif ($page === $this->getData(['config', 'legalPageId'])) {
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'config',
@ -235,7 +235,7 @@ class page extends common
]);
}
// Impossible de supprimer la page affectée
elseif ($page === $this->getData(['locale', 'page404'])) {
elseif ($page === $this->getData(['config', 'page404'])) {
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'config',
@ -243,7 +243,7 @@ class page extends common
]);
}
// Impossible de supprimer la page affectée
elseif ($page === $this->getData(['locale', 'page403'])) {
elseif ($page === $this->getData(['config', 'page403'])) {
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'config',
@ -251,7 +251,7 @@ class page extends common
]);
}
// Impossible de supprimer la page affectée
elseif ($page === $this->getData(['locale', 'page302'])) {
elseif ($page === $this->getData(['config', 'page302'])) {
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'config',
@ -358,8 +358,8 @@ class page extends common
}
}
// Si la page correspond à la page d'accueil, change l'id dans la configuration du site
if ($this->getData(['locale', 'homePageId']) === $this->getUrl(2)) {
$this->setData(['locale', 'homePageId', $pageId]);
if ($this->getData(['config', 'homePageId']) === $this->getUrl(2)) {
$this->setData(['config', 'homePageId', $pageId]);
}
}
// Supprime les données du module en cas de changement de module
@ -374,20 +374,20 @@ class page extends common
}
}
// Traitement des pages spéciales affectées dans la config :
if ($this->getUrl(2) === $this->getData(['locale', 'legalPageId'])) {
$this->setData(['locale', 'legalPageId', $pageId]);
if ($this->getUrl(2) === $this->getData(['config', 'legalPageId'])) {
$this->setData(['config', 'legalPageId', $pageId]);
}
if ($this->getUrl(2) === $this->getData(['locale', 'searchPageId'])) {
$this->setData(['locale', 'searchPageId', $pageId]);
if ($this->getUrl(2) === $this->getData(['config', 'searchPageId'])) {
$this->setData(['config', 'searchPageId', $pageId]);
}
if ($this->getUrl(2) === $this->getData(['locale', 'page404'])) {
$this->setData(['locale', 'page404', $pageId]);
if ($this->getUrl(2) === $this->getData(['config', 'page404'])) {
$this->setData(['config', 'page404', $pageId]);
}
if ($this->getUrl(2) === $this->getData(['locale', 'page403'])) {
$this->setData(['locale', 'page403', $pageId]);
if ($this->getUrl(2) === $this->getData(['config', 'page403'])) {
$this->setData(['config', 'page403', $pageId]);
}
if ($this->getUrl(2) === $this->getData(['locale', 'page302'])) {
$this->setData(['locale', 'page302', $pageId]);
if ($this->getUrl(2) === $this->getData(['config', 'page302'])) {
$this->setData(['config', 'page302', $pageId]);
}
// Si la page est une page enfant, actualise les positions des autres enfants du parent, sinon actualise les pages sans parents
$lastPosition = 1;

View File

@ -30,7 +30,7 @@ class sitemap extends common
foreach ($this->getHierarchy(null, true, null) as $parentId => $childIds) {
$items .= ' <li>';
if ($this->getData(['page', $parentId, 'disable']) === false && $this->getUser('group') >= $this->getData(['page', $parentId, 'group'])) {
$pageUrl = ($parentId !== $this->getData(['locale', 'homePageId'])) ? helper::baseUrl() . $parentId : helper::baseUrl(false);
$pageUrl = ($parentId !== $this->getData(['config', 'homePageId'])) ? helper::baseUrl() . $parentId : helper::baseUrl(false);
$items .= '<a href="' . $pageUrl . '">' . $this->getData(['page', $parentId, 'title']) . '</a>';
} else {
// page désactivée
@ -67,7 +67,7 @@ class sitemap extends common
// Sous-page
$items .= ' <li>';
if ($this->getData(['page', $childId, 'disable']) === false && $this->getUser('group') >= $this->getData(['page', $parentId, 'group'])) {
$pageUrl = ($childId !== $this->getData(['locale', 'homePageId'])) ? helper::baseUrl() . $childId : helper::baseUrl(false);
$pageUrl = ($childId !== $this->getData(['config', 'homePageId'])) ? helper::baseUrl() . $childId : helper::baseUrl(false);
$items .= '<a href="' . $pageUrl . '">' . $this->getData(['page', $childId, 'title']) . '</a>';
} else {
// page désactivée

View File

@ -418,8 +418,8 @@ class theme extends common
]);
// Sauvegarder la configuration localisée
$this->setData(['locale', 'legalPageId', $this->getInput('configLegalPageId')]);
$this->setData(['locale', 'searchPageId', $this->getInput('configSearchPageId')]);
$this->setData(['config', 'legalPageId', $this->getInput('configLegalPageId')]);
$this->setData(['config', 'searchPageId', $this->getInput('configSearchPageId')]);
// Valeurs en sortie
$this->addOutput([

View File

@ -131,29 +131,29 @@
<div class="row">
<div class="col3">
<?php echo template::checkbox('themeFooterDisplayLegal', true, 'Mentions légales', [
'checked' => $this->getData(['locale', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']),
'disabled' => $this->getData(['locale', 'legalPageId']) === 'none' ? true : false,
'checked' => $this->getData(['config', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']),
'disabled' => $this->getData(['config', 'legalPageId']) === 'none' ? true : false,
'help' => 'Sélectionnez une page pour activer'
]); ?>
</div>
<div class="col3">
<?php echo template::select('configLegalPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC')), [
'label' => helper::translate('Mentions légales') . '&nbsp;' . template::flag('selected', '20px'),
'selected' => $this->getData(['locale', 'legalPageId'])
'selected' => $this->getData(['config', 'legalPageId'])
]); ?>
</div>
<div class="col3">
<?php echo template::checkbox('themeFooterDisplaySearch', true, 'Rechercher dans le site', [
'checked' => $this->getData(['locale', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']),
'disabled' => $this->getData(['locale', 'searchPageId']) === 'none' ? true : false,
'checked' => $this->getData(['config', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']),
'disabled' => $this->getData(['config', 'searchPageId']) === 'none' ? true : false,
'help' => 'Sélectionnez une page pour activer'
]); ?>
</div>
<div class="col3">
<?php echo template::select('configSearchPageId', array_merge(['none' => 'Aucune'], helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC')), [
'label' => helper::translate('Rechercher dans le site') . '&nbsp;' . template::flag('selected', '20px'),
'selected' => $this->getData(['locale', 'searchPageId'])
'selected' => $this->getData(['config', 'searchPageId'])
]); ?>
</div>
</div>

View File

@ -135,9 +135,9 @@ class user extends common
if ($this->getInput('userAddSendMail', helper::FILTER_BOOLEAN) && $check === true) {
$sent = $this->sendMail(
$userMail,
'Compte créé sur ' . $this->getData(['locale', 'title']),
'Compte créé sur ' . $this->getData(['config', 'title']),
'Bonjour <strong>' . $userFirstname . ' ' . $userLastname . '</strong>,<br><br>' .
'Un administrateur vous a créé un compte sur le site ' . $this->getData(['locale', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.<br><br>' .
'Un administrateur vous a créé un compte sur le site ' . $this->getData(['config', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.<br><br>' .
'<strong>Identifiant du compte :</strong> ' . $this->getInput('userAddId') . '<br>' .
'<small>Nous ne conservons pas les mots de passe, en conséquence nous vous conseillons de conserver ce message tant que vous ne vous êtes pas connecté. Vous pourrez modifier votre mot de passe après votre première connexion.</small>',
null,
@ -1127,9 +1127,9 @@ class user extends common
) {
$sent = $this->sendMail(
$item['email'],
'Compte créé sur ' . $this->getData(['locale', 'title']),
'Compte créé sur ' . $this->getData(['config', 'title']),
'Bonjour <strong>' . $item['prenom'] . ' ' . $item['nom'] . '</strong>,<br><br>' .
'Un administrateur vous a créé un compte sur le site ' . $this->getData(['locale', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.<br><br>' .
'Un administrateur vous a créé un compte sur le site ' . $this->getData(['config', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.<br><br>' .
'<strong>Identifiant du compte :</strong> ' . $userId . '<br>' .
'<small>Un mot de passe provisoire vous été attribué, à la première connexion cliquez sur Mot de passe Oublié.</small>',
null,