ContactController::actionIndex PHP Метод

actionIndex() публичный Метод

public actionIndex ( null $type = null )
$type null
    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]);
    }