array( 'not_empty' => NULL, 'min_length' => array(4), 'max_length' => array(32), ), 'password' => array( 'not_empty' => NULL, 'min_length' => array(5), 'max_length' => array(42), ), 'password_confirm' => array( 'matches_ifset' => array('password'), ), 'email' => array( 'not_empty' => NULL, 'min_length' => array(4), 'max_length' => array(127), 'email' => NULL, ), ); // Validation callbacks protected $_callbacks = array( 'username' => array('username_available'), 'email' => array('email_available'), ); // Columns to ignore protected $_ignored_columns = array('password_confirm'); /* * Complete our login * * For some database logins, we may not want to record the user last login * details in the repository, so we just override that parent function * here. * * We can also do some other post-login actions here. */ public function complete_login() {} /** * Test to see if a record has been changed */ public function changed() { return ! (empty($this->_changed)); } /** * Debug function to see that has() finds * @todo This function could be removed */ public function has_list($alias, $model) { // Return list of matches return DB::select() ->from($this->_has_many[$alias]['through']) ->where($this->_has_many[$alias]['foreign_key'], '=', $this->pk()) ->where($this->_has_many[$alias]['far_key'], '=', $model->pk()) ->execute($this->_db) ->as_array(); } }