| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 | <?php/** * FecShop file. * * @link http://www.fecshop.com/ * @copyright Copyright (c) 2016 FecShop Software LLC * @license http://www.fecshop.com/license/ */namespace fecadmin\models\AdminUser;use fecadmin\models\AdminUser;/** * @author Terry Zhao <2358269014@qq.com> * @since 1.0 */class AdminUserForm extends AdminUser {	private $_admin_user;	public function rules()    {       				$parent_rules  = parent::rules();		$current_rules = [			['username', 'filter', 'filter' => 'trim'],            ['username', 'required'],            ['username', 'validateUsername'],            ['username', 'string', 'min' => 2, 'max' => 20],						['email', 'filter', 'filter' => 'trim'],        //    ['email', 'required'],        //    ['email', 'email'],        //    ['email', 'string', 'max' => 255],		//	['email', 'validateEmail'],						['code', 'required'],			['code', 'filter', 'filter' => 'trim'],			['code', 'validateCode'],		//	['code', 'string', 'min' => 5, 'max' => 5],					//	['role', 'required'],						['person', 'filter', 'filter' => 'trim'],		//	['person', 'required'],			        //    ['email', 'unique', 'targetClass' => '\fecadmin\models\AdminUser', 'message' => 'This email address has already been taken.'],		//	['password', 'required'],         //   ['password', 'string', 'min' => 6],			['password', 'validatePasswordFormat'],				];						return array_merge($parent_rules,$current_rules) ;				    }					public function validateUsername($attribute, $params){		//$user = User::findByUsername($this->username)		if($this->id){			$one = AdminUser::find()->where(" id != ".$this->id." AND username = '".$this->username."' ")						->one();			if($one['id']){				$this->addError($attribute,"this username is exist!");			}		}else{			$one = AdminUser::find()->where(" username = '".$this->username."' ")						->one();			if($one['id']){				$this->addError($attribute,"this username is exist!");			}		}	}			public function validateCode($attribute, $params){		//$user = User::findByUsername($this->username)		if($this->id){			$one = AdminUser::find()->where(" id != ".$this->id." AND code = '".$this->code."' ")						->one();			if($one['id']){				$this->addError($attribute,"this code is exist!");			}		}else{			$one = AdminUser::find()->where(" code = '".$this->code."' ")						->one();			if($one['id']){				$this->addError($attribute,"this code is exist!");			}		}	}			public function validateEmail($attribute, $params){		//$user = User::findByUsername($this->username)		if($this->id){			$one = AdminUser::find()->where(" id != ".$this->id." AND email = '".$this->email."' ")						->one();			if($one['id']){				$this->addError($attribute,"this email is exist!");			}		}else{			$one = AdminUser::find()->where(" email = '".$this->email."' ")						->one();			if($one['id']){				$this->addError($attribute,"this email is exist!");			}		}	}		public function validatePasswordFormat($attribute, $params){		if($this->id){			if($this->password && strlen($this->password) <= 6){				$this->addError($attribute,"password must >=6");			}		}else{			if($this->password && strlen($this->password) >= 6){							}else{				$this->addError($attribute,"password must >=6");			}			}	}			public function setPassword($password)    {		if($this->password){			$this->password_hash = \Yii::$app->security->generatePasswordHash($password);			$this->password = '';		}    }		# 重写保存方法	public function save($runValidation = true, $attributeNames = NULL){				if($this->id){			$this->updated_at_datetime = date("Y-m-d H:i:s");		}else{			$this->created_at_datetime = date("Y-m-d H:i:s");			$this->updated_at_datetime = date("Y-m-d H:i:s");		}		# 如果auth_key为空,则重置		if(!$this->auth_key){			$this->generateAuthKey();		}		# 如果access_token为空,则重置		if(!$this->access_token){			$this->generateAccessToken();		}		# 设置password		$this->setPassword($this->password);		parent::save($runValidation,$attributeNames);	}}
 |