IsLoggedIn()) {
header("Location: members.php");
exit(0);
}
$strTemplateFile = "templates/login.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 'loginusername';
$displayHash["PROBLEMS"][] = "Your username was not long enough. It must be between 3 and 16 characters.";
break;
case 'loginpassword';
$displayHash["PROBLEMS"][] = "Your password was not long enough. It must be between 4 and 16 characters.";
break;
}
break;
case CT_MAXLENGTH:
switch($failedParam) {
case 'loginusername';
$displayHash["PROBLEMS"][] = "Your username was too long. It must be between 3 and 16 characters.";
break;
case 'loginpassword';
$displayHash["PROBLEMS"][] = "Your password was too long. It must be between 4 and 16 characters.";
break;
}
break;
case CT_PERMITTEDCHARACTERS:
switch($failedParam) {
case 'loginusername';
$displayHash["PROBLEMS"][] = "Your username contains invalid characters. It must contain only letters and numbers.";
break;
case 'loginpassword';
$displayHash["PROBLEMS"][] = "Your password contained invalid characters.";
break;
}
break;
case CT_EQUALTO:
switch($failedParam) {
case 'validlogin';
$displayHash["PROBLEMS"][] = "You entered an invalid username or password.";
break;
case 'loginallowed';
$displayHash["PROBLEMS"][] = "You are not allowed to log in.";
break;
}
break;
};
};
};
require_once($strTemplateFile);
exit(0);
?>