Export des données de module plusieurs langues en un écran

This commit is contained in:
Fred Tempez 2022-10-18 18:36:23 +02:00
parent 334ea6867a
commit 978fd08857
6 changed files with 39 additions and 35 deletions

View File

@ -317,6 +317,7 @@
"Version": "Versión",
"Catégorie": "Categoría",
"Page": "Página",
"Page associée": "Página asociada",
"Copie de contenus localisés": "Copia de contenidos localizados",
"Nouveau contenu localisé": "Nuevo contenido localizado",
"Sélectionnez une langue": "Seleccione un idioma",

View File

@ -316,6 +316,7 @@
"Version": "",
"Catégorie": "",
"Page": "",
"Page associée": "",
"Copie de contenus localisés": "",
"Nouveau contenu localisé": "",
"Sélectionnez une langue": "",

View File

@ -433,14 +433,14 @@ class plugin extends common
// Générer la liste des pages avec module de la langue par défaut
foreach ($pagesModules[$keyi18n] as $key => $value) {
if (!empty($value)) {
$pagesInfos[$keyi18n][$key]['pageId'] = $key;
$pagesInfos[$keyi18n][$key]['title'] = $this->getData(['page', $key, 'shortTitle']);
$pagesInfos[$keyi18n][$key]['title'] = $pages['page'][$key]['title'];
$pagesInfos[$keyi18n][$key]['moduleId'] = $value;
}
}
}
// Recherche des modules orphelins dans toutes les langues
$orphans = $installed = array_flip(array_keys($infoModules));
foreach ($i18nSites as $keyi18n => $valuei18n) {
@ -504,39 +504,36 @@ class plugin extends common
// Mise en forme du tableau des modules employés dans les pages
// Avec les commandes de sauvegarde et de restauration
self::$modulesData[] = [];
if (
isset($pagesInfos) &&
array_key_exists(self::$i18nContent, $pagesInfos)
isset($pagesInfos) //&&
//array_key_exists(self::$i18nContent, $pagesInfos)
) {
foreach ($pagesInfos[self::$i18nContent] as $keyPage => $value) {
if (isset($infoModules[$pagesInfos[self::$i18nContent][$keyPage]['moduleId']])) {
// Co[nstruire le tableau de sortie
self::$modulesData[] = [
$infoModules[$pagesInfos[self::$i18nContent][$keyPage]['moduleId']]['realName'],
$pagesInfos[self::$i18nContent][$keyPage]['moduleId'],
$infoModules[$pagesInfos[self::$i18nContent][$keyPage]['moduleId']]['version'],
//template::flag(self::$i18nContent, '20px'),
'<a href ="' . helper::baseUrl() . $keyPage . '" target="_blank">' . $pagesInfos[self::$i18nContent][$keyPage]['title'] . ' (' . $keyPage . ')</a>',
template::button('dataExport' . $keyPage, [
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/' . self::$i18nContent . '/' . $pagesInfos[self::$i18nContent][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
'value' => template::ico('download'),
'help' => 'Exporter les données du module'
]),
template::button('dataDelete' . $keyPage, [
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataDelete/' . self::$i18nContent . '/' . $pagesInfos[self::$i18nContent][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
'value' => template::ico('trash'),
'class' => 'buttonRed dataDelete',
'help' => 'Détacher le module de la page',
])
];
} else {
self::$modulesData[] = [];
foreach ($i18nSites as $keyi18n => $valuei18n) {
foreach ($pagesInfos[$keyi18n] as $keyPage => $value) {
if (isset($infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']])) {
// Co[nstruire le tableau de sortie
self::$modulesData[] = [
$infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']]['realName'] . '&nbsp(' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . ')',
$infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']]['version'],
template::flag($keyi18n, '20px') . '&nbsp<a href ="' . helper::baseUrl() . $keyPage . '" target="_blank">' . $pagesInfos[$keyi18n][$keyPage]['title'] . ' (' . $keyPage . ')</a>',
template::button('dataExport' . $keyPage, [
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
'value' => template::ico('download'),
'help' => 'Exporter les données du module'
]),
template::button('dataDelete' . $keyPage, [
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataDelete/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
'value' => template::ico('trash'),
'class' => 'buttonRed dataDelete',
'help' => 'Détacher le module de la page',
])
];
}
}
}
}
// Valeurs en sortie
$this->addOutput([
'title' => helper::translate('Gestion des modules'),

View File

@ -73,9 +73,8 @@
<div class="row">
<div class="col12">
<div class="block">
<h4><?php echo helper::translate('Modules configurés'); ?>
&nbsp;
<?php echo template::flag(self::$i18nContent, '20px'); ?>
<h4>
<?php echo helper::translate('Modules configurés'); ?>
</h4>
<div class="row">
<div class="col1 offset11">
@ -88,7 +87,7 @@
</div>
<div class="row">
<div class="col12">
<?php echo template::table([2, 2, 1, 5, 1, 1], $module::$modulesData, ['Module', 'Identifiant', 'Version', 'Page', '', '']); ?>
<?php echo template::table([4, 1, 5, 1, 1], $module::$modulesData, ['Module', 'Version', 'Page associée', '', '']); ?>
</div>
</div>
</div>

View File

@ -317,6 +317,7 @@
"Version": "Versión",
"Catégorie": "Categoría",
"Page": "Página",
"Page associée": "Página asociada",
"Copie de contenus localisés": "Copia de contenidos localizados",
"Nouveau contenu localisé": "Nuevo contenido localizado",
"Sélectionnez une langue": "Seleccione un idioma",
@ -483,5 +484,7 @@
"Menu standard": "Menú estándar",
"Menu accessoire": "Menú accesorio",
"Activer": "Activar",
"Interface": "Interfaz"
"Interface": "Interfaz",
"Importer dans": "Importar a",
"Archive ZIP": "Archivo ZIP"
}

View File

@ -316,6 +316,7 @@
"Version": "",
"Catégorie": "",
"Page": "",
"Page associée": "",
"Copie de contenus localisés": "",
"Nouveau contenu localisé": "",
"Sélectionnez une langue": "",
@ -481,5 +482,7 @@
"Le sous-menu de la page parente": "",
"Menu standard": "",
"Menu accessoire": "",
"Activer": ""
"Activer": "",
"Importer dans": "",
"Archive": ""
}