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