<?php

class User extends AppModel{
	
	var $name = 'user';
	
	/**
	 * Validaciones para el modelo User
	 */
	var $validate = array(
        'username' => array(
            'isUnique' => array(
                'rule' => 'isUnique',
                'message' => 'El nombre de usuario ya existe.',
            ),
            'notEmpty' => array(
                'rule' => 'notEmpty',
                'message' => 'Este campo es obligatorio.',
            ),
        ),
        'password_' => array(
            'rule' => array('minLength', 6),
            'message' => 'El password ha de ser mínimo de 6 carácteres.',
        ),
        'confirm_password' => array(
            'rule' => array('matchpwd'),
            'message' => 'No coincide con el password entrado.',
        ),
    );
	
	/**
     * Validaciones para el fichero a subir.
     */
   	var $actsAs = array(
    	'Uploader.FileValidation' => array(
        	'avatar' => array(
				'extension' => array(
                	'value' => array('gif', 'jpg', 'png', 'jpeg'),
                	'error' => 'Tipo de fichero incorrecto. JPG, GIF, PNG.',
            	),
            	'filesize' => array(
            		//2 Mb.
                	'value' => 716800,
                	//'error' => 'Tamaño máximo 700 KB.'
            	),
            	'required' => array(
                	'value' => true,
                	'error' => 'Fichero requerido.'
            	),
        	)
    	)
	);
    
    /**
     * Comprueba que los dos campos password coinciden.
     */
    function matchpwd(){
    	if ($this->data['User']['password_']!=$this->data['User']['confirm_password']){
    		return false;
    	}
    	
    	return true;
    }
    
	function beforeSave(){
		if (!empty($this->data['User']['password_'])){
			$this->data['User']['password'] = Security::hash($this->data['User']['password_'], null, true);
		}		
		return true;
	}
}

?>