diff options
Diffstat (limited to 'protected/models/User.php')
| -rw-r--r-- | protected/models/User.php | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/protected/models/User.php b/protected/models/User.php new file mode 100644 index 0000000..f3a2163 --- /dev/null +++ b/protected/models/User.php @@ -0,0 +1,109 @@ +<?php + +/** + * This is the model class for table "astaf_user". + * + * The followings are the available columns in table 'astaf_user': + * @property integer $id + * @property string $username + * @property string $algorithm + * @property string $salt + * @property string $password + * @property string $created_at + * @property string $last_login + * @property integer $is_active + * @property integer $is_super_admin + */ +class User extends CActiveRecord +{ + /** + * Returns the static model of the specified AR class. + * @param string $className active record class name. + * @return User 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 'astaf_user'; + } + + /** + * @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('username, password', 'required'), + array('is_active, is_super_admin', 'numerical', 'integerOnly'=>true), + array('username, password', 'length', 'max'=>128), + array('created_at', 'safe'), + // The following rule is used by search(). + // Please remove those attributes that should not be searched. + array('id, username, created_at, last_login, is_active, is_super_admin', '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', + 'username' => 'Username', + 'password' => 'Password', + 'created_at' => 'Created At', + 'last_login' => 'Last Login', + 'is_active' => 'Is Active', + 'is_super_admin' => 'Is Super Admin', + ); + } + + /** + * 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('id',$this->id); + $criteria->compare('username',$this->username,true); + $criteria->compare('password',$this->password,true); + $criteria->compare('created_at',$this->created_at,true); + $criteria->compare('last_login',$this->last_login,true); + $criteria->compare('is_active',$this->is_active); + $criteria->compare('is_super_admin',$this->is_super_admin); + + return new CActiveDataProvider($this, array( + 'criteria'=>$criteria, + )); + } + + public function checkPassword($password) { + return sha1($this->salt.$password) == $this->password; + } +}
\ No newline at end of file |
