Fix parsing of packageName / packageDescription in PackageArchive
authorTim Düsterhus <duesterhus@woltlab.com>
Wed, 8 Jul 2020 12:50:28 +0000 (14:50 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Mon, 25 Jan 2021 13:13:55 +0000 (14:13 +0100)
Previously a lowercase key remained in the returned array.

wcfsetup/install/files/lib/system/package/PackageArchive.class.php

index ba4c94fc11d6fcf6c138e303576c3a12b36f220d..991d25e3285c0b18aefb53f55890d5e61a53ab8f 100644 (file)
@@ -211,15 +211,6 @@ class PackageArchive
                 case 'packagedescription':
                 case 'readme':
                 case 'license':
-                    if (!isset($this->packageInfo[$element->tagName])) {
-                        $this->packageInfo[$element->tagName] = [];
-                    }
-
-                    $languageCode = 'default';
-                    if ($element->hasAttribute('language')) {
-                        $languageCode = $element->getAttribute('language');
-                    }
-
                     // fix case-sensitive names
                     $name = $element->tagName;
                     if ($name == 'packagename') {
@@ -228,6 +219,15 @@ class PackageArchive
                         $name = 'packageDescription';
                     }
 
+                    if (!isset($this->packageInfo[$name])) {
+                        $this->packageInfo[$name] = [];
+                    }
+
+                    $languageCode = 'default';
+                    if ($element->hasAttribute('language')) {
+                        $languageCode = $element->getAttribute('language');
+                    }
+
                     $this->packageInfo[$name][$languageCode] = $element->nodeValue;
                     break;