feat: rétroliens dans la sidebar des articles

This commit is contained in:
Cedric Abonnel
2026-05-12 23:20:43 +02:00
parent 0e2a6466a0
commit 4897371e94
5 changed files with 59 additions and 3 deletions
+22
View File
@@ -884,6 +884,28 @@ class ArticleManager
);
}
/**
* Retourne les articles publiés qui contiennent un lien vers /post/<slug>.
*/
public function getBacklinks(string $slug, string $excludeUuid = ''): array
{
$pattern = '/post/' . $slug;
$result = [];
foreach ($this->getAll(publishedOnly: true) as $article) {
if ($excludeUuid !== '' && $article['uuid'] === $excludeUuid) {
continue;
}
foreach ($article['external_links'] ?? [] as $link) {
$path = parse_url($link['url'] ?? '', PHP_URL_PATH) ?? '';
if ($path === $pattern || rtrim($path, '/') === $pattern) {
$result[] = $article;
break;
}
}
}
return $result;
}
private function removeDir(string $dir): void
{
foreach (scandir($dir) as $entry) {