//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();
?>