Example #1
0
 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;
 }