From 33c16f8be5e2e5c3d0b66c2489e2d25acbf40060 Mon Sep 17 00:00:00 2001 From: fulmeek <36341513+fulmeek@users.noreply.github.com> Date: Tue, 30 Apr 2019 21:01:48 +0200 Subject: [PATCH] [BakaUpdatesMangaReleasesBridge] Sanitize hash for more solid UIDs (#1113) This should minimize occasional hiccups on regular updates. --- bridges/BakaUpdatesMangaReleasesBridge.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bridges/BakaUpdatesMangaReleasesBridge.php b/bridges/BakaUpdatesMangaReleasesBridge.php index cde9be84..27eca280 100644 --- a/bridges/BakaUpdatesMangaReleasesBridge.php +++ b/bridges/BakaUpdatesMangaReleasesBridge.php @@ -68,7 +68,7 @@ class BakaUpdatesMangaReleasesBridge extends BridgeAbstract { $item['title'] = implode(' ', $title); $item['uri'] = $this->getURI(); - $item['uid'] = hash('sha1', $item['title']); + $item['uid'] = $this->getSanitizedHash($item['title']); $this->items[] = $item; } @@ -89,8 +89,12 @@ class BakaUpdatesMangaReleasesBridge extends BridgeAbstract { return parent::getName(); } + private function getSanitizedHash($string) { + return hash('sha1', preg_replace('/[^a-zA-Z0-9\-\.]/', '', ucwords(strtolower($string)))); + } + private function filterText($text) { - return rtrim($text, '*'); + return rtrim($text, '* '); } private function filterHTML($text) {