Incam_IntranetNueva/www/protected/models/Usuario.php
2012-03-01 19:49:10 +00:00

116 lines
3.3 KiB
PHP

<?php
/**
* This is the model class for table "tbl_usuarios".
*
* The followings are the available columns in table 'tbl_usuarios':
* @property integer $id
* @property string $email
* @property string $name
* @property string $username
* @property string $password
* @property string $last_login_time
*/
class Usuario extends CActiveRecord
{
public $password_repeat;
/**
* Returns the static model of the specified AR class.
* @param string $className active record class name.
* @return Usuario the static model class
*/
public static function model($className=__CLASS__)
{
return parent::model($className);
}
/**
* @return string the associated database table name
*/
public function tableName()
{
return 'tbl_usuarios';
}
/**
* @return array validation rules for model attributes.
*/
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('password', 'compare'), // el 'compare' busca otra propiedad que se llame 'password' + '_repeat'
array('password_repeat', 'safe'),
array('email, username, password, password_repeat', 'required'),
array('email, name, username, password', 'length', 'max'=>255),
array('email, username', 'unique'),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array('id, email, name, username, password, last_login_time', 'safe', 'on'=>'search'),
);
}
/**
* @return array relational rules.
*/
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
);
}
/**
* @return array customized attribute labels (name=>label)
*/
public function attributeLabels()
{
return array(
'id' => 'ID',
'email' => 'Email',
'name' => 'Nombre',
'username' => 'Usuario',
'password' => 'Contraseña',
'password_repeat' => 'Confirmar contraseña',
'last_login_time' => 'Último acceso',
);
}
/**
* Retrieves a list of models based on the current search/filter conditions.
* @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
*/
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('email',$this->email,true);
$criteria->compare('name',$this->name,true);
$criteria->compare('username',$this->username,true);
$criteria->compare('last_login_time',$this->last_login_time,true);
$sort = new CSort;
$sort->defaultOrder = 'name ASC';
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
'sort' => $sort,
));
}
protected function afterValidate() {
parent::afterValidate();
$this->password = $this->encrypt($this->password);
}
public function encrypt($value) {
return md5($value);
}
}