From a95edf4e1754cdae018611fe66a25a9c9038eb58 Mon Sep 17 00:00:00 2001 From: Jay Huskins <54708-jayhuskins@users.noreply.drupalcode.org> Date: Fri, 19 Jan 2024 00:37:24 +0000 Subject: [PATCH] Null coalesce missing definition categories and labels to empty strings to avoid warning for passing null to strnatcasecmp. --- .../Core/Plugin/CategorizingPluginManagerTrait.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/lib/Drupal/Core/Plugin/CategorizingPluginManagerTrait.php b/core/lib/Drupal/Core/Plugin/CategorizingPluginManagerTrait.php index 1ce144680262..bc87de8d5ab0 100644 --- a/core/lib/Drupal/Core/Plugin/CategorizingPluginManagerTrait.php +++ b/core/lib/Drupal/Core/Plugin/CategorizingPluginManagerTrait.php @@ -89,10 +89,14 @@ public function getSortedDefinitions(array $definitions = NULL, $label_key = 'la // Sort the plugins first by category, then by label. $definitions = $definitions ?? $this->getDefinitions(); uasort($definitions, function ($a, $b) use ($label_key) { - if ((string) $a['category'] != (string) $b['category']) { - return strnatcasecmp($a['category'], $b['category']); + $a_category = (string) $a['category'] ?? ''; + $b_category = (string) $b['category'] ?? ''; + if ($a_category != $b_category) { + return strnatcasecmp($a_category, $b_category); } - return strnatcasecmp($a[$label_key], $b[$label_key]); + $a_label = $a[$label_key] ?? ''; + $b_label = $b[$label_key] ?? ''; + return strnatcasecmp($a_label, $b_label); }); return $definitions; } -- GitLab