public function actionRegistration()
 {
     $model = new Registration();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         /*password*/
         /*$password = substr(md5($username),0,8);*/
         /*email for link*/
         $email_link = md5($username . time());
         /*generate activation link*/
         $link = Yii::$app->urlManager->createAbsoluteUrl(['site/activate', 'code' => $email_link]);
         if ($user = $model->registrations($email_link, $password)) {
             $data = Yii::$app->request->post('Registration');
             $data['operation'] = 'registration';
             $data['url'] = Url::to('');
             $data['text'] = 'Сайт, страница регистрации';
             $data['message'] = 'Зарегестрировался пользователь под именем -> ' . $data['name'] . ', почтовый ящик -> ' . $data['username'];
             $logs = Logs::loger($data);
             /*sending email*/
             $send = User::send_email($model->username, $link);
             return $this->redirect('index.php?r=site/confirmate');
         }
     } else {
         // либо страница отображается первый раз, либо есть ошибка в данных
         return $this->render('registration', ['model' => $model]);
     }
 }
 /**
  * Creates a new Registration model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $registration_model = new Registration();
     $registration_model->registration_type_id = 1;
     $invoice_model = new Invoice();
     if ($registration_model->load(Yii::$app->request->post())) {
         $registration_model->file_payment_receipt = UploadedFile::getInstance($registration_model, 'file_payment_receipt');
         switch ($registration_model->registration_type_id) {
             case 2:
             case 4:
             case 5:
                 $registration_model->file_student_id = UploadedFile::getInstance($registration_model, 'file_student_id');
                 break;
         }
         $isValid = $registration_model->validate();
         if ($registration_model->requires_invoice) {
             if ($invoice_model->load(Yii::$app->request->post())) {
                 $isValid = $isValid && $invoice_model->validate();
                 var_dump($invoice_model->errors);
             }
         }
         var_dump($registration_model->errors);
         if ($isValid) {
             if ($registration_model->save(false)) {
                 if ($registration_model->requires_invoice) {
                     $invoice_model->registration_id = $registration_model->id;
                     if ($invoice_model->save(false)) {
                         return $this->redirect(['view', 'id' => $registration_model->id]);
                     }
                 } else {
                     return $this->redirect(['view', 'id' => $registration_model->id]);
                 }
             }
         }
     } else {
         return $this->render('create', ['registration_model' => $registration_model, 'invoice_model' => $invoice_model]);
     }
 }