2 namespace TYPO3\CMS\Install\Controller\Action;
103 $contextService = $this->objectManager->get(\TYPO3\CMS\Install\Service\ContextService::class);
106 $controllerActionDirectoryName = ucfirst($this->controller);
107 $mainTemplate = ucfirst($this->action);
108 $this->view->setTemplatePathAndFilename($viewRootPath .
'Templates/Action/' . $controllerActionDirectoryName .
'/' . $mainTemplate .
'.html');
109 $this->view->setLayoutRootPath($viewRootPath .
'Layouts/');
110 $this->view->setPartialRootPath($viewRootPath .
'Partials/');
113 ->assign(
'time', time())
114 ->assign(
'action', $this->action)
115 ->assign(
'controller', $this->controller)
116 ->assign(
'token', $this->token)
117 ->assign(
'context', $contextService->getContextString())
118 ->assign(
'contextService', $contextService)
119 ->assign(
'lastError', $this->lastError)
120 ->assign(
'messages', $this->messages)
121 ->assign(
'typo3Version', TYPO3_version)
122 ->assign(
'siteName',
$GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'sitename']);
204 if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded(
'adodb')
205 && \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded(
'dbal')
219 $context =
'standalone';
221 if (isset($formValues[
'context'])) {
222 $context = $formValues[
'context'] ===
'backend' ?
'backend' :
'standalone';
233 protected function getDatabaseConnection()
236 if (!is_object($database)) {
238 $database = $this->objectManager->get(\TYPO3\CMS\Core\Database\DatabaseConnection::class);
239 $database->setDatabaseUsername(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'username']);
240 $database->setDatabasePassword(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'password']);
241 $database->setDatabaseHost(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'host']);
242 $database->setDatabasePort(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'port']);
243 $database->setDatabaseSocket(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'socket']);
244 $database->setDatabaseName(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'database']);
245 $database->initialize();
246 $database->connectDB();
262 \TYPO3\CMS\Core\Core\Bootstrap::getInstance()
263 ->ensureClassLoadingInformationExists()
264 ->loadTypo3LoadedExtAndExtLocalconf(
false)
265 ->defineLoggingAndExceptionConstants()
266 ->unsetReservedGlobalVariables()
267 ->initializeTypo3DbGlobal()
268 ->loadExtensionTables(
false);
279 $saltFactory = \TYPO3\CMS\Saltedpasswords\Salt\SaltFactory::getSaltingInstance(null,
'BE');
280 return $saltFactory->getHashedPassword($password);
288 protected function getExtensionCompatibilityTesterMessages()
290 $extensionCompatibilityTesterMessages = array();
293 $message = $this->objectManager->get(\TYPO3\CMS\Install\Status\LoadingStatus::class);
294 $message->setTitle(
'Loading...');
295 $extensionCompatibilityTesterMessages[] = $message;
297 $message = $this->objectManager->get(\TYPO3\CMS\Install\Status\ErrorStatus::class);
298 $message->setTitle(
'Incompatible extension found!');
299 $message->setMessage(
'Something went wrong and no protocol was written.');
300 $extensionCompatibilityTesterMessages[] = $message;
302 $message = $this->objectManager->get(\TYPO3\CMS\Install\Status\OkStatus::class);
303 $message->setTitle(
'All local extensions can be loaded!');
304 $extensionCompatibilityTesterMessages[] = $message;
306 return $extensionCompatibilityTesterMessages;