45 $extension = $this->objectManager->get(\
TYPO3\CMS\Extensionmanager\Domain\Model\Extension::class);
47 if (isset($extensionArray[
'version'])) {
48 $extension->setVersion($extensionArray[
'version']);
50 if (isset($extensionArray[
'constraints'])) {
64 $dependenciesObject = new \SplObjectStorage();
65 $unserializedDependencies = unserialize($dependencies, [
'allowed_classes' =>
false]);
66 if (!is_array($unserializedDependencies)) {
67 return $dependenciesObject;
69 foreach ($unserializedDependencies as $dependencyType => $dependencyValues) {
71 if (!is_array($dependencyValues)) {
74 foreach ($dependencyValues as $dependency => $versions) {
75 if ($dependencyType && $dependency) {
77 $lowest = $versionNumbers[0];
78 if (count($versionNumbers) === 2) {
79 $highest = $versionNumbers[1];
84 $dependencyObject = $this->objectManager->get(\
TYPO3\CMS\Extensionmanager\Domain\Model\Dependency::class);
85 $dependencyObject->setType($dependencyType);
88 $dependencyObject->setIdentifier($dependency ===
'cms' ?
'core' : $dependency);
89 $dependencyObject->setLowestVersion($lowest);
90 $dependencyObject->setHighestVersion($highest);
91 $dependenciesObject->attach($dependencyObject);
92 unset($dependencyObject);
96 return $dependenciesObject;