<?php
/*
 * test_encoded_pasword.php
 *
 * @(#) $Header: /opt2/ena/metal/forms/test_encoded_password.php,v 1.6 2006/12/20 06:21:16 mlemos Exp $
 *
 */

	require("forms.php");

	$form=new form_class;
	$form->NAME="login_form";
	$form->METHOD="GET";
	$form->ACTION="";
	$form->debug="trigger_error";
	$form->AddInput(array(
		"TYPE"=>"text",
		"NAME"=>"access_name",
		"MAXLENGTH"=>20,
		"Capitalization"=>"uppercase",
		"ValidateRegularExpression"=>"^[a-zA-Z0-9\\-_]+$",
		"ValidateAsNotEmpty"=>1,
		"ValidationErrorMessage"=>"It was not specified a valid access name"
	));
	$form->AddInput(array(
		"TYPE"=>"hidden",
		"NAME"=>"user_login",
		"ID"=>"user_login",
		"VALUE"=>""
	));
	$form->AddInput(array(
		"TYPE"=>"password",
		"NAME"=>"password",
		"ONCHANGE"=>"if(value.toLowerCase) value=value.toLowerCase()",
		"Encoding"=>"MD5",
		"EncodingFunctionVerification"=>"loaded_MD5",
		"EncodedField"=>"user_login",
		"ValidateAsNotEmpty"=>1,
		"ValidationErrorMessage"=>"It was not specified a valid password"
	));
	$form->AddInput(array(
		"TYPE"=>"submit",
		"VALUE"=>"Login",
		"NAME"=>"doit"
	));
	$form->LoadInputValues($form->WasSubmitted("doit"));
	$verify=array();
	if($form->WasSubmitted("doit"))
	{
		$user_login=$form->GetInputValue("user_login");
		if(strcmp($user_login,""))
		{
			$password=$user_login;
			$user_login="";
			$form->SetInputValue("user_login",$user_login);
		}
		else
		{
			$password=$form->GetInputValue("password");
			if(strcmp($password,""))
			{
				$password=md5(strtolower($password));
			}
		}
		$form->SetInputValue("password",$password);
		if(($error_message=$form->Validate($verify))=="")
			$doit=1;
		else
		{
			$doit=0;
			$error_message=HtmlEntities($error_message);
		}
	}
	else
	{
		$error_message="";
		$doit=0;
	}

	if(!$doit)
	{
		if(strlen($error_message))
		{
			Reset($verify);
			$focus=Key($verify);
		}
		else
			$focus='access_name';
		$form->ConnectFormToInput($focus, 'ONLOAD', 'Focus', array());
	}

	$onload=HtmlSpecialChars($form->PageLoad());

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test for password encoding
with Manuel Lemos' PHP form class</title>
</head>
<body onload="<?php echo $onload; ?>" bgcolor="#cccccc">
<h1><center>Test for password encoding
with Manuel Lemos' PHP form class</center></h1>
<hr />
<h2><center>User login</center></h2>
<?php
	if($doit)
	{
?>
<center><table>
<tr>
<th align="right">Access name:</th>
<td><tt><?php echo $form->GetInputValue("access_name"); ?></tt></td>
</tr>

<tr>
<th align="right">Encoded password:</th>
<td><tt><?php echo $form->GetInputValue("password"); ?></tt></td>
</tr>

</table></center>

<?php
  }
  else
  {
		$form->StartLayoutCapture();
?>
<script type="text/javascript">
<!--
	loaded_MD5=false
// -->
</script>
<script type="text/javascript" src="md5.js">
</script>
<?php
		$title="Form encoded password test";
		$body_template="form_password_body.html.php";
		include("templates/form_frame.html.php");
		$form->EndLayoutCapture();
		$form->AddInputPart("user_login");

		$form->DisplayOutput();
	}
?>
<hr />
</body>
</html>