01799a55
Yarik
first commit
|
1
2
|
<?php
|
d0c66642
Yarik
Namespaces
|
3
|
namespace artweb\artbox\models;
|
01799a55
Yarik
first commit
|
4
|
|
d0c66642
Yarik
Namespaces
|
5
|
use common\models\User;
|
01799a55
Yarik
first commit
|
6
7
8
9
10
11
12
13
14
|
use Yii;
use yii\web\IdentityInterface;
/**
* This is the model class for table "customer".
*
* @property integer $id
* @property string $username
* @property string $password_hash
|
01799a55
Yarik
first commit
|
15
16
17
|
* @property string $surname
* @property string $phone
* @property string $gender
|
ebd016c8
Administrator
add create_item t...
|
18
|
* @property integer $birthday
|
01799a55
Yarik
first commit
|
19
20
21
22
23
24
25
26
27
28
29
|
* @property string $body
* @property integer $group_id
* @property string $email
* @property string $auth_key
* @property string $password_reset_token
* @property integer $status
* @property integer $created_at
* @property integer $updated_at
*/
class Customer extends User implements IdentityInterface
{
|
4de21bc2
Administrator
add create_item t...
|
30
31
32
33
34
35
|
public $password_repeat;
public $password;
const SCENARIO_CHANGE = 'change';
|
01799a55
Yarik
first commit
|
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
/**
* @inheritdoc
*/
public static function tableName()
{
return 'customer';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[
[
'username',
'password_hash',
],
'required',
],
[
[ 'password' ],
'safe',
],
[
[
|
01799a55
Yarik
first commit
|
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
'group_id',
'status',
'created_at',
'updated_at',
],
'integer',
],
[
[ 'body' ],
'string',
],
[
[ 'status' ],
'default',
'value' => '10',
],
[
[
|
2689758b
Administrator
full commit
|
81
|
'birthday',
|
01799a55
Yarik
first commit
|
82
|
'username',
|
01799a55
Yarik
first commit
|
83
84
85
86
|
'surname',
'phone',
'email',
'password_reset_token',
|
743513db
Administrator
full commit
|
87
88
|
'city',
'address',
|
01799a55
Yarik
first commit
|
89
90
91
92
93
94
|
],
'string',
'max' => 255,
],
[
[
|
4de21bc2
Administrator
add create_item t...
|
95
96
97
98
99
100
101
|
'phone',
'email',
],
'unique'
],
[
[
|
01799a55
Yarik
first commit
|
102
103
104
105
106
107
|
'gender',
'auth_key',
],
'string',
'max' => 32,
],
|
4de21bc2
Administrator
add create_item t...
|
108
109
110
111
112
113
114
115
116
|
['password', 'string', 'min' => 6,'on'=>[Customer::SCENARIO_CHANGE]],
['password', 'validatePasswordCompare', 'on'=>[Customer::SCENARIO_CHANGE]],
['password_repeat', 'compare', 'compareAttribute'=>'password', 'message'=> Yii::t('app', 'message_match_password'),'on'=>[Customer::SCENARIO_CHANGE] ],
|
01799a55
Yarik
first commit
|
117
118
|
];
}
|
743513db
Administrator
full commit
|
119
120
|
|
4de21bc2
Administrator
add create_item t...
|
121
122
123
124
125
126
127
128
|
public function validatePasswordCompare($attribute, $params)
{
if(!empty($this->password) && empty($this->password_repeat)){
$this->addError('password_repeat', \Yii::t('app', 'message_match_password'));
}
}
|
743513db
Administrator
full commit
|
129
130
|
|
01799a55
Yarik
first commit
|
131
132
133
134
135
136
137
|
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => Yii::t('app', 'id'),
|
4de21bc2
Administrator
add create_item t...
|
138
|
'username' => Yii::t('app', 'Фамилия Имя Очество'),
|
01799a55
Yarik
first commit
|
139
|
'surname' => Yii::t('app', 'surname'),
|
743513db
Administrator
full commit
|
140
|
'phone' => Yii::t('app', 'Мобильный телефон'),
|
4de21bc2
Administrator
add create_item t...
|
141
142
|
'gender' => Yii::t('app', 'Пол'),
'birthday' => Yii::t('app', 'Дата рождения'),
|
01799a55
Yarik
first commit
|
143
144
|
'body' => Yii::t('app', 'body'),
'group_id' => Yii::t('app', 'group_id'),
|
4de21bc2
Administrator
add create_item t...
|
145
|
'email' => Yii::t('app', 'Ваш e-mail'),
|
01799a55
Yarik
first commit
|
146
147
148
149
150
|
'auth_key' => Yii::t('app', 'auth_key'),
'password_reset_token' => Yii::t('app', 'password_reset_token'),
'status' => Yii::t('app', 'status'),
'created_at' => Yii::t('app', 'created_at'),
'updated_at' => Yii::t('app', 'updated_at'),
|
743513db
Administrator
full commit
|
151
152
|
'city' => Yii::t('app', 'Город'),
'address' => Yii::t('app', 'Адрес'),
|
4de21bc2
Administrator
add create_item t...
|
153
154
|
'password' => Yii::t('app', 'Пароль'),
'password_repeat' => Yii::t('app', 'Пароль повторно'),
|
01799a55
Yarik
first commit
|
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
];
}
/**
* Finds user by email
*
* @param string $email
*
* @return static|null
*/
public static function findByEmail($email)
{
return static::findOne(
[
'email' => $email,
'status' => self::STATUS_ACTIVE,
]
);
}
/**
* Get full name
*
* @return string
*/
public function getName()
{
return $this->username . ' ' . $this->surname;
}
|
2689758b
Administrator
full commit
|
184
185
|
|
4de21bc2
Administrator
add create_item t...
|
186
187
188
189
190
191
192
|
public function afterFind()
{
parent::afterFind();
$this->birthday = !empty($this->birthday) ? date('d.m.Y',$this->birthday) : '';
}
|
2689758b
Administrator
full commit
|
193
194
195
196
|
public function beforeSave($insert)
{
if (parent::beforeSave($insert)) {
|
4de21bc2
Administrator
add create_item t...
|
197
|
$this->convertBirthday();
|
2689758b
Administrator
full commit
|
198
199
200
201
202
|
return true;
}
return false;
}
|
4de21bc2
Administrator
add create_item t...
|
203
204
205
206
207
208
209
210
211
212
|
public function convertBirthday(){
if(!empty($this->birthday)){
$birthday = new \DateTime($this->birthday);
$birthday->format("d.m.Y");
$this->birthday = $birthday->getTimestamp();
}
}
|
01799a55
Yarik
first commit
|
213
214
215
216
217
|
public function getPassword()
{
return false;
}
|
4de21bc2
Administrator
add create_item t...
|
218
|
|
01799a55
Yarik
first commit
|
219
220
|
}
|