From d35e3ed0031c504cbc7ec30baf733053fb1a2623 Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Sun, 26 Sep 2021 19:23:42 +0200 Subject: [PATCH] Fix error in sorting by external list --- src/MD_STD_SORT.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/MD_STD_SORT.php b/src/MD_STD_SORT.php index 9461642..44c5303 100644 --- a/src/MD_STD_SORT.php +++ b/src/MD_STD_SORT.php @@ -62,8 +62,14 @@ final class MD_STD_SORT { if ($a[$nameIndex] === $searchValue) return -1; if ($b[$nameIndex] === $searchValue) return 1; - if (stripos($a[$nameIndex], $searchValue) !== false) return -1; - if (stripos($b[$nameIndex], $searchValue) !== false) return 1; + $containsSearchA = stripos($a[$nameIndex], $searchValue); + $containsSearchB = stripos($b[$nameIndex], $searchValue); + + if ($containsSearchA !== false and $containsSearchB !== false) { + return $extSortBy[$a[$sortIndex]] > $extSortBy[$b[$sortIndex]] ? -1 : 1; + } + if ($containsSearchA !== false) return -1; + if ($containsSearchB !== false) return 1; return $extSortBy[$a[$sortIndex]] > $extSortBy[$b[$sortIndex]] ? -1 : 1; };