‪TYPO3CMS  11.5
TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController:
TYPO3\CMS\Extensionmanager\Controller\AbstractController TYPO3\CMS\Core\Security\BlockSerializationTrait TYPO3\CMS\Extbase\Mvc\Controller\ActionController TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface

Public Member Functions

 __construct (FileHandlingUtility $fileHandlingUtility, ExtensionManagementService $managementService)
 
 __destruct ()
 
 formAction ()
 
 extractAction ($overwrite=false)
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController
 injectResponseFactory (ResponseFactoryInterface $responseFactory)
 
 injectStreamFactory (StreamFactoryInterface $streamFactory)
 
 injectConfigurationManager (ConfigurationManagerInterface $configurationManager)
 
 injectObjectManager (ObjectManagerInterface $objectManager)
 
 injectSignalSlotDispatcher (Dispatcher $signalSlotDispatcher)
 
 injectValidatorResolver (ValidatorResolver $validatorResolver)
 
 injectViewResolver (ViewResolverInterface $viewResolver)
 
 injectReflectionService (ReflectionService $reflectionService)
 
 injectHashService (HashService $hashService)
 
 injectMvcPropertyMappingConfigurationService (MvcPropertyMappingConfigurationService $mvcPropertyMappingConfigurationService)
 
 injectEventDispatcher (EventDispatcherInterface $eventDispatcher)
 
 injectPropertyMapper (PropertyMapper $propertyMapper)
 
 injectInternalFlashMessageService (FlashMessageService $flashMessageService)
 
 injectInternalExtensionService (ExtensionService $extensionService)
 
 initializeControllerArgumentsBaseValidators ()
 
ResponseInterface processRequest (RequestInterface $request)
 
ControllerContext getControllerContext ()
 
 addFlashMessage ($messageBody, $messageTitle='', $severity=AbstractMessage::OK, $storeInSession=true)
 
never forward ($actionName, $controllerName=null, $extensionName=null, array $arguments=null)
 
never throwStatus ($statusCode, $statusMessage=null, $content=null)
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Core\Security\BlockSerializationTrait
 __wakeup ()
 

Protected Member Functions

 checkFileName ($fileName)
 
bool activateExtension ($extensionKey)
 
string extractExtensionFromZipFile (string $uploadedFile, string $extensionKey, bool $overwrite=false)
 
string getExtensionKeyFromFileName ($fileName)
 
 copyExtensionFolderToTempFolder ($extensionKey)
 
 removeExtensionAndRestoreFromBackup ($fileName)
 
 removeBackupFolder ()
 
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Extensionmanager\Controller\AbstractController
string translate ($key, $arguments=null)
 
 handleTriggerArguments ()
 
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController
 initializeView (ViewInterface $view)
 
 initializeAction ()
 
 initializeActionMethodArguments ()
 
 initializeActionMethodValidators ()
 
 renderAssetsForRequest ($request)
 
string resolveActionMethodName ()
 
 callActionMethod (RequestInterface $request)
 
ViewInterface resolveView ()
 
 setViewConfiguration (ViewInterface $view)
 
array getViewProperty ($extbaseFrameworkConfiguration, $setting)
 
ResponseInterface errorAction ()
 
 addErrorFlashMessage ()
 
string bool getErrorFlashMessage ()
 
ResponseInterface null forwardToReferringRequest ()
 
string getFlattenedValidationErrorMessage ()
 
 getFlashMessageQueue (string $identifier=null)
 
ControllerContext buildControllerContext ()
 
never redirect ($actionName, $controllerName=null, $extensionName=null, array $arguments=null, $pageUid=null, $_=null, $statusCode=303)
 
never redirectToUri ($uri, $_=null, $statusCode=303)
 
string addBaseUriIfNecessary ($uri)
 
 mapRequestArgumentsToControllerArguments ()
 
ResponseInterface htmlResponse (string $html=null)
 
ResponseInterface jsonResponse (string $json=null)
 

Protected Attributes

FileHandlingUtility $fileHandlingUtility
 
ExtensionManagementService $managementService
 
string $extensionBackupPath = ''
 
bool $removeFromOriginalPath = false
 
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Extensionmanager\Controller\AbstractController
array $triggerArguments
 
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController
ResponseFactoryInterface $responseFactory
 
StreamFactoryInterface $streamFactory
 
TYPO3 CMS Extbase Reflection ReflectionService $reflectionService
 
HashService $hashService
 
ViewInterface $view
 
string $defaultViewObjectName = TemplateView::class
 
string $actionMethodName = 'indexAction'
 
string $errorMethodName = 'errorAction'
 
TYPO3 CMS Extbase Mvc Controller MvcPropertyMappingConfigurationService $mvcPropertyMappingConfigurationService
 
EventDispatcherInterface $eventDispatcher
 
Request $request
 
TYPO3 CMS Extbase SignalSlot Dispatcher $signalSlotDispatcher
 
ObjectManagerInterface $objectManager
 
TYPO3 CMS Extbase Mvc Web Routing UriBuilder $uriBuilder
 
array $settings
 
TYPO3 CMS Extbase Validation ValidatorResolver $validatorResolver
 
TYPO3 CMS Extbase Mvc Controller Arguments $arguments
 
ControllerContext $controllerContext
 
ConfigurationManagerInterface $configurationManager
 

Additional Inherited Members

- ‪Public Attributes inherited from ‪TYPO3\CMS\Extensionmanager\Controller\AbstractController
const TRIGGER_RefreshModuleMenu = 'refreshModuleMenu'
 
const TRIGGER_RefreshTopbar = 'refreshTopbar'
 

Detailed Description

Controller for handling upload of a .zip file which is then placed as an extension

This class is a specific controller implementation and is not considered part of the Public TYPO3 API.

Definition at line 34 of file UploadExtensionFileController.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::__construct ( FileHandlingUtility  $fileHandlingUtility,
ExtensionManagementService  $managementService 
)

◆ __destruct()

TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::__destruct ( )

Remove backup folder before destruction

Definition at line 59 of file UploadExtensionFileController.php.

References TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController\removeBackupFolder().

Member Function Documentation

◆ activateExtension()

bool TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::activateExtension (   $extensionKey)
protected
Parameters
string$extensionKey
Returns
‪bool

Definition at line 171 of file UploadExtensionFileController.php.

Referenced by TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController\extractAction().

◆ checkFileName()

TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::checkFileName (   $fileName)
protected

Validate the filename of an uploaded file

Parameters
string$fileName
Exceptions
InvalidFileException

Definition at line 156 of file UploadExtensionFileController.php.

Referenced by TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController\extractAction().

◆ copyExtensionFolderToTempFolder()

TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::copyExtensionFolderToTempFolder (   $extensionKey)
protected

Copies current extension folder to typo3temp directory as backup

Parameters
string$extensionKey
Exceptions

Definition at line 222 of file UploadExtensionFileController.php.

References TYPO3\CMS\Core\Core\Environment\getVarPath(), and TYPO3\CMS\Core\Utility\GeneralUtility\mkdir().

Referenced by TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController\extractExtensionFromZipFile().

◆ extractAction()

◆ extractExtensionFromZipFile()

string TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::extractExtensionFromZipFile ( string  $uploadedFile,
string  $extensionKey,
bool  $overwrite = false 
)
protected

Extracts a given zip file and installs the extension

Parameters
string$uploadedFile‪Path to uploaded file
string$extensionKey
bool$overwrite‪Overwrite existing extension if TRUE
Returns
‪string
Exceptions
ExtensionManagerException

Definition at line 187 of file UploadExtensionFileController.php.

References TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController\copyExtensionFolderToTempFolder().

Referenced by TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController\extractAction().

◆ formAction()

TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::formAction ( )

◆ getExtensionKeyFromFileName()

string TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::getExtensionKeyFromFileName (   $fileName)
protected

As there is no information about the extension key in the zip we have to use the file name to get that information filename format is expected to be extensionkey_version.zip.

Removes version and file extension from filename to determine extension key

Parameters
string$fileName
Returns
‪string

Definition at line 211 of file UploadExtensionFileController.php.

Referenced by TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController\extractAction(), and TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController\removeExtensionAndRestoreFromBackup().

◆ removeBackupFolder()

TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::removeBackupFolder ( )
protected

◆ removeExtensionAndRestoreFromBackup()

TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::removeExtensionAndRestoreFromBackup (   $fileName)
protected

Member Data Documentation

◆ $extensionBackupPath

string TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::$extensionBackupPath = ''
protected

Definition at line 42 of file UploadExtensionFileController.php.

◆ $fileHandlingUtility

FileHandlingUtility TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::$fileHandlingUtility
protected

◆ $managementService

ExtensionManagementService TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::$managementService
protected

◆ $removeFromOriginalPath

bool TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController::$removeFromOriginalPath = false
protected

Definition at line 46 of file UploadExtensionFileController.php.