private function tryProcessPostData($postData) { $reqfields = array('username', 'password', 'rptpassword', 'email'); if (!$postData->hasValues($reqfields)) { $this->errorMessage = 'Please specify at least: <ul> <li>Administrator username, password and email</li> </ul>'; return; } $fields = $reqfields; extract($postData->filter($fields)); $usernamepattern = '/^[a-z][-a-z0-9_.]*$/i'; if (!preg_match($usernamepattern, $username)) { $this->errorMessage = 'The submitted username is invalid.'; return; } if ($password !== $rptpassword) { $this->errorMessage = 'The submitted passwords do not match.'; return; } $dbc = Application::dbConnection(); $dbc->installDatabase(); $dbc->setDefaultOptions(); $uid = $dbc->users()->addUser($username, $username, $email, $password); $dbc->users()->setFlags($uid, \tniessen\tinyIt\Database\UsersTableAdapter::FLAG_ALMIGHTY); Installer::completeInstallation(); $this->redirectTo('home'); exit; }