06.07 php saved
dardosordi
Tags add more
User and model  
Note
user model for saving passwords
  1. <?php
  2. class User extends AppModel {
  3.     var $name = 'User';
  4.    
  5.     var $validate = array(
  6.         'username' => array(
  7.             'alphanumeric' => array(
  8.                 'rule' => 'alphaNumeric',
  9.                 'required' => true,
  10.                 'message' => 'Only alphanumeric chars allowed.'
  11.             ),
  12.             'unique' => array(
  13.                 'rule' => array('unique', 'username'),
  14.                 'required' => true,
  15.                 'message' => 'That username already exists.'
  16.             )
  17.         ),
  18.         'password' => array(
  19.             'checkpassword' => array(
  20.                 'allowEmpty' => true,
  21.                 'rule' => 'checkPasswordEquals',
  22.                 'required' => false,
  23.                 'message' => 'Passwords don\'t match.'
  24.             )
  25.         ),
  26.         'password_confirm' => array(
  27.             'empty' => array(
  28.                 'rule' => VALID_NOT_EMPTY,
  29.                 'required' => false,
  30.                 'message' => 'Password must not be empty.',
  31.                 'on' => 'create'
  32.             )
  33.         ),
  34.         'email' => array(
  35.             'email' => array(
  36.                 'rule' => 'email',
  37.                 'required' => true,
  38.                 'message' => 'Must be a valid email address.',
  39.                 'allowEmpty' => true
  40.             )
  41.         ),
  42.         'real_name' => array(
  43.             'empty' => array(
  44.                 'rule' => VALID_NOT_EMPTY,
  45.                 'required' => true,
  46.                 'allowEmpty' => false,
  47.                 'message' => 'Name must not be empty.',
  48.             )
  49.         )
  50.     );
  51.    
  52.     var $hasOne = array();
  53.     var $hasMany = array();
  54.     var $belongsTo = array();
  55.     var $hasAndBelongsToMany = array();
  56.    
  57.     var $actsAs = array('Acl' => 'requester');
  58.    
  59.     function checkPasswordEquals() {
  60.         if (isset($this->data['User']['password_confirm'])) {
  61.             $passwordConfirm = Security::hash(Configure::read('Security.salt') . $this->data['User']['password_confirm']);
  62.             $password = $this->data['User']['password'];
  63.            
  64.             return $password == $passwordConfirm ;
  65.         }
  66.         return true;
  67.     }
  68.    
  69.     function unique($data, $name){
  70.         $this->recursive = -1;
  71.         if (!empty($data[$name])) {
  72.             $found = $this->find(array("{$this->name}.$name" => '= '.$data[$name]));
  73.             $same = isset($this->id) && $found[$this->name][$this->primaryKey] == $this->id;
  74.    
  75.             return !$found || $found && $same;
  76.         }
  77.         return true;
  78.     }
  79.    
  80.     function parentNode() {
  81.     }
  82.  
  83.     function beforeSave() {
  84.         if (!isset($this->data['User']['password_confirm']) || empty($this->data['User']['password_confirm'])) {
  85.             unset($this->data['User']['password']);
  86.         }
  87.         return true;
  88.     }
  89.    
  90.    
  91.     function afterSave() {
  92.     }
  93.    
  94. }
  95. ?>
Parsed in 0.198 seconds, using GeSHi 1.0.7.14

Modify this Paste