// Add or update user object
     $listValidate = sspmod_selfregister_Util::genFieldView($viewAttr);
     $validator = new sspmod_selfregister_Registration_Validation($formFields, $listValidate);
     $validValues = $validator->validateInput();
     $userInfo = sspmod_selfregister_Util::processInput($validValues, $viewAttr);
     $store = sspmod_selfregister_Storage_UserCatalogue::instantiateStorage();
     $store->addUser($userInfo);
     $html = new SimpleSAML_XHTML_Template($config, 'selfregister:step4_complete.tpl.php', 'selfregister:selfregister');
     $html->data['systemName'] = $systemName;
     $html->show();
 } catch (sspmod_selfregister_Error_UserException $e) {
     // Some user error detected
     $formGen = new sspmod_selfregister_XHTML_Form($formFields, 'newUser.php');
     $showFields = sspmod_selfregister_Util::genFieldView($viewAttr);
     $formGen->fieldsToShow($showFields);
     $formGen->setReadOnly('mail');
     $values = $validator->getRawInput();
     $hidden = array();
     $values['mail'] = $hidden['emailconfirmed'] = $_REQUEST['emailconfirmed'];
     $hidden['token'] = $_REQUEST['token'];
     $formGen->addHiddenData($hidden);
     $values['pw1'] = '';
     $values['pw2'] = '';
     $formGen->setValues($values);
     $formGen->setSubmitter('submit_change');
     $formHtml = $formGen->genFormHtml();
     $html = new SimpleSAML_XHTML_Template($config, 'selfregister:step3_register.tpl.php', 'selfregister:selfregister');
     $html->data['formHtml'] = $formHtml;
     $error = $html->t($e->getMesgId(), $e->getTrVars());
     $html->data['error'] = htmlspecialchars($error);
     $html->show();
$data = $session->getData('selfregister:updated', 'attributes');
if ($data !== NULL) {
    $attributes = $data;
}
$formFields = $uregconf->getArray('formFields');
$reviewAttr = $uregconf->getArray('attributes');
$showFields = array();
foreach ($formFields as $name => $field) {
    if (array_key_exists('show', $field['layout']) && $field['layout']['show']) {
        $showFields[] = $name;
    }
}
$readOnlyFields = $showFields;
$formGen = new sspmod_selfregister_XHTML_Form($formFields, 'delUser.php');
$formGen->fieldsToShow($showFields);
$formGen->setReadOnly($readOnlyFields);
$html = new SimpleSAML_XHTML_Template($config, 'selfregister:deluser.tpl.php', 'selfregister:selfregister');
if (array_key_exists('sender', $_POST)) {
    try {
        // Delete user object
        $store->delUser($attributes[$store->userIdAttr][0]);
        // Now when a User delete himself sucesfully, System log out him.
        // In the future when admin delete a user a msg will be showed
        // $html->data['userMessage'] = 'message_userdel';
        $as->logout(SimpleSAML_Module::getModuleURL('selfregister/index.php?status=deleted'));
    } catch (sspmod_selfregister_Error_UserException $e) {
        // Some user error detected
        $error = $html->t($e->getMesgId(), $e->getTrVars());
        $html->data['error'] = htmlspecialchars($error);
    }
} elseif (array_key_exists('logout', $_GET)) {