refactor: remove default models
This commit is contained in:
parent
d765ebd44f
commit
24d38f199d
|
@ -1,65 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace app\models;
|
|
||||||
|
|
||||||
use Yii;
|
|
||||||
use yii\base\Model;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ContactForm is the model behind the contact form.
|
|
||||||
*/
|
|
||||||
class ContactForm extends Model
|
|
||||||
{
|
|
||||||
public $name;
|
|
||||||
public $email;
|
|
||||||
public $subject;
|
|
||||||
public $body;
|
|
||||||
public $verifyCode;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array the validation rules.
|
|
||||||
*/
|
|
||||||
public function rules()
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
// name, email, subject and body are required
|
|
||||||
[['name', 'email', 'subject', 'body'], 'required'],
|
|
||||||
// email has to be a valid email address
|
|
||||||
['email', 'email'],
|
|
||||||
// verifyCode needs to be entered correctly
|
|
||||||
['verifyCode', 'captcha'],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array customized attribute labels
|
|
||||||
*/
|
|
||||||
public function attributeLabels()
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'verifyCode' => 'Verification Code',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends an email to the specified email address using the information collected by this model.
|
|
||||||
* @param string $email the target email address
|
|
||||||
* @return bool whether the model passes validation
|
|
||||||
*/
|
|
||||||
public function contact($email)
|
|
||||||
{
|
|
||||||
if ($this->validate()) {
|
|
||||||
Yii::$app->mailer->compose()
|
|
||||||
->setTo($email)
|
|
||||||
->setFrom([Yii::$app->params['senderEmail'] => Yii::$app->params['senderName']])
|
|
||||||
->setReplyTo([$this->email => $this->name])
|
|
||||||
->setSubject($this->subject)
|
|
||||||
->setTextBody($this->body)
|
|
||||||
->send();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,81 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace app\models;
|
|
||||||
|
|
||||||
use Yii;
|
|
||||||
use yii\base\Model;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* LoginForm is the model behind the login form.
|
|
||||||
*
|
|
||||||
* @property-read User|null $user
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class LoginForm extends Model
|
|
||||||
{
|
|
||||||
public $username;
|
|
||||||
public $password;
|
|
||||||
public $rememberMe = true;
|
|
||||||
|
|
||||||
private $_user = false;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array the validation rules.
|
|
||||||
*/
|
|
||||||
public function rules()
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
// username and password are both required
|
|
||||||
[['username', 'password'], 'required'],
|
|
||||||
// rememberMe must be a boolean value
|
|
||||||
['rememberMe', 'boolean'],
|
|
||||||
// password is validated by validatePassword()
|
|
||||||
['password', 'validatePassword'],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Validates the password.
|
|
||||||
* This method serves as the inline validation for password.
|
|
||||||
*
|
|
||||||
* @param string $attribute the attribute currently being validated
|
|
||||||
* @param array $params the additional name-value pairs given in the rule
|
|
||||||
*/
|
|
||||||
public function validatePassword($attribute, $params)
|
|
||||||
{
|
|
||||||
if (!$this->hasErrors()) {
|
|
||||||
$user = $this->getUser();
|
|
||||||
|
|
||||||
if (!$user || !$user->validatePassword($this->password)) {
|
|
||||||
$this->addError($attribute, 'Incorrect username or password.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Logs in a user using the provided username and password.
|
|
||||||
* @return bool whether the user is logged in successfully
|
|
||||||
*/
|
|
||||||
public function login()
|
|
||||||
{
|
|
||||||
if ($this->validate()) {
|
|
||||||
return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600*24*30 : 0);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Finds user by [[username]]
|
|
||||||
*
|
|
||||||
* @return User|null
|
|
||||||
*/
|
|
||||||
public function getUser()
|
|
||||||
{
|
|
||||||
if ($this->_user === false) {
|
|
||||||
$this->_user = User::findByUsername($this->username);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->_user;
|
|
||||||
}
|
|
||||||
}
|
|
104
models/User.php
104
models/User.php
|
@ -1,104 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace app\models;
|
|
||||||
|
|
||||||
class User extends \yii\base\BaseObject implements \yii\web\IdentityInterface
|
|
||||||
{
|
|
||||||
public $id;
|
|
||||||
public $username;
|
|
||||||
public $password;
|
|
||||||
public $authKey;
|
|
||||||
public $accessToken;
|
|
||||||
|
|
||||||
private static $users = [
|
|
||||||
'100' => [
|
|
||||||
'id' => '100',
|
|
||||||
'username' => 'admin',
|
|
||||||
'password' => 'admin',
|
|
||||||
'authKey' => 'test100key',
|
|
||||||
'accessToken' => '100-token',
|
|
||||||
],
|
|
||||||
'101' => [
|
|
||||||
'id' => '101',
|
|
||||||
'username' => 'demo',
|
|
||||||
'password' => 'demo',
|
|
||||||
'authKey' => 'test101key',
|
|
||||||
'accessToken' => '101-token',
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public static function findIdentity($id)
|
|
||||||
{
|
|
||||||
return isset(self::$users[$id]) ? new static(self::$users[$id]) : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public static function findIdentityByAccessToken($token, $type = null)
|
|
||||||
{
|
|
||||||
foreach (self::$users as $user) {
|
|
||||||
if ($user['accessToken'] === $token) {
|
|
||||||
return new static($user);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Finds user by username
|
|
||||||
*
|
|
||||||
* @param string $username
|
|
||||||
* @return static|null
|
|
||||||
*/
|
|
||||||
public static function findByUsername($username)
|
|
||||||
{
|
|
||||||
foreach (self::$users as $user) {
|
|
||||||
if (strcasecmp($user['username'], $username) === 0) {
|
|
||||||
return new static($user);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function getId()
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function getAuthKey()
|
|
||||||
{
|
|
||||||
return $this->authKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function validateAuthKey($authKey)
|
|
||||||
{
|
|
||||||
return $this->authKey === $authKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Validates password
|
|
||||||
*
|
|
||||||
* @param string $password password to validate
|
|
||||||
* @return bool if password provided is valid for current user
|
|
||||||
*/
|
|
||||||
public function validatePassword($password)
|
|
||||||
{
|
|
||||||
return $this->password === $password;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue