public function actionIndex($type = null)
{
$form = new FeedBackForm();
// если пользователь авторизован - подставить его данные
if (Yii::app()->getUser()->isAuthenticated()) {
$form->email = Yii::app()->getUser()->getProFileField('email');
$form->name = Yii::app()->getUser()->getProFileField('nick_name');
}
// проверить не передан ли тип и присвоить его аттрибуту модели
$form->type = empty($type) ? FeedBack::TYPE_DEFAULT : (int) $type;
$module = Yii::app()->getModule('feedback');
if (Yii::app()->getRequest()->getIsPostRequest() && !empty($_POST['FeedBackForm'])) {
$form->setAttributes(Yii::app()->getRequest()->getPost('FeedBackForm'));
if ($form->validate()) {
if ($this->feedback->send($form, $module)) {
if (Yii::app()->getRequest()->getIsAjaxRequest()) {
Yii::app()->ajax->success(Yii::t('FeedbackModule.feedback', 'Your message sent! Thanks!'));
}
Yii::app()->getUser()->setFlash(YFlashMessages::SUCCESS_MESSAGE, Yii::t('FeedbackModule.feedback', 'Your message sent! Thanks!'));
$this->redirect($module->successPage ? [$module->successPage] : ['/feedback/contact/index/']);
} else {
if (Yii::app()->getRequest()->getIsAjaxRequest()) {
Yii::app()->ajax->failure(Yii::t('FeedbackModule.feedback', 'It is not possible to send message!'));
}
Yii::app()->getUser()->setFlash(YFlashMessages::ERROR_MESSAGE, Yii::t('FeedbackModule.feedback', 'It is not possible to send message!'));
}
} else {
if (Yii::app()->getRequest()->getIsAjaxRequest()) {
Yii::app()->ajax->rawText(CActiveForm::validate($form));
}
}
}
$this->render('index', ['model' => $form, 'module' => $module]);
}