index.php?view=Registration er:
Kode
<form action="process.php" method="post">
<input type="hidden" name="action" value="Registration">
<table class="form" cellspacing="0">
<tbody>
<tr>
<td colspan="2">
<!--{include file="errors.tpl"}-->
</td>
</tr>
<tr>
<td><span class="rq">*</span>Username:</td>
<td><input class="input" type="text" name="login" value="<!--{$object->login}-->"></td>
</tr>
<tr>
<td><span class="rq">*</span>Password:</td>
<td><input class="input" type="password" name="password"></td>
</tr>
<tr>
<td><span class="rq">*</span>Re-type Password:</td>
<td><input class="input" type="password" name="retype_password"></td>
</tr>
<tr>
<td><span class="rq">*</span>Email:</td>
<td><input class="input" type="text" name="email" value="<!--{$object->email}-->"></td>
</tr>
<tr>
<td> </td>
<td><input class="but" type="submit" value="Registration">
<p><span class="rq">*</span> <span class="comment">required fields</span></p>
</td>
</tr>
</tbody>
</table>
</form>
RegirationView.php er:
Kode
<?php
require_once 'OneObjAddEditView.php';
class RegistrationView extends OneObjAddEditView
{
var $template = 'registration.tpl';
function RegistrationView()
{
$this->OneObjAddEditView('User');
}
/**
* Prepare function
*/
function Prepare()
{
parent::Prepare();
$this->smarty->assign('title', 'Registration');
}
}
?>
RegistrationForm.php
Kode
<?php
require_once 'Validator.php';
class RegistrationForm extends ActionForm
{
function putAll($vals)
{
parent::putAll($vals);
$_SESSION['user_object']->setFrom($this->_values);
}
function validate()
{
$isValid = true;
if (!Validator::checkNotEmpty('Username', $_SESSION['user_object']->login)) {
$isValid = false;
}
if ($_SESSION['user_object']->password == md5('')) {
$isValid = false;
ErrorManager::raise('Password', 'not empty value expected');
}
if ($_SESSION['user_object']->password != md5($_REQUEST['retype_password'])) {
$isValid = false;
ErrorManager::raise('Password', 'password confirm mistaken');
}
if (!Validator::checkNotEmpty('Email', $_SESSION['user_object']->email)) {
$isValid = false;
} elseif (!Validator::checkEmail('Email', $_SESSION['user_object']->email)) {
$isValid = false;
}
// check unique login
$user = &new User();
$user->login = $_SESSION['user_object']->login;
if ($user->find(true) and $user->id!=$_SESSION['user_object']->id) {
$isValid = false;
ErrorManager::raise('Login', 'user with such login name already exists, choose another login');
}
return $isValid;
}
}
?>