53 lines
2.0 KiB
PHP
53 lines
2.0 KiB
PHP
<?php
|
|
|
|
$langTargetArray = ['fr_FR', 'de', 'en_EN', 'es', 'el_GR', 'it', 'pt_PT'];
|
|
$folderTargetArray = [
|
|
'../modules/blog/',
|
|
'../modules/news/',
|
|
'../modules/form/',
|
|
'../modules/gallery/',
|
|
'../modules/redirection/',
|
|
'../modules/search/',
|
|
];
|
|
foreach ($langTargetArray as $lang) {
|
|
echo $lang;
|
|
echo '<hr>';
|
|
foreach ($folderTargetArray as $module) {
|
|
$fichiers[] = $module . $lang . '.json';
|
|
trouver_clés_uniques_et_effacer_doublons($fichiers, $lang);
|
|
}
|
|
}
|
|
|
|
function trouver_clés_uniques_et_effacer_doublons($fichiers, $target)
|
|
{
|
|
// Tableau pour stocker toutes les clés des tableaux JSON
|
|
$toutes_cles = array();
|
|
|
|
// Parcourir tous les fichiers JSON et ajouter les clés au tableau $toutes_cles
|
|
foreach ($fichiers as $fichier) {
|
|
$json = json_decode(file_get_contents($fichier), true);
|
|
$toutes_cles = array_merge($toutes_cles, array_keys($json));
|
|
}
|
|
|
|
// Supprimer les clés en double
|
|
$cles_uniques = array_unique($toutes_cles);
|
|
|
|
// Parcourir tous les fichiers JSON et supprimer les clés en double
|
|
foreach ($fichiers as $fichier) {
|
|
$json = json_decode(file_get_contents($fichier), true);
|
|
$json_unique = array_intersect_key($json, array_flip($cles_uniques));
|
|
file_put_contents($fichier, json_encode($json_unique, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
|
|
}
|
|
|
|
// Créer un tableau vide pour stocker les clés uniques des tableaux JSON
|
|
$json_final = array();
|
|
|
|
// Parcourir tous les fichiers JSON et ne conserver que les clés uniques
|
|
foreach ($fichiers as $fichier) {
|
|
$json = json_decode(file_get_contents($fichier), true);
|
|
$json_final = array_merge($json_final, $json);
|
|
}
|
|
|
|
// Enregistrer les clés uniques dans un fichier JSON
|
|
file_put_contents($target . '.json', json_encode($json_final, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
|
|
} |