36 public function mapExtensionArrayToModel(array $extensionArray) {
38 $extension = $this->objectManager->get(
'TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
39 $extension->setExtensionKey($extensionArray[
'key']);
40 if (isset($extensionArray[
'version'])) {
41 $extension->setVersion($extensionArray[
'version']);
43 if (isset($extensionArray[
'constraints'])) {
44 $extension->setDependencies($this->convertDependenciesToObjects(serialize($extensionArray[
'constraints'])));
55 public function convertDependenciesToObjects($dependencies) {
56 $dependenciesObject = new \SplObjectStorage();
57 $unserializedDependencies = unserialize($dependencies);
58 if (!is_array($unserializedDependencies)) {
59 return $dependenciesObject;
61 foreach ($unserializedDependencies as $dependencyType => $dependencyValues) {
63 if (!is_array($dependencyValues)) {
66 foreach ($dependencyValues as $dependency => $versions) {
67 if ($dependencyType && $dependency) {
69 $lowest = $versionNumbers[0];
70 if (count($versionNumbers) === 2) {
71 $highest = $versionNumbers[1];
76 $dependencyObject = $this->objectManager->get(
'TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Dependency');
77 $dependencyObject->setType($dependencyType);
78 $dependencyObject->setIdentifier($dependency);
79 $dependencyObject->setLowestVersion($lowest);
80 $dependencyObject->setHighestVersion($highest);
81 $dependenciesObject->attach($dependencyObject);
82 unset($dependencyObject);
86 return $dependenciesObject;
static convertVersionsStringToVersionNumbers($versionsString)