array( array('not_empty'), array('min_length', array(':value', 4)), array('max_length', array(':value', 32)), ), 'password' => array( array('not_empty'), array('min_length', array(':value', 5)), array('max_length', array(':value', 32)), ), 'email' => array( array('not_empty'), array('min_length', array(':value', 4)), array('max_length', array(':value', 127)), array('email'), ), // @todo To test 'password_confirm' => array( array('matches_ifset', array(':validation', 'password', 'password_confirm')), ), ); } // Validation callbacks // @todo _callbacks no longer used 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. * @todo Maybe we can do our session update here. */ public function complete_login() { return $this->log('Logged In'); } /** * 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(); } } ?>