diff --git a/libraries/cms/installer/manifest/package.php b/libraries/cms/installer/manifest/package.php index 14aeff11d11d1..9b6ee8e48646a 100644 --- a/libraries/cms/installer/manifest/package.php +++ b/libraries/cms/installer/manifest/package.php @@ -72,5 +72,16 @@ protected function loadManifestFromData(SimpleXMLElement $xml) $this->filelist[] = new JInstallerExtension($file); } } + + // Handle cases where package contains folders + if (isset($xml->files->folder) && count($xml->files->folder)) + { + foreach ($xml->files->folder as $folder) + { + // NOTE: JInstallerExtension doesn't expect a string. + // DO NOT CAST $folder + $this->filelist[] = new JInstallerExtension($folder); + } + } } }