request->referrer; $model = $this->module->model; if (\Yii::$app->request->isPost and $model->load(\Yii::$app->request->post())) { if ($model instanceof DynamicModel) { $this->sendEmail($model); } else { if ($model->save()) { if ($this->module->sendEmail) { $this->sendEmail($model); return $this->redirect($returnUrl); } } else { return false; } } return $this->redirect($returnUrl); } return $this->redirect($returnUrl); } /** * Action that saves data submited via AJAX * * @return array * @throws \yii\base\InvalidConfigException */ public function actionAjax() { \Yii::$app->response->format = Response::FORMAT_JSON; $model = $this->module->model; #die(var_dump(\Yii::$app->request->post())); if (\Yii::$app->request->isPost and $model->load(\Yii::$app->request->post())) { if ($model instanceof DynamicModel) { $this->sendEmail($model); return ['status' => 'success']; } else { if ($model->save()) { if ($this->module->sendEmail) { if ($this->module->alternateMailLogic) { MailerComponent::sendListToAdminAfterSubmit(4, ['user_data' => $model->phone]); } else { $this->sendEmail($model); } return ['status' => 'success']; } return ['status' => 'success']; } else { return ['status' => 'error']; } } } return ['status' => 'error']; } /** * @param $model * * @return bool * @throws \yii\base\InvalidConfigException */ public function sendEmail($model) { if ($this->module->mailer == null) { $mailer = \Yii::$app->mailer; } else { $mailer = \Yii::$app->get($this->module->mailer); } return $mailer->compose( [ 'html' => $this->module->emailFile, 'text' => $this->module->emailFile, ], [$model] ) ->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot']) ->setTo($this->module->email) ->setSubject($this->module->subject) ->send(); } }