66 $hasDependencies = FALSE;
69 $dependencyTypes = $this->managementService->getAndResolveDependencies($extension);
70 if (count($dependencyTypes) > 0) {
71 $hasDependencies = TRUE;
72 $message = $this->
translate(
'downloadExtension.dependencies.headline');
73 foreach ($dependencyTypes as $dependencyType => $dependencies) {
75 foreach ($dependencies as $extensionKey => $dependency) {
76 $extensions .= $this->
translate(
'downloadExtension.dependencies.extensionWithVersion', array(
77 $extensionKey, $dependency->getVersion()
80 $message .= $this->
translate(
'downloadExtension.dependencies.typeHeadline',
82 $this->
translate(
'downloadExtension.dependencyType.' . $dependencyType),
87 $title = $this->
translate(
'downloadExtension.dependencies.resolveAutomatically');
89 $this->view->assign(
'dependencies', $dependencyTypes);
90 }
catch (\Exception $e) {
92 $title = $this->
translate(
'downloadExtension.dependencies.errorTitle');
93 $message = $e->getMessage();
95 $this->view->assign(
'extension', $extension)
96 ->assign(
'hasDependencies', $hasDependencies)
97 ->assign(
'hasErrors', $hasErrors)
98 ->assign(
'message', $message)
99 ->assign(
'title', $title);
112 ->assign(
'extension', $extension)
113 ->assign(
'unresolvedDependencies', $errorMessages);
123 $this->managementService->setSkipSystemDependencyCheck(TRUE);
124 $this->
forward(
'installFromTer', NULL, NULL, array(
'extension' => $extension,
'downloadPath' =>
'Local'));
135 if (!\
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded(
'impexp')) {
136 $this->
forward(
'distributions',
'List');
139 if ($errorMessages) {
140 foreach ($errorMessages as $extensionKey => $messages) {
141 foreach ($messages as $message) {
144 \
TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate(
145 'distribution.error.headline',
149 \
TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR
162 \
TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate(
'distribution.welcome.message',
'extensionmanager')
163 .
' <strong>' . $extension->getExtensionKey() .
'</strong>',
172 array(
'extension' => $extension)
186 $extensionKey = $this->request->getArgument(
'extension');
187 $version = $this->request->getArgument(
'version');
188 $extension = $this->extensionRepository->findOneByExtensionKeyAndVersion($extensionKey, $version);
190 $extension = $this->extensionRepository->findHighestAvailableVersion($extensionKey);
194 if (in_array($extensionKey, $installedExtensions, TRUE)) {
196 $this->managementService->installExtension($extension);
198 $this->managementService->downloadMainExtension($extension);
201 htmlspecialchars($this->
translate(
'extensionList.updateFlashMessage.body', array($extensionKey))),
202 $this->
translate(
'extensionList.updateFlashMessage.title')
204 }
catch (\Exception $e) {
218 protected function updateCommentForUpdatableVersionsAction() {
219 $extensionKey = $this->request->getArgument(
'extension');
220 $versionStart = $this->request->getArgument(
'integerVersionStart');
221 $versionStop = $this->request->getArgument(
'integerVersionStop');
222 $updateComments = array();
224 $updatableVersions = $this->extensionRepository->findByVersionRangeAndExtensionKeyOrderedByVersion(
230 $highestPossibleVersion = FALSE;
232 foreach ($updatableVersions as $updatableVersion) {
233 if ($highestPossibleVersion === FALSE) {
234 $highestPossibleVersion = $updatableVersion->getVersion();
236 $updateComments[$updatableVersion->getVersion()] = $updatableVersion->getUpdateComment();
238 $this->view->assign(
'updateComments', $updateComments)
239 ->assign(
'extensionKey', $extensionKey)
240 ->assign(
'version', $highestPossibleVersion);
253 $errorMessages = array();
255 $this->downloadUtility->setDownloadPath($downloadPath);
256 if ((
$result = $this->managementService->installExtension($extension)) === FALSE) {
257 $errorMessages = $this->managementService->getDependencyErrors();
260 $errorMessages = array(
261 $extension->getExtensionKey() => array(
263 'code' => $e->getCode(),
264 'message' => $e->getMessage(),
270 return array(
$result, $errorMessages);
installExtensionWithoutSystemDependencyCheckAction(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension)
translate($key, $arguments=NULL)
static getLoadedExtensionListArray()
installDistributionAction(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension)
forward($actionName, $controllerName=NULL, $extensionName=NULL, array $arguments=NULL)
if($list_of_literals) if(!empty($literals)) if(!empty($literals)) $result
Analyse literals to prepend the N char to them if their contents aren't numeric.
redirect($actionName, $controllerName=NULL, $extensionName=NULL, array $arguments=NULL, $pageUid=NULL, $delay=0, $statusCode=303)
addFlashMessage($messageBody, $messageTitle='', $severity=\TYPO3\CMS\Core\Messaging\AbstractMessage::OK, $storeInSession=TRUE)
static translate($key, $extensionName, $arguments=NULL)
installFromTer(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension, $downloadPath='Local')
installFromTerAction(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension, $downloadPath)
checkDependenciesAction(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension)