Revision: 30680
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 19, 2010 05:48 by robksawyer
Initial Code
<?php
class User extends AppModel {
var $name = 'User';
var $displayField = 'username';
var $validate = array(
'username' => array(
'is_unique' => array(
'rule' => array('isUnique'),
'message' => 'This username is already registered.'
),
'between' => array(
'rule' => array('between', 4, 30),
'message' => 'Your username has to be between 4 and 30 characters.'
)
),
'password' => array(
'compare' => array(
'rule' => array('compare', array('password_confirm_hash', 'password_confirm')),
'message' => 'These passwords aren\'t the same.'
),
'minlength' => array(
'rule' => array('wrapper', array(array('minLength', 6), array('password_confirm'))),
'message' => 'The password must be at least 6 characters and should contain at least one digit.'
),
'onedigit' => array(
'rule' => array('wrapper', array(array('custom', '/[0-9]+/'), array('password_confirm'))),
'message' => 'The password must be at least 6 characters and should contain at least one digit.'
)
),
'email' => array(
'email' => array(
'rule' => array('email'),
'message' => 'This is not a valid e-mail address.'
),
'is_unique' => array(
'rule' => array('wrapper', array(array('isUnique'), array('email_confirm'))),
'message' => 'This e-mail address is already registered.'
),
'compare' => array(
'rule' => array('compare', array('email_confirm')),
'message' => 'These e-mail addresses aren\'t the same.'
)
),
'email_confirm' => array(
'email' => array(
'rule' => array('email'),
'message' => 'This is not a valid e-mail address.',
'last' => true
)
)/*,
'email_for_credentials' => array(
'email' => array(
'rule' => array('email'),
'message' => 'This is not a valid e-mail address.'
),
)*/
);
//The Associations below have been created with all possible keys, those that are not needed can be removed
var $hasMany = array(
'Bike' => array(
'className' => 'Bike',
'foreignKey' => 'user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Part' => array(
'className' => 'Part',
'foreignKey' => 'user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Company' => array(
'className' => 'Company',
'foreignKey' => 'user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Vote' => array(
'className' => 'Vote',
'foreignKey' => 'user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Ownership' => array(
'className' => 'Ownership',
'foreignKey' => 'user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
var $hasAndBelongsToMany = array(
'Group' => array('className' => 'Group',
'joinTable' => 'groups_users',
'foreignKey' => 'user_id',
'associationForeignKey' => 'group_id',
'unique' => true
)
);
function wrapper($value, $options = array(), $rule = array()){
$method = $options[0][0];
$options[0][0] = $this->data[$this->alias][$options[1][0]];
if (method_exists($this, $method)) {
$valid = $this->{$method}($value);
} else {
$valid = call_user_func_array(array('Validation', $method), $options[0]);
}
if (!$valid) {
foreach($options[1] as $field) {
$this->invalidate($field, $rule['message']);
}
}
return $valid;
}
function compare($value, $options = array(), $rule = array()) {
$valid = current($value) == $this->data[$this->alias][$options[0]];
if (!$valid) {
$this->invalidate(isset($options[1])? $options[1] : $options[0], $rule['message']);
}
return $valid;
}
}
?>
Initial URL
Initial Description
Initial Title
User Model (cake php)
Initial Tags
php
Initial Language
PHP