Example #1
0
 /**
  * Регистрирует пользователей
  *
  * @param $email
  * @param $password
  *
  * @return static
  */
 public static function registration($email, $password)
 {
     $email = strtolower($email);
     $fields = ['email' => $email, 'password' => self::hashPassword($password), 'is_active' => 0, 'is_confirm' => 0, 'datetime_reg' => gmdate('YmdHis'), 'referal_code' => Security::generateRandomString(20)];
     \Yii::info('REQUEST: ' . \yii\helpers\VarDumper::dumpAsString($_REQUEST), 'gs\\user_registration');
     \Yii::info('Поля для регистрации: ' . \yii\helpers\VarDumper::dumpAsString($fields), 'gs\\user_registration');
     $user = self::insert($fields);
     $fields = RegistrationDispatcher::add($user->getId());
     \cs\Application::mail($email, 'Подтверждение регистрации', 'registration', ['url' => Url::to(['auth/registration_activate', 'code' => $fields['code']], true), 'user' => $user, 'datetime' => \Yii::$app->formatter->asDatetime($fields['date_finish'])]);
     return $user;
 }
Example #2
0
 /**
  * Очищает старые заявки на регистрацию
  */
 public function actionClear_registration()
 {
     \app\service\RegistrationDispatcher::cron();
 }
Example #3
0
 /**
  * Активация регистрации
  *
  * @param string $code
  *
  * @return Response
  * @throws Exception
  */
 public function actionRegistration_activate($code)
 {
     $row = RegistrationDispatcher::query(['code' => $code])->one();
     if ($row === false) {
         throw new Exception('Срок ссылки истек или не верный код активации');
     }
     $user = User::find($row['parent_id']);
     if (is_null($user)) {
         throw new Exception('Пользователь не найден');
     }
     $user->activate();
     Yii::$app->user->login($user);
     RegistrationDispatcher::delete($row['parent_id']);
     return $this->goHome();
 }