69 $this->dependencyUtility->checkDependencies($extension);
70 $this->downloadQueue->addExtensionToInstallQueue($extension);
81 $this->downloadQueue->addExtensionToCopyQueue($extensionKey, $sourceFolder);
93 $this->dependencyUtility->checkDependencies($extension);
94 if (!$this->dependencyUtility->hasDependencyErrors()) {
95 $this->downloadQueue->addExtensionToQueue($extension);
106 $this->dependencyUtility->checkDependencies($extension);
107 $this->downloadQueue->addExtensionToQueue($extension,
'update');
132 $updatedDependencies = array();
133 $installedDependencies = array();
134 $queue = $this->downloadQueue->getExtensionQueue();
135 $copyQueue = $this->downloadQueue->getExtensionCopyStorage();
137 if (count($copyQueue) > 0) {
140 $downloadedDependencies = array();
141 if (array_key_exists(
'download', $queue)) {
144 if (array_key_exists(
'update', $queue)) {
149 $this->downloadQueue->addExtensionToInstallQueue($extension);
150 $installQueue = $this->downloadQueue->getExtensionInstallStorage();
151 if (count($installQueue) > 0) {
154 return array_merge($downloadedDependencies, $updatedDependencies, $installedDependencies);
163 return $this->dependencyUtility->getDependencyErrors();
172 return $this->extensionModelUtility->mapExtensionArrayToModel(
173 $this->installUtility->enrichExtensionWithDetails($extensionKey)
184 return $this->installUtility->isAvailable($extensionKey);
204 $this->dependencyUtility->setSkipSystemDependencyCheck($this->skipSystemDependencyCheck);
205 $this->dependencyUtility->checkDependencies($extension);
207 return !$this->dependencyUtility->hasDependencyErrors();
219 $path = $paths[$this->downloadUtility->getDownloadPath()];
220 $localExtensionStorage = $path . $extensionKey .
'/Initialisation/Extensions/';
221 $this->dependencyUtility->setLocalExtensionStorage($localExtensionStorage);
232 foreach ($copyQueue as $extensionKey => $sourceFolder) {
233 $destination = $installPaths[
'Local'] . $extensionKey;
237 $this->downloadQueue->removeExtensionFromCopyQueue($extensionKey);
249 $resolvedDependencies = array();
250 foreach ($updateQueue as $extensionToUpdate) {
251 $this->installUtility->uninstall($extensionToUpdate->getExtensionKey());
252 $resolvedDependencies[
'updated'][$extensionToUpdate->getExtensionKey()] = $extensionToUpdate;
254 return $resolvedDependencies;
264 if (!empty($installQueue)) {
267 $resolvedDependencies = array();
268 foreach ($installQueue as $extensionKey => $_) {
269 $this->installUtility->install($extensionKey);
271 if (!is_array($resolvedDependencies[
'installed'])) {
272 $resolvedDependencies[
'installed'] = array();
274 $resolvedDependencies[
'installed'][$extensionKey] = $extensionKey;
276 return $resolvedDependencies;
287 $resolvedDependencies = array();
288 foreach ($downloadQueue as $extensionToDownload) {
289 $this->downloadUtility->download($extensionToDownload);
290 $this->downloadQueue->removeExtensionFromQueue($extensionToDownload);
291 $resolvedDependencies[
'downloaded'][$extensionToDownload->getExtensionKey()] = $extensionToDownload;
294 return $resolvedDependencies;
304 $this->dependencyUtility->setSkipSystemDependencyCheck($this->skipSystemDependencyCheck);
305 $this->dependencyUtility->checkDependencies($extension);
306 $installQueue = $this->downloadQueue->getExtensionInstallStorage();
307 if (is_array($installQueue) && count($installQueue) > 0) {
308 $installQueue = array(
'install' => $installQueue);
310 return array_merge($this->downloadQueue->getExtensionQueue(), $installQueue);
324 if ($extension->
getUid()) {
325 $this->downloadUtility->download($extension);
349 if (!isset($this->signalSlotDispatcher)) {
351 ->get(
'TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher');
$skipSystemDependencyCheck
downloadExtension(Extension $extension)
markExtensionForCopy($extensionKey, $sourceFolder)
setSkipSystemDependencyCheck($skipSystemDependencyCheck)
checkDependencies(Extension $extension)
isAvailable($extensionKey)
installDependencies(array $installQueue)
uninstallDependenciesToBeUpdated(array $updateQueue)
static makeInstance($className)
downloadDependencies(array $downloadQueue)
static copyDirectory($source, $destination)
getExtension($extensionKey)
copyDependencies(array $copyQueue)
getAndResolveDependencies(Extension $extension)
static returnInstallPaths()
emitWillInstallExtensionsSignal(array $installQueue)
setInExtensionRepository($extensionKey)
static returnAllowedInstallPaths()
installExtension(Extension $extension)
markExtensionForUpdate(Extension $extension)
getSignalSlotDispatcher()
markExtensionForInstallation($extensionKey)
emitHasInstalledExtensionSignal($extensionKey)
markExtensionForDownload(Extension $extension)
downloadMainExtension(Extension $extension)