39 $localConfigurationPathValuePairs = array();
41 $configurationManager = $this->objectManager->get(
'TYPO3\\CMS\\Core\\Configuration\\ConfigurationManager');
44 if (strlen($newDatabaseName) <= 50) {
45 $createDatabaseResult = $this->databaseConnection->admin_query(
'CREATE DATABASE ' . $newDatabaseName .
' CHARACTER SET utf8');
46 if ($createDatabaseResult) {
47 $localConfigurationPathValuePairs[
'DB/database'] = $newDatabaseName;
50 $errorStatus = $this->objectManager->get(
'TYPO3\\CMS\\Install\\Status\\ErrorStatus');
51 $errorStatus->setTitle(
'Unable to create database');
52 $errorStatus->setMessage(
53 'Database with name ' . $newDatabaseName .
' could not be created.' .
54 ' Either your database name contains special chars (only alphanumeric characters are allowed)' .
55 ' or your database user probably does not have sufficient permissions to create it.' .
56 ' Please choose an existing (empty) database or contact administration.' 62 $errorStatus = $this->objectManager->get(
'TYPO3\\CMS\\Install\\Status\\ErrorStatus');
63 $errorStatus->setTitle(
'Database name not valid');
64 $errorStatus->setMessage(
'Given database name must be shorter than fifty characters.');
69 $this->databaseConnection->setDatabaseName(
$postValues[
'existing']);
70 $this->databaseConnection->sql_select_db();
71 $existingTables = $this->databaseConnection->admin_get_tables();
72 $isInitialInstallation = $configurationManager->getConfigurationValueByPath(
'SYS/isInitialInstallationInProgress');
73 if (!$isInitialInstallation || count($existingTables) === 0) {
74 $localConfigurationPathValuePairs[
'DB/database'] =
$postValues[
'existing'];
78 $errorStatus = $this->objectManager->get(
'TYPO3\\CMS\\Install\\Status\\ErrorStatus');
79 $errorStatus->setTitle(
'No Database selected');
80 $errorStatus->setMessage(
'You must select a database.');
84 if (!empty($localConfigurationPathValuePairs)) {
85 $configurationManager->setLocalConfigurationValuesByPathValuePairs($localConfigurationPathValuePairs);
100 if (strlen(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'database']) > 0) {
101 $this->databaseConnection->setDatabaseName(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'database']);
103 $selectResult = $this->databaseConnection->sql_select_db();
104 if ($selectResult === TRUE) {
107 }
catch (\RuntimeException $e) {
120 $configurationManager = $this->objectManager->get(
'TYPO3\\CMS\\Core\\Configuration\\ConfigurationManager');
121 $isInitialInstallationInProgress = $configurationManager->getConfigurationValueByPath(
'SYS/isInitialInstallationInProgress');
122 $this->view->assign(
'databaseList', $this->
getDatabaseList($isInitialInstallationInProgress));
123 $this->view->assign(
'isInitialInstallationInProgress', $isInitialInstallationInProgress);
125 return $this->view->render();
136 $databaseArray = $this->databaseConnection->admin_get_dbs();
138 $reservedDatabaseNames = array(
'mysql',
'information_schema',
'performance_schema');
139 $allPossibleDatabases = array_diff($databaseArray, $reservedDatabaseNames);
142 if ($initialInstallation === FALSE) {
143 return $allPossibleDatabases;
146 $databases = array();
147 foreach ($allPossibleDatabases as
$database) {
148 $this->databaseConnection->setDatabaseName($database);
149 $this->databaseConnection->sql_select_db();
150 $existingTables = $this->databaseConnection->admin_get_tables();
151 $databases[] = array(
153 'tables' => count($existingTables),
166 $this->databaseConnection = $this->objectManager->get(
'TYPO3\\CMS\\Core\\Database\\DatabaseConnection');
167 $this->databaseConnection->setDatabaseUsername(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'username']);
168 $this->databaseConnection->setDatabasePassword(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'password']);
169 $this->databaseConnection->setDatabaseHost(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'host']);
170 $this->databaseConnection->setDatabasePort(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'port']);
171 $this->databaseConnection->setDatabaseSocket(
$GLOBALS[
'TYPO3_CONF_VARS'][
'DB'][
'socket']);
172 $this->databaseConnection->sql_pconnect();
initializeDatabaseConnection()
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.
getDatabaseList($initialInstallation)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]