Logout(); $strTemplateFile = "templates/registration.phtml"; $displayHash = Array(); $objRequest = new request(); $blHadProblems = ($objRequest->IsRedirectFollowingConstraintFailure()); $postVars = ''; $displayHash["HADPROBLEMS"] = $blHadProblems; if ($blHadProblems) { // preserve POST variables if there were problems $postVars = $objRequest->GetOriginalRequestObjectFollowingConstraintFailure()->GetPostVariables(); $objFailingRequest = $objRequest->GetOriginalRequestObjectFollowingConstraintFailure(); $arConstraintFailures = $objFailingRequest->GetConstraintFailures(); $displayHash["PROBLEMS"] = Array(); for ($i=0; $i<=sizeof($arConstraintFailures)-1; $i++) { $objThisConstraintFailure = &$arConstraintFailures[$i]; $objThisFailingConstraintObject = $objThisConstraintFailure->GetFailedConstraintObject(); $intTypeOfFailure = $objThisFailingConstraintObject->GetConstraintType(); // get the failed parameter in order to customize the error message $failedParam = $objThisConstraintFailure->getParameterName(); switch ($intTypeOfFailure) { case CT_MINLENGTH: switch($failedParam) { case 'firstname'; $displayHash["PROBLEMS"][] = "Please enter your first name."; break; case 'lastname'; $displayHash["PROBLEMS"][] = "Please enter your last name."; break; case 'email'; $displayHash["PROBLEMS"][] = "Please enter your email address."; break; case 'username'; $displayHash["PROBLEMS"][] = "Your username was too short."; break; case 'password'; $displayHash["PROBLEMS"][] = "Your password was too short."; break; case 'referral'; $displayHash["PROBLEMS"][] = "Please select how you heard about us."; break; } break; case CT_MAXLENGTH: switch($failedParam) { case 'title'; $displayHash["PROBLEMS"][] = "Your title was too long."; break; case 'firstname'; $displayHash["PROBLEMS"][] = "Your first name was too long."; break; case 'lastname'; $displayHash["PROBLEMS"][] = "Your last name was too long."; break; case 'company'; $displayHash["PROBLEMS"][] = "Your company/organization name was too long."; break; case 'position'; $displayHash["PROBLEMS"][] = "Your position/job title was too long."; break; case 'phone'; $displayHash["PROBLEMS"][] = "Your phone number was too long."; break; case 'email'; $displayHash["PROBLEMS"][] = "Your email address was too long."; break; case 'address1'; $displayHash["PROBLEMS"][] = "Your address 1 was too long."; break; case 'address2'; $displayHash["PROBLEMS"][] = "Your address 2 was too long."; break; case 'address3'; $displayHash["PROBLEMS"][] = "Your address 3 was too long."; break; case 'city'; $displayHash["PROBLEMS"][] = "Your city was too long."; break; case 'state'; $displayHash["PROBLEMS"][] = "Your state was too long."; break; case 'zip'; $displayHash["PROBLEMS"][] = "Your zip was too long."; break; case 'username'; $displayHash["PROBLEMS"][] = "Your username was too long."; break; case 'password'; $displayHash["PROBLEMS"][] = "Your password was too long."; break; case 'referral'; $displayHash["PROBLEMS"][] = "Your referral was too long."; break; } break; case CT_PERMITTEDCHARACTERS: switch($failedParam) { case 'username'; $displayHash["PROBLEMS"][] = "Your username contains invalid characters. It must contain only letters and numbers."; break; case 'password'; $displayHash["PROBLEMS"][] = "Your password contained invalid characters."; break; } break; case CT_EQUALTO: switch($failedParam) { case 'confirmpassword'; $displayHash["PROBLEMS"][] = "Your password and confirmed password did not match."; break; case 'validregistrationusername'; $displayHash["PROBLEMS"][] = "The username you selected is already taken. Please choose a different username."; break; case 'validregistrationemail'; $displayHash["PROBLEMS"][] = "The email address you entered is already in use. Please use a different email address."; break; case 'validemailformat'; $displayHash["PROBLEMS"][] = "You entered an invalid email address."; break; } break; case CT_NOTEQUALTO: switch($failedParam) { case 'referral'; $displayHash["PROBLEMS"][] = "Please select how you heard about us."; break; } break; case CT_MUSTMATCHREGEXP: switch($failedParam) { case 'email'; $displayHash["PROBLEMS"][] = "Please enter a valid email address."; break; } break; }; }; }; require_once($strTemplateFile); exit(0); ?>