up liens osmose thème détails

This commit is contained in:
Tykayn 2025-08-21 17:04:09 +02:00 committed by tykayn
parent 38fbc451f5
commit 503e6e9dac
3 changed files with 105 additions and 17 deletions

View file

@ -25,6 +25,7 @@ class WikiController extends AbstractController
$wikiPages = [];
$missingTranslations = [];
$pageDifferences = [];
// First pass: collect all staleness scores to find min and max
$stalenessScores = [];
@ -68,6 +69,33 @@ class WikiController extends AbstractController
}
}
// Calculate differences between English and French versions
foreach ($wikiPages as $key => $languages) {
if (isset($languages['en']) && isset($languages['fr'])) {
$en = $languages['en'];
$fr = $languages['fr'];
// Calculate differences (French - English)
$sectionDiff = (int)$fr['sections'] - (int)$en['sections'];
$wordDiff = (int)$fr['word_count'] - (int)$en['word_count'];
$linkDiff = (int)$fr['link_count'] - (int)$en['link_count'];
$mediaDiff = isset($fr['media_count']) && isset($en['media_count']) ?
(int)$fr['media_count'] - (int)$en['media_count'] : 0;
// Format differences with + or - sign
$pageDifferences[$key] = [
'section_diff' => $sectionDiff,
'section_diff_formatted' => ($sectionDiff >= 0 ? '+' : '') . $sectionDiff,
'word_diff' => $wordDiff,
'word_diff_formatted' => ($wordDiff >= 0 ? '+' : '') . $wordDiff,
'link_diff' => $linkDiff,
'link_diff_formatted' => ($linkDiff >= 0 ? '+' : '') . $linkDiff,
'media_diff' => $mediaDiff,
'media_diff_formatted' => ($mediaDiff >= 0 ? '+' : '') . $mediaDiff,
];
}
}
// Sort wiki pages by staleness score (descending)
uasort($wikiPages, function($a, $b) {
$scoreA = isset($a['en']) && isset($a['fr']) && isset($a['en']['staleness_score']) ? (float)$a['en']['staleness_score'] : 0;
@ -78,6 +106,7 @@ class WikiController extends AbstractController
return $this->render('admin/wiki.html.twig', [
'wiki_pages' => $wikiPages,
'missing_translations' => $missingTranslations,
'page_differences' => $pageDifferences,
]);
}