private function tryProcessPostData($postData) { $reqfields = array('server', 'port', 'username', 'password', 'dbname', 'adminpath', 'requrlkey'); if (!$postData->hasValues($reqfields)) { $this->errorMessage = 'Please specify at least: <ul> <li>MySQL host, port, username, password and database name</li> <li>WebUI path</li> <li>Secret .htaccess key</li> </ul>'; return; } $fields = $reqfields; $fields[] = 'tblprefix'; extract($postData->filter($fields)); $result = DatabaseConnection::test($server, $port, $dbname, $username, $password); if ($result !== true) { $this->errorMessage = 'Unable to connect to database: <pre>' . WebRenderer::escapeHtml($result->getMessage()) . '</pre>'; return; } $result = Installer::testRequiredPermissions(); if (!$result) { $this->errorMessage = 'Insufficient file system permissions'; return; } $htaccessCode = Installer::createHtaccessCode($requrlkey); Installer::saveHtaccessFile($htaccessCode); $configCode = Installer::createConfigCode($server, $port, $username, $password, $dbname, $tblprefix, $adminpath, $requrlkey); Installer::saveConfigFile($configCode); define('TI_ADMIN_PATH', $adminpath); define('TI_URLBASEPATH', $urlbasepath); define('TI_ROUTING_ENABLED', true); $this->redirectTo('installation', 'database'); exit; }