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]); } }