//default user type if (isset($_POST['form_token'])) { $userType = sanitize($_POST['userGroup']); try { //form validation rules. should have all the fields included $addUserValidationRules = array('userGroup' => array('notempty'), 'title' => array('alpha', 'allow' => array('.')), 'fname' => array('alpha'), 'lname' => array('alpha'), 'phone' => array('number', 'allow' => array('-', '(', ')', '.')), 'username' => array('alphanumeric'), 'email' => array('email'), 'hospital' => array('notempty'), 'notify' => array('notempty'), 'submit' => array('ignore')); $validator = new DataValidator($_POST, $addUserValidationRules); $data = $validator->getData(); if ($validator->isValid()) { //the validation was successful, perform required operation here below. $userType = $data['userGroup']; $title = $data['title']; $username = $data['username']; if (retrieve_UserByAuth($username)) { //if user already exists, add error message to validation field $validator->setError('username', 'Username already exists'); throw new DuplicateUserException('Username already exists'); } $fname = $data['fname']; $lname = $data['lname']; $phone = $data['phone']; $email = $data['email']; //data for social worker, extra info that rmh staff don't have if (isset($userType) && $userType == 'socialworker') { $hospital = $data['hospital']; $notify = $data['notify']; } else { $hospital = ''; $notify = ''; } //proceed with creating and storing the new user
//update the user profile table if (update_UserProfile($userProfile)) { //set session message setSessionMessage("Your password has been successfully changed. You should log out and log in again for security reasons."); $data = array(); $dataErrors = array(); //TODO Logout the user here } else { ErrorHandler::error('Could not update user profile'); } } else { ErrorHandler::error("Cannot retrieve current user information"); } } else { //report as validation error that old password is incorrect $validator->setError('old_pass', 'Invalid old password'); } } else { //report as validation error that verify pass doesn't match $validator->setError('verify_pass', 'New password and verify password do not match'); } } } catch (SecurityException $e) { ErrorHandler::error($e->getMessage()); } } ?> <section class="content"> <?php ErrorHandler::displayErrors(); ?>