From d2a6836e32ed013676fd969425e133e0ebb104fc Mon Sep 17 00:00:00 2001
From: Yassine Doghri <yassine@doghri.fr>
Date: Thu, 22 Jun 2023 14:24:55 +0000
Subject: [PATCH] fix: set ReversedTaxonomy keys to lowercase for case
 insensitive lookup

- add .devcontainer config
---
 .devcontainer/devcontainer.json  | 27 +++++++++++++++++++++++++++
 composer.json                    |  1 -
 composer.lock                    | 18 ++++++++++++++++++
 src/ReversedTaxonomyGenerate.php |  4 ++--
 4 files changed, 47 insertions(+), 3 deletions(-)
 create mode 100644 .devcontainer/devcontainer.json
 create mode 100644 composer.lock

diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..ab02193
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,27 @@
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the
+// README at: https://github.com/devcontainers/templates/tree/main/src/php
+{
+	"name": "PHP",
+	// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
+	"image": "mcr.microsoft.com/devcontainers/php:0-8.1",
+
+	// Features to add to the dev container. More info: https://containers.dev/features.
+	// "features": {},
+
+	// Configure tool-specific properties.
+	// "customizations": {},
+
+	// Use 'forwardPorts' to make a list of ports inside the container available locally.
+	// "forwardPorts": [
+	// 	8080
+	// ],
+	"features": {
+		"ghcr.io/devcontainers/features/git:1": {}
+	},
+
+	// Use 'postCreateCommand' to run commands after the container is created.
+	// "postCreateCommand": "sudo chmod a+x \"$(pwd)\" && sudo rm -rf /var/www/html && sudo ln -s \"$(pwd)\" /var/www/html"
+
+	// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
+	"remoteUser": "root"
+}
diff --git a/composer.json b/composer.json
index 78168aa..7db0c43 100644
--- a/composer.json
+++ b/composer.json
@@ -1,4 +1,3 @@
-
 {
   "name": "adaures/podcast-persons-taxonomy",
   "description": "Generate PHP translation files for CodeIgniter4 from the podcast-namespace's Persons Taxonomy json files.",
diff --git a/composer.lock b/composer.lock
new file mode 100644
index 0000000..4bcdfe9
--- /dev/null
+++ b/composer.lock
@@ -0,0 +1,18 @@
+{
+    "_readme": [
+        "This file locks the dependencies of your project to a known state",
+        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+        "This file is @generated automatically"
+    ],
+    "content-hash": "84750f945133f503a1f96ec51fd7275b",
+    "packages": [],
+    "packages-dev": [],
+    "aliases": [],
+    "minimum-stability": "stable",
+    "stability-flags": [],
+    "prefer-stable": false,
+    "prefer-lowest": false,
+    "platform": [],
+    "platform-dev": [],
+    "plugin-api-version": "2.3.0"
+}
diff --git a/src/ReversedTaxonomyGenerate.php b/src/ReversedTaxonomyGenerate.php
index 152a3cd..1ee3146 100755
--- a/src/ReversedTaxonomyGenerate.php
+++ b/src/ReversedTaxonomyGenerate.php
@@ -57,10 +57,10 @@ foreach ($taxonomy as $line) {
     $newgroup = slug(substr($line['key'], 0, strpos($line['key'], '/')));
     if ($group !== $newgroup) {
         $group = $newgroup;
-        $taxonomy_array[$line['group']] = ['slug' => $group];
+        $taxonomy_array[strtolower($line['group'])] = ['slug' => $group];
     }
     $role = slug(substr($line['key'], strpos($line['key'], '/') + 1));
-    $taxonomy_array[$line['group']]['roles'][$line['role']] = ['slug' => $role];
+    $taxonomy_array[strtolower($line['group'])]['roles'][strtolower($line['role'])] = ['slug' => $role];
 }
 
 $currentYear = date("Y");
-- 
GitLab