From 3d14977b73c5d42e3cc8bb8c6f0ca94435ab5a61 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 2 Dec 2018 14:49:28 +0000 Subject: [PATCH] Avoid problems with too long URI (should only happen some RSS feeds) --- src/Model/ItemURI.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Model/ItemURI.php b/src/Model/ItemURI.php index 559babb762..452f7e57c8 100644 --- a/src/Model/ItemURI.php +++ b/src/Model/ItemURI.php @@ -22,11 +22,14 @@ class ItemURI extends BaseObject */ public static function insert($fields) { - if (!DBA::exists('item-uri', ['uri' => $fields['uri']])) { + // If the URI gets too long we only take the first parts and hope for best + $uri = substr($fields['uri'], 0, 255); + + if (!DBA::exists('item-uri', ['uri' => $uri])) { DBA::insert('item-uri', $fields, true); } - $itemuri = DBA::selectFirst('item-uri', ['id'], ['uri' => $fields['uri']]); + $itemuri = DBA::selectFirst('item-uri', ['id'], ['uri' => $uri]); if (!DBA::isResult($itemuri)) { // This shouldn't happen @@ -45,6 +48,9 @@ class ItemURI extends BaseObject */ public static function getIdByURI($uri) { + // If the URI gets too long we only take the first parts and hope for best + $uri = substr($uri, 0, 255); + $itemuri = DBA::selectFirst('item-uri', ['id'], ['uri' => $uri]); if (!DBA::isResult($itemuri)) {