12010 effacement d'une traduction du site
This commit is contained in:
parent
e9ca38b9ab
commit
51dacd7c27
@ -22,7 +22,7 @@ class translate extends common
|
|||||||
'add' => self::GROUP_ADMIN, // Ajouter une langue de contenu
|
'add' => self::GROUP_ADMIN, // Ajouter une langue de contenu
|
||||||
'ui' => self::GROUP_ADMIN, // Éditer une langue de l'UI
|
'ui' => self::GROUP_ADMIN, // Éditer une langue de l'UI
|
||||||
'locale' => self::GROUP_ADMIN, // Éditer une langue de contenu
|
'locale' => self::GROUP_ADMIN, // Éditer une langue de contenu
|
||||||
'delete' => self::GROUP_ADMIN, // Effacer une langue de contenu
|
'delete' => self::GROUP_ADMIN, // Effacer une langue de contenu ou de l'interface
|
||||||
'content' => self::GROUP_VISITOR,
|
'content' => self::GROUP_VISITOR,
|
||||||
'update' => self::GROUP_ADMIN,
|
'update' => self::GROUP_ADMIN,
|
||||||
];
|
];
|
||||||
@ -66,7 +66,6 @@ class translate extends common
|
|||||||
'notification' => $response ? helper::translate('Copie terminée avec succès') : 'Copie terminée avec des erreurs',
|
'notification' => $response ? helper::translate('Copie terminée avec succès') : 'Copie terminée avec des erreurs',
|
||||||
'state' => $response
|
'state' => $response
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -146,24 +145,24 @@ class translate extends common
|
|||||||
// tableau des langues installées
|
// tableau des langues installées
|
||||||
if (is_dir(self::DATA_DIR . $key)) {
|
if (is_dir(self::DATA_DIR . $key)) {
|
||||||
if (self::$i18nUI === $key) {
|
if (self::$i18nUI === $key) {
|
||||||
$message = helper::translate('Langue par défaut');
|
$messageLocale = helper::translate('Langue par défaut');
|
||||||
} elseif (isset($_COOKIE['ZWII_CONTENT']) && $_COOKIE['ZWII_CONTENT'] === $key) {
|
} elseif (isset($_COOKIE['ZWII_CONTENT']) && $_COOKIE['ZWII_CONTENT'] === $key) {
|
||||||
$message = helper::translate('Langue du site sélectionnée');
|
$messageLocale = helper::translate('Langue du site sélectionnée');
|
||||||
} else {
|
} else {
|
||||||
$message = '';
|
$messageLocale = '';
|
||||||
}
|
}
|
||||||
self::$languagesInstalled[] = [
|
self::$languagesInstalled[] = [
|
||||||
template::flag($key, '20 %'),
|
template::flag($key, '20 %'),
|
||||||
$value . ' (' . $key . ')',
|
$value . ' (' . $key . ')',
|
||||||
$message,
|
$messageLocale,
|
||||||
template::button('translateContentLanguageEdit' . $key, [
|
template::button('translateContentLanguageLocaleEdit' . $key, [
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/locale/' . $key,
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/locale/' . $key,
|
||||||
'value' => template::ico('pencil'),
|
'value' => template::ico('pencil'),
|
||||||
'help' => 'Éditer'
|
'help' => 'Éditer'
|
||||||
]),
|
]),
|
||||||
template::button('translateContentLanguageDelete' . $key, [
|
template::button('translateContentLanguageLocaleDelete' . $key, [
|
||||||
'class' => 'translateDelete buttonRed' . ($message ? ' disabled' : ''),
|
'class' => 'translateDeleteLocale buttonRed' . ($messageLocale ? ' disabled' : ''),
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/' . $key . '/' . $_SESSION['csrf'],
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/locale/' . $key . '/' . $_SESSION['csrf'],
|
||||||
'value' => template::ico('trash'),
|
'value' => template::ico('trash'),
|
||||||
'help' => 'Supprimer',
|
'help' => 'Supprimer',
|
||||||
])
|
])
|
||||||
@ -182,21 +181,35 @@ class translate extends common
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Construit le tableau des langues de l'UI
|
// Construit le tableau des langues de l'UI
|
||||||
|
$usersUI = [];
|
||||||
|
$users = $this->getData(['user']);
|
||||||
|
foreach ($users as $key => $value) {
|
||||||
|
array_push($usersUI, $this->getData(['user', $key, 'language']));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Construction du tableau
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
|
|
||||||
// La langue est-elle référencée ?
|
// La langue est-elle référencée ?
|
||||||
if (array_key_exists(basename($file, '.json'), self::$languages)) {
|
if (array_key_exists(basename($file, '.json'), self::$languages)) {
|
||||||
|
|
||||||
//self::$i18nFiles[basename($file, '.json')] = self::$languages[basename($file, '.json')];
|
//self::$i18nFiles[basename($file, '.json')] = self::$languages[basename($file, '.json')];
|
||||||
$selected = basename($file, '.json');
|
$selected = basename($file, '.json');
|
||||||
self::$languagesUiInstalled[$file] = [
|
self::$languagesUiInstalled[$file] = [
|
||||||
self::$languages[$selected],
|
|
||||||
template::flag($selected, '20 %'),
|
template::flag($selected, '20 %'),
|
||||||
|
self::$languages[$selected],
|
||||||
self::$i18nUI === $selected ? helper::translate('Interface') : '',
|
self::$i18nUI === $selected ? helper::translate('Interface') : '',
|
||||||
'',
|
template::button('translateContentLanguageUIEdit' . basename($file, '.json'), [
|
||||||
template::button('translateContentLanguageEdit' . $file, [
|
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/ui/' . $selected,
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/ui/' . $selected,
|
||||||
'value' => template::ico('pencil'),
|
'value' => template::ico('pencil'),
|
||||||
'help' => 'Éditer',
|
'help' => 'Éditer',
|
||||||
'disabled' => 'fr_FR' === $selected
|
'disabled' => 'fr_FR' === $selected
|
||||||
|
]),
|
||||||
|
template::button('translateContentLanguageUIDelete' . basename($file, '.json'), [
|
||||||
|
'class' => 'translateDeleteUI buttonRed' . (in_array(basename($file, '.json'), $usersUI) ? ' disabled' : ''),
|
||||||
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/ui/' . basename($file, '.json') . '/' . $_SESSION['csrf'],
|
||||||
|
'value' => template::ico('trash'),
|
||||||
|
'help' => 'Supprimer',
|
||||||
])
|
])
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@ -448,9 +461,10 @@ class translate extends common
|
|||||||
public function delete()
|
public function delete()
|
||||||
{
|
{
|
||||||
// Jeton incorrect ou URl avec le code langue incorrecte
|
// Jeton incorrect ou URl avec le code langue incorrecte
|
||||||
$lang = $this->getUrl(2);
|
$target = $this->getUrl(2);
|
||||||
|
$lang = $this->getUrl(3);
|
||||||
if (
|
if (
|
||||||
$this->getUrl(3) !== $_SESSION['csrf']
|
$this->getUrl(4) !== $_SESSION['csrf']
|
||||||
|| !array_key_exists($lang, self::$languages)
|
|| !array_key_exists($lang, self::$languages)
|
||||||
) {
|
) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
@ -460,7 +474,9 @@ class translate extends common
|
|||||||
'notification' => helper::translate('Action interdite')
|
'notification' => helper::translate('Action interdite')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Effacement d'une langue installée
|
switch ($target) {
|
||||||
|
case 'locale':
|
||||||
|
// Effacement d'une site dans une langue
|
||||||
if (is_dir(self::DATA_DIR . $lang) === true) {
|
if (is_dir(self::DATA_DIR . $lang) === true) {
|
||||||
$success = $this->removeDir(self::DATA_DIR . $lang);
|
$success = $this->removeDir(self::DATA_DIR . $lang);
|
||||||
}
|
}
|
||||||
@ -470,6 +486,24 @@ class translate extends common
|
|||||||
'notification' => $success ? helper::translate('Traduction supprimée') : helper::translate('Erreur inconnue'),
|
'notification' => $success ? helper::translate('Traduction supprimée') : helper::translate('Erreur inconnue'),
|
||||||
'state' => $success
|
'state' => $success
|
||||||
]);
|
]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'ui' :
|
||||||
|
// Effacement d'une langue de l'interface
|
||||||
|
if (file_exists(self::I18N_DIR . $lang . '.json') === true) {
|
||||||
|
$success =unlink(self::I18N_DIR . $lang . '.json');
|
||||||
|
}
|
||||||
|
// Valeurs en sortie
|
||||||
|
$this->addOutput([
|
||||||
|
'redirect' => helper::baseUrl() . 'translate',
|
||||||
|
'notification' => $success ? helper::translate('Traduction supprimée') : helper::translate('Erreur inconnue'),
|
||||||
|
'state' => $success
|
||||||
|
]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
# Do nothing
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col12">
|
<div class="col12">
|
||||||
<?php if ($module::$languagesUiInstalled) : ?>
|
<?php if ($module::$languagesUiInstalled) : ?>
|
||||||
<?php echo template::table([3, 1, 1, 6, 1], $module::$languagesUiInstalled, ['Langues', '', '', '', '']); ?>
|
<?php echo template::table([1, 4, 5, 1, 1], $module::$languagesUiInstalled, ['Langues', '', '', '', '']); ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -65,7 +65,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col12">
|
<div class="col12">
|
||||||
<?php if ($module::$languagesInstalled) : ?>
|
<?php if ($module::$languagesInstalled) : ?>
|
||||||
<?php echo template::table([1, 3, 6, 1, 1], $module::$languagesInstalled, ['Langues', '', '', '', '']); ?>
|
<?php echo template::table([1, 4, 5, 1, 1], $module::$languagesInstalled, ['Langues', '', '', '', '']); ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user