Nom du cookie + drapeaux ok
This commit is contained in:
parent
ac8f65277e
commit
bf1302a0a4
@ -501,8 +501,8 @@ class template
|
||||
$lang = $langId;
|
||||
break;
|
||||
case 'selected':
|
||||
if (isset($_COOKIE['ZWII_I18N_SITE'])) {
|
||||
$lang = $_COOKIE['ZWII_I18N_SITE'];
|
||||
if (isset($_COOKIE['ZWII_CONTENT'])) {
|
||||
$lang = $_COOKIE['ZWII_CONTENT'];
|
||||
} else {
|
||||
$lang = 'fr_FR';
|
||||
}
|
||||
|
@ -307,9 +307,9 @@ class common
|
||||
self::$i18nUI = $t['config']['i18n']['interface'];
|
||||
|
||||
// Déterminer la langue du contenu du site
|
||||
if (isset($this->input['_COOKIE']['ZWII_I18N_SITE'])) {
|
||||
if (isset($this->input['_COOKIE']['ZWII_CONTENT'])) {
|
||||
// Déterminé par le cookie
|
||||
self::$i18nContent = $this->input['_COOKIE']['ZWII_I18N_SITE'];
|
||||
self::$i18nContent = $this->input['_COOKIE']['ZWII_CONTENT'];
|
||||
setlocale(LC_TIME, self::$i18nContent . '_' . strtoupper(self::$i18nContent));
|
||||
} else {
|
||||
// Absence du cookie, la langue par défaut est celle de l'interface.
|
||||
@ -1256,7 +1256,8 @@ class common
|
||||
// Récupérer la config de la page courante
|
||||
$blocks = explode('-', $this->getData(['page', $this->getUrl(0), 'block']));
|
||||
// Initialiser
|
||||
$blockleft = $blockright = "";
|
||||
$blockleft = '';
|
||||
$blockright = '';
|
||||
switch (sizeof($blocks)) {
|
||||
case 1: // une colonne
|
||||
$content = 'col' . $blocks[0];
|
||||
@ -2267,11 +2268,11 @@ class common
|
||||
{
|
||||
foreach (self::$languages as $key => $value) {
|
||||
if (
|
||||
$this->getData(['config', 'i18n', $key]) === 'site'
|
||||
is_dir(self::DATA_DIR . $key)
|
||||
) {
|
||||
if (
|
||||
(isset($_COOKIE['ZWII_I18N_SITE'])
|
||||
and $_COOKIE['ZWII_I18N_SITE'] === $key
|
||||
(isset($_COOKIE['ZWII_CONTENT'])
|
||||
and $_COOKIE['ZWII_CONTENT'] === $key
|
||||
)
|
||||
) {
|
||||
$select = ' class="i18nFlagSelected" ';
|
||||
@ -2280,7 +2281,7 @@ class common
|
||||
}
|
||||
|
||||
echo '<li>';
|
||||
echo '<a href="' . helper::baseUrl() . 'translate/i18n/' . $key . '/' . $this->getData(['config', 'i18n', $key]) . '/' . $this->getUrl(0) . '"><img ' . $select . ' alt="' . $value . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $key . '.png"/></a>';
|
||||
echo '<a href="' . helper::baseUrl() . 'translate/content/' . $key . '"><img ' . $select . ' alt="' . $value . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $key . '.png"/></a>';
|
||||
echo '</li>';
|
||||
}
|
||||
}
|
||||
|
@ -890,7 +890,7 @@ if ($this->getData(['core', 'dataVersion']) < 11600) {
|
||||
$this->deleteData(['config', 'i18n', 'scriptGoogle']);
|
||||
$this->deleteData(['config', 'i18n', 'showCredits']);
|
||||
$this->deleteData(['config', 'i18n', 'autoDetect']);
|
||||
helper::deleteCookie('ZWII_I18N_SCRIPT');
|
||||
helper::deleteCookie('ZWII_CONTENTSCRIPT');
|
||||
|
||||
// Nettoyage de fichiers inutiles
|
||||
if (file_exists('core\module\user\view\import\import.help.html')) {
|
||||
|
@ -148,7 +148,7 @@ class install extends common
|
||||
);
|
||||
|
||||
// Nettoyer les cookies de langue d'une précédente installation
|
||||
helper::deleteCookie('ZWII_I18N_SITE');
|
||||
helper::deleteCookie('ZWII_CONTENT');
|
||||
|
||||
// Créer le contenu dans la langue sélectionnée
|
||||
self::$i18nContent = substr(self::$i18nUI, 0, 2);
|
||||
|
@ -22,7 +22,7 @@ class translate extends common
|
||||
'add' => self::GROUP_ADMIN, // Ajouter une langue de contenu
|
||||
'edit' => self::GROUP_ADMIN, // Editer une langue de contenu
|
||||
'delete' => self::GROUP_ADMIN, // Effacer une langue de contenu
|
||||
'i18n' => self::GROUP_VISITOR,
|
||||
'content' => self::GROUP_VISITOR,
|
||||
];
|
||||
|
||||
// Language contents
|
||||
@ -388,19 +388,18 @@ class translate extends common
|
||||
* Traitement du changement de langue
|
||||
* Fonction utilisée par le noyau
|
||||
*/
|
||||
public function i18n()
|
||||
public function content()
|
||||
{
|
||||
|
||||
// Activation du drapeau
|
||||
if ($this->getInput('ZWII_I18N_' . strtoupper($this->getUrl(3))) !== $this->getUrl(2)) {
|
||||
// Nettoyer et stocker le choix de l'utilisateur
|
||||
helper::deleteCookie('ZWII_I18N_SITE');
|
||||
// Sélectionner
|
||||
setcookie('ZWII_I18N_' . strtoupper($this->getUrl(3)), $this->getUrl(2), time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true);
|
||||
// Désactivation du drapeau, langue FR par défaut
|
||||
} else {
|
||||
setcookie('ZWII_I18N_SITE', 'fr', time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true);
|
||||
$lang = $this->getUrl(2);
|
||||
// Changement ?
|
||||
if ($this->getInput('ZWII_CONTENT') !== $lang) {
|
||||
// Nettoyer le cookie
|
||||
helper::deleteCookie('ZWII_CONTENT');
|
||||
// Stocker le choix
|
||||
setcookie('ZWII_CONTENT', $lang, time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true);
|
||||
}
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getData(['locale', $this->getUrl(2), 'homePageId'])
|
||||
|
Loading…
Reference in New Issue
Block a user