diff --git a/libraries/src/Installer/Adapter/ComponentAdapter.php b/libraries/src/Installer/Adapter/ComponentAdapter.php index eaa2c5f2a60bc..24895828ab8d4 100644 --- a/libraries/src/Installer/Adapter/ComponentAdapter.php +++ b/libraries/src/Installer/Adapter/ComponentAdapter.php @@ -1360,6 +1360,7 @@ public function refreshManifestCache() $manifest_details = Installer::parseXMLInstallFile($this->parent->getPath('manifest')); $this->parent->extension->manifest_cache = json_encode($manifest_details); $this->parent->extension->name = $manifest_details['name']; + $this->parent->extension->changelogurl = $manifest_details['changelogurl']; // Namespace is optional if (isset($manifest_details['namespace'])) { diff --git a/libraries/src/Installer/Adapter/FileAdapter.php b/libraries/src/Installer/Adapter/FileAdapter.php index 110e907c3bc95..131de93cab9e8 100644 --- a/libraries/src/Installer/Adapter/FileAdapter.php +++ b/libraries/src/Installer/Adapter/FileAdapter.php @@ -583,6 +583,7 @@ public function refreshManifestCache() $manifest_details = Installer::parseXMLInstallFile($this->parent->getPath('manifest')); $this->parent->extension->manifest_cache = json_encode($manifest_details); $this->parent->extension->name = $manifest_details['name']; + $this->parent->extension->changelogurl = $manifest_details['changelogurl']; try { return $this->parent->extension->store(); diff --git a/libraries/src/Installer/Adapter/LanguageAdapter.php b/libraries/src/Installer/Adapter/LanguageAdapter.php index cb6b52f63c57b..48fd94cf90865 100644 --- a/libraries/src/Installer/Adapter/LanguageAdapter.php +++ b/libraries/src/Installer/Adapter/LanguageAdapter.php @@ -734,9 +734,11 @@ public function refreshManifestCache() $this->parent->manifest = $this->parent->isManifest($manifestPath); $this->parent->setPath('manifest', $manifestPath); + $manifest_details = Installer::parseXMLInstallFile($this->parent->getPath('manifest')); $this->parent->extension->manifest_cache = json_encode($manifest_details); $this->parent->extension->name = $manifest_details['name']; + $this->parent->extension->changelogurl = $manifest_details['changelogurl']; if ($this->parent->extension->store()) { return true; diff --git a/libraries/src/Installer/Adapter/LibraryAdapter.php b/libraries/src/Installer/Adapter/LibraryAdapter.php index 8a611de7f8166..b157e08b00558 100644 --- a/libraries/src/Installer/Adapter/LibraryAdapter.php +++ b/libraries/src/Installer/Adapter/LibraryAdapter.php @@ -494,6 +494,7 @@ public function refreshManifestCache() $manifest_details = Installer::parseXMLInstallFile($this->parent->getPath('manifest')); $this->parent->extension->manifest_cache = json_encode($manifest_details); $this->parent->extension->name = $manifest_details['name']; + $this->parent->extension->changelogurl = $manifest_details['changelogurl']; try { return $this->parent->extension->store(); diff --git a/libraries/src/Installer/Adapter/ModuleAdapter.php b/libraries/src/Installer/Adapter/ModuleAdapter.php index ef681877231cb..265487d52faab 100644 --- a/libraries/src/Installer/Adapter/ModuleAdapter.php +++ b/libraries/src/Installer/Adapter/ModuleAdapter.php @@ -415,9 +415,11 @@ public function refreshManifestCache() $manifestPath = $client->path . '/modules/' . $this->parent->extension->element . '/' . $this->parent->extension->element . '.xml'; $this->parent->manifest = $this->parent->isManifest($manifestPath); $this->parent->setPath('manifest', $manifestPath); + $manifest_details = Installer::parseXMLInstallFile($this->parent->getPath('manifest')); $this->parent->extension->manifest_cache = json_encode($manifest_details); $this->parent->extension->name = $manifest_details['name']; + $this->parent->extension->changelogurl = $manifest_details['changelogurl']; if ($this->parent->extension->store()) { return true; diff --git a/libraries/src/Installer/Adapter/PackageAdapter.php b/libraries/src/Installer/Adapter/PackageAdapter.php index b68aaf5351d3a..16d9162e5750f 100644 --- a/libraries/src/Installer/Adapter/PackageAdapter.php +++ b/libraries/src/Installer/Adapter/PackageAdapter.php @@ -717,6 +717,7 @@ public function refreshManifestCache() $manifest_details = Installer::parseXMLInstallFile($this->parent->getPath('manifest')); $this->parent->extension->manifest_cache = json_encode($manifest_details); $this->parent->extension->name = $manifest_details['name']; + $this->parent->extension->changelogurl = $manifest_details['changelogurl']; try { return $this->parent->extension->store(); diff --git a/libraries/src/Installer/Adapter/PluginAdapter.php b/libraries/src/Installer/Adapter/PluginAdapter.php index 564d2ba365092..476ef924bd5d7 100644 --- a/libraries/src/Installer/Adapter/PluginAdapter.php +++ b/libraries/src/Installer/Adapter/PluginAdapter.php @@ -611,10 +611,11 @@ public function refreshManifestCache() . $this->parent->extension->element . '.xml'; $this->parent->manifest = $this->parent->isManifest($manifestPath); $this->parent->setPath('manifest', $manifestPath); + $manifest_details = Installer::parseXMLInstallFile($this->parent->getPath('manifest')); $this->parent->extension->manifest_cache = json_encode($manifest_details); - - $this->parent->extension->name = $manifest_details['name']; + $this->parent->extension->name = $manifest_details['name']; + $this->parent->extension->changelogurl = $manifest_details['changelogurl']; if ($this->parent->extension->store()) { return true; diff --git a/libraries/src/Installer/Adapter/TemplateAdapter.php b/libraries/src/Installer/Adapter/TemplateAdapter.php index 85717ad785d45..510fae8f50ba3 100644 --- a/libraries/src/Installer/Adapter/TemplateAdapter.php +++ b/libraries/src/Installer/Adapter/TemplateAdapter.php @@ -677,6 +677,7 @@ public function refreshManifestCache() $manifest_details = Installer::parseXMLInstallFile($this->parent->getPath('manifest')); $this->parent->extension->manifest_cache = json_encode($manifest_details); $this->parent->extension->name = $manifest_details['name']; + $this->parent->extension->changelogurl = $manifest_details['changelogurl']; try { return $this->parent->extension->store(); diff --git a/libraries/src/Installer/Installer.php b/libraries/src/Installer/Installer.php index dcdd10f90699c..ec3042f7bbc7e 100644 --- a/libraries/src/Installer/Installer.php +++ b/libraries/src/Installer/Installer.php @@ -2311,12 +2311,13 @@ public static function parseXMLInstallFile($path) $data['creationDate'] = ((string) $xml->creationDate) ?: Text::_('JLIB_UNKNOWN'); $data['author'] = ((string) $xml->author) ?: Text::_('JLIB_UNKNOWN'); - $data['copyright'] = (string) $xml->copyright; - $data['authorEmail'] = (string) $xml->authorEmail; - $data['authorUrl'] = (string) $xml->authorUrl; - $data['version'] = (string) $xml->version; - $data['description'] = (string) $xml->description; - $data['group'] = (string) $xml->group; + $data['copyright'] = (string) $xml->copyright; + $data['authorEmail'] = (string) $xml->authorEmail; + $data['authorUrl'] = (string) $xml->authorUrl; + $data['version'] = (string) $xml->version; + $data['description'] = (string) $xml->description; + $data['group'] = (string) $xml->group; + $data['changelogurl'] = (string) $xml->changelogurl; // Child template specific fields. if (isset($xml->inheritable)) {