feat: rétroliens dans la sidebar des articles
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user