]> BookStack Code Mirror - bookstack/commitdiff
Sort Rules: Updated name comparison to not ignore non-ascii chars
authorDan Brown <redacted>
Wed, 2 Apr 2025 14:17:17 +0000 (15:17 +0100)
committerDan Brown <redacted>
Wed, 2 Apr 2025 14:17:17 +0000 (15:17 +0100)
Related to #5550 and #5542

app/Sorting/SortSetOperationComparisons.php
tests/Sorting/SortRuleTest.php

index e506e9a139df5798ab578599c66cbfe74d241022..cb20e1860f76f1a337e7ccc884b1bfee8b068ed7 100644 (file)
@@ -14,12 +14,12 @@ class SortSetOperationComparisons
 {
     public static function nameAsc(Entity $a, Entity $b): int
     {
-        return strtolower(ASCII::to_transliterate($a->name)) <=>  strtolower(ASCII::to_transliterate($b->name));
+        return strtolower(ASCII::to_transliterate($a->name, null)) <=> strtolower(ASCII::to_transliterate($b->name, null));
     }
 
     public static function nameDesc(Entity $a, Entity $b): int
     {
-        return strtolower(ASCII::to_transliterate($b->name)) <=>  strtolower(ASCII::to_transliterate($a->name));
+        return strtolower(ASCII::to_transliterate($b->name, null)) <=> strtolower(ASCII::to_transliterate($a->name, null));
     }
 
     public static function nameNumericAsc(Entity $a, Entity $b): int
index b0f20cba5aee9b13012de796eb549c45717df278..4a9d3a7b33f2365754380b24fd1be9d30189e2b4 100644 (file)
@@ -200,6 +200,8 @@ class SortRuleTest extends TestCase
             "bread",
             "Éclaire",
             "egg",
+            "É😀ire",
+            "É🫠ire",
             "Milk",
             "pizza",
             "Tomato",