From 40c2e299a0a9a63b4e64e14dff95e9f7d480db6e Mon Sep 17 00:00:00 2001 From: Roman Schmid Date: Thu, 1 Mar 2018 11:39:30 +0100 Subject: [PATCH] Fix "mb_stripos(): Empty delimiter" warning when no search-keywords are given for `DBText::ContextSummary`. Add unit-test to cover that case. --- src/ORM/FieldType/DBText.php | 2 +- tests/php/ORM/DBTextTest.php | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ORM/FieldType/DBText.php b/src/ORM/FieldType/DBText.php index 494d21986..c719a525d 100644 --- a/src/ORM/FieldType/DBText.php +++ b/src/ORM/FieldType/DBText.php @@ -198,7 +198,7 @@ class DBText extends DBString $keywords = Convert::raw2xml($keywords); // Find the search string - $position = (int) mb_stripos($text, $keywords); + $position = empty($keywords) ? 0 : (int) mb_stripos($text, $keywords); // We want to search string to be in the middle of our block to give it some context $position = max(0, $position - ($characters / 2)); diff --git a/tests/php/ORM/DBTextTest.php b/tests/php/ORM/DBTextTest.php index 2fde108a0..bde17d05f 100644 --- a/tests/php/ORM/DBTextTest.php +++ b/tests/php/ORM/DBTextTest.php @@ -263,6 +263,13 @@ class DBTextTest extends SapphireTest 'schön', // check UTF8 support 'both schön and können...', + ], + [ + 'both schön and können have umlauts', + 21, + '', + // check non existant search term + 'both schön and können...', ]