<?php
//require_once 'A/Rule/Length.php';
//require_once 'A/Rule/Alpha.php';
//require_once 'A/Rule/Alnum.php';
//require_once 'A/Rule/Email.php';
//require_once 'A/Model.php';
//require_once 'A/Model/Field.php';
class UsersModel extends A_Model {
function __construct($locator=null) {
$this->addField(new A_Model_Field('username'));
$this->addField(new A_Model_Field('password'));
$this->addRule(new A_Rule_Length(5, 15, 'username', 'username must 5 to 25 characters'), 'username');
$this->addRule(new A_Rule_Alpha('username', 'username can only contain letters'), 'username');
$this->addRule(new A_Rule_Alnum('password', 'password can only contain letters or numbers'), 'password');
}
function getRules() {
return $this->rules;
}
function getFields() {
return $this->fields;
}
function save($data=array()) {
dump($data, 'UserModel::save() data=');
}
function findAuthorized($username, $password) {
// Normally you'd do a db check here, for now just mock it
//$userhandler = new A_Db_Tabledatagateway($this->db,'co_users','userID');
//$result = $userhandler->findByKey($userid);
$result = $this->findByUsername($username);
if(!empty($result)){
if ( $result['username'] == $username && $result['password'] == $password ) {
return $result;
}
}
return array();
}
public function findByUsername($username){
if($username === 'admin') {
$result = array('username' => 'admin', 'password' => 'admin');
return $result;
} else {
return FALSE;
}
}
}
|