Commit fc84d209 authored by Helmut Hummel's avatar Helmut Hummel
Browse files

[BUGFIX] Register runtime class loading info on ext update

Since the runtime class loading information is
set during activation of the package, we need to ensure
that this code is called.

Releases: master
Resolves: #67410
Change-Id: I635e858b58c15d8563b4da54c009004e0a7416f9
Reviewed-on: http://review.typo3.org/40160


Reviewed-by: Andreas Fernandez's avatarAndreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez's avatarAndreas Fernandez <typo3@scripting-base.de>
Reviewed-by: Nicole Cordes's avatarNicole Cordes <typo3@cordes.co>
Tested-by: Nicole Cordes's avatarNicole Cordes <typo3@cordes.co>
Reviewed-by: default avatarHelmut Hummel <helmut.hummel@typo3.org>
Tested-by: default avatarHelmut Hummel <helmut.hummel@typo3.org>
parent 4b97b6a8
......@@ -635,18 +635,19 @@ class PackageManager implements \TYPO3\CMS\Core\SingletonInterface {
* @param string $packageKey
*/
public function activatePackage($packageKey) {
$package = $this->getPackage($packageKey);
$this->registerTransientClassLoadingInformationForPackage($package);
if ($this->isPackageActive($packageKey)) {
return;
}
$package = $this->getPackage($packageKey);
$this->activePackages[$packageKey] = $package;
$this->packageStatesConfiguration['packages'][$packageKey]['state'] = 'active';
if (!isset($this->packageStatesConfiguration['packages'][$packageKey]['packagePath'])) {
$this->packageStatesConfiguration['packages'][$packageKey]['packagePath'] = str_replace($this->packagesBasePath, '', $package->getPackagePath());
}
$this->sortAndSavePackageStates();
$this->registerTransientClassLoadingInformationForPackage($package);
}
/**
......
......@@ -100,9 +100,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
public function install($extensionKey) {
$extension = $this->enrichExtensionWithDetails($extensionKey);
$this->ensureConfiguredDirectoriesExist($extension);
if (!$this->isLoaded($extensionKey)) {
$this->loadExtension($extensionKey);
}
$this->loadExtension($extensionKey);
if (!empty($extension['clearcacheonload']) || !empty($extension['clearCacheOnLoad'])) {
$this->cacheManager->flushCaches();
} else {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment