Blame view

common/models/Accounts.php 7.23 KB
4828b892   Mihail   after merge with ...
1
2
3
4
5
  <?php
  
  namespace common\models;
  
  use Yii;
89d4b5ac   Administrator   VItaliy 25.11.2015
6
7
8
  use yii\web\IdentityInterface;
  use yii\base\NotSupportedException;
  use yii\db\ActiveRecord;
4828b892   Mihail   after merge with ...
9
10
11
  /**
   * This is the model class for table "w_accounts".
   *
c5a7a79e   Administrator   upload project
12
   *
4828b892   Mihail   after merge with ...
13
14
15
   * @property integer $id
   * @property integer $if_manager
   * @property string $email
27b0cb06   Administrator   VItaliy 02.12.2015
16
   * @property string $auth_key
4828b892   Mihail   after merge with ...
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
   * @property string $pass
   * @property integer $margin_id
   * @property string $name
   * @property string $phones
   * @property integer $country
   * @property integer $city
   * @property string $address
   * @property string $comment
   * @property integer $rating
   * @property string $dt
   * @property integer $is_active
   * @property integer $is_firm
   * @property string $last_loginin
   * @property string $firm_inn
   * @property string $firm_bank
   * @property double $balance
   * @property integer $office_id
   * @property integer $is_scribe
   * @property integer $set_manager_id
   * @property string $phones2
   * @property string $phones3
   * @property integer $car
   * @property integer $mod
   * @property string $snumb
   * @property integer $deliveries
   * @property integer $scode
   * @property string $firm_ur_adr
   * @property string $firm_fiz_adr
   * @property string $firm_code_eg
   * @property string $firm_rs
   * @property string $firm_mfo
   * @property string $firm_site
   * @property string $company
   */
89d4b5ac   Administrator   VItaliy 25.11.2015
51
  class Accounts extends ActiveRecord implements IdentityInterface
4828b892   Mihail   after merge with ...
52
  {
7b407169   Administrator   upload project
53
  
a8808843   Administrator   access in admin
54
55
      public $re_pass;
      public $surname;
89d4b5ac   Administrator   VItaliy 25.11.2015
56
      public $country_region;
27b0cb06   Administrator   VItaliy 02.12.2015
57
58
59
60
61
      public $verifyCode;
      public $auth_key;
      public $password_hash;
      public $password_reset_token;
  
a8808843   Administrator   access in admin
62
  
4828b892   Mihail   after merge with ...
63
64
65
66
67
68
69
70
71
72
73
      /**
       * @inheritdoc
       */
      public static function tableName()
      {
          return 'w_accounts';
      }
  
  
      public function beforeSave()
      {
89d4b5ac   Administrator   VItaliy 25.11.2015
74
          $this->dt = time();
27b0cb06   Administrator   VItaliy 02.12.2015
75
          $this->name = $this->surname.' '.$this->name;
89d4b5ac   Administrator   VItaliy 25.11.2015
76
          return true;
85b72093   Administrator   first commit from...
77
  
4828b892   Mihail   after merge with ...
78
79
80
81
82
83
84
85
86
      }
  
      /**
       * @inheritdoc
       */
      public function rules()
      {
          return [
              [['if_manager', 'margin_id', 'country', 'city', 'rating',  'is_active', 'is_firm', 'office_id', 'is_scribe', 'set_manager_id', 'car', 'mod', 'deliveries', 'scode'], 'integer'],
c25e0cd9   Administrator   access in admin
87
              [['company','email', 'pass', 'name','surname', 'phones',], 'required'],
4828b892   Mihail   after merge with ...
88
89
              [['comment'], 'string'],
              [['balance'], 'number'],
a8808843   Administrator   access in admin
90
91
              [['email', 'name','surname', 'firm_site'], 'string', 'max' => 150],
              [['pass','re_pass'], 'string', 'max' => 30],
4828b892   Mihail   after merge with ...
92
93
94
95
              [['phones', 'phones2', 'phones3'], 'string', 'max' => 50],
              [['address', 'firm_inn', 'firm_bank'], 'string', 'max' => 254],
              [['last_loginin'], 'string', 'max' => 15],
              [['snumb', 'firm_ur_adr', 'firm_fiz_adr', 'firm_code_eg', 'firm_rs', 'firm_mfo', 'company'], 'string', 'max' => 255],
a8808843   Administrator   access in admin
96
97
98
              [['email'], 'unique'],
              [['email'], 'email'],
              ['re_pass', 'compare', 'compareAttribute' => 'pass'],
27b0cb06   Administrator   VItaliy 02.12.2015
99
100
101
102
103
              ['verifyCode', 'captcha'],
              ['dt', 'date', 'format' => 'Y.m.d'],
              [['rating','if_manager','set_manager_id','balance'], 'default', 'value' => '0'],
              [['is_active','margin_id','office_id','is_scribe'], 'default', 'value' => '1'],
              [['comment'], 'default', 'value' => 'Новый пользователь'],
4828b892   Mihail   after merge with ...
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
          ];
      }
  
      /**
       * @inheritdoc
       */
      public function attributeLabels()
      {
          return [
              'id' => 'ID',
              'if_manager' => 'Статус менеджера',
              'email' => 'E-mail (Логин)',
              'pass' => 'Пароль',
              'margin_id' => 'Тип цены',
              'name' => 'Имя',
              'phones' => 'Телефоны',
              'country' => Yii::t('app', 'Country'),
              'city' =>'Город',
              'address' => 'Адрес',
              'comment' => 'Комментарий',
              'rating' => Yii::t('app', 'Rating'),
              'dt' =>'Дата регистрации',
              'is_active' => 'Активный',
              'is_firm' => 'Юридическое лицо',
              'last_loginin' => Yii::t('app', 'Last Loginin'),
              'firm_inn' => 'ИНН',
              'firm_bank' => 'Банк',
              'balance' => Yii::t('app', 'Balance'),
              'office_id' => Yii::t('app', 'Office ID'),
              'is_scribe' => 'Подписка',
              'set_manager_id' => 'Персональный менеджер',
              'phones2' => 'Телефоны 2',
              'phones3' => 'Телефоны 3',
              'car' => Yii::t('app', 'Car'),
              'mod' => Yii::t('app', 'Mod'),
              'snumb' => 'snumb',
              'deliveries' => Yii::t('app', 'Deliveries'),
              'scode' => 'Код в 1С',
              'firm_ur_adr' => 'Юридический адрес',
              'firm_fiz_adr' => 'Физический адрес',
              'firm_code_eg' => 'Код ЭГ',
              'firm_rs' => 'Расчётный счёт',
              'firm_mfo' => 'МФО',
              'firm_site' => 'Сайт',
              'company' => 'Название фирмы',
89d4b5ac   Administrator   VItaliy 25.11.2015
149
              'country_region' => 'Регион'
4828b892   Mihail   after merge with ...
150
151
          ];
      }
89d4b5ac   Administrator   VItaliy 25.11.2015
152
153
154
155
156
157
158
159
160
161
162
  
  
      /**
       * Signs user up.
       *
       * @return User|null the saved model or null if saving fails
       */
      public function signup()
      {
  
          if ($this->validate()) {
27b0cb06   Administrator   VItaliy 02.12.2015
163
  
89d4b5ac   Administrator   VItaliy 25.11.2015
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
  
              if ($this->save()) {
                  return $this;
              }
          }
  
          return null;
      }
      /**
       * @inheritdoc
       */
      public static function findIdentity($id)
      {
          return static::findOne(['id' => $id]);
      }
  
      /**
       * @inheritdoc
       */
      public static function findIdentityByAccessToken($token, $type = null)
      {
          throw new NotSupportedException('"findIdentityByAccessToken" is not implemented.');
      }
  
      /**
27b0cb06   Administrator   VItaliy 02.12.2015
189
       * Finds user by email
89d4b5ac   Administrator   VItaliy 25.11.2015
190
       *
27b0cb06   Administrator   VItaliy 02.12.2015
191
       * @param string $email
89d4b5ac   Administrator   VItaliy 25.11.2015
192
193
       * @return static|null
       */
27b0cb06   Administrator   VItaliy 02.12.2015
194
      public static function findByEmail($email)
89d4b5ac   Administrator   VItaliy 25.11.2015
195
      {
27b0cb06   Administrator   VItaliy 02.12.2015
196
          return static::findOne(['email' => $email]);
89d4b5ac   Administrator   VItaliy 25.11.2015
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
      }
  
      /**
       * @inheritdoc
       */
      public function getId()
      {
          return $this->getPrimaryKey();
      }
  
      /**
       * @inheritdoc
       */
      public function getAuthKey()
      {
          return $this->auth_key;
      }
  
      /**
       * @inheritdoc
       */
      public function validateAuthKey($authKey)
      {
          return $this->getAuthKey() === $authKey;
      }
  
  
  
      /**
       * Generates "remember me" authentication key
       */
      public function generateAuthKey()
      {
          $this->auth_key = Yii::$app->security->generateRandomString();
      }
  
      /**
       * Generates new password reset token
       */
      public function generatePasswordResetToken()
      {
          $this->password_reset_token = Yii::$app->security->generateRandomString() . '_' . time();
      }
  
      /**
       * Removes password reset token
       */
      public function removePasswordResetToken()
      {
          $this->password_reset_token = null;
      }
27b0cb06   Administrator   VItaliy 02.12.2015
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
  
      /**
       * Finds out if password reset token is valid
       *
       * @param string $token password reset token
       * @return boolean
       */
      public static function isPasswordResetTokenValid($token)
      {
          if (empty($token)) {
              return false;
          }
          $expire = Yii::$app->params['user.passwordResetTokenExpire'];
          $parts = explode('_', $token);
          $timestamp = (int) end($parts);
          return $timestamp + $expire >= time();
      }
  
  
  
  
  
  
4828b892   Mihail   after merge with ...
271
  }