/** * Returns form for send message to admin * * @throws CException */ public function actionIndex() { $this->metaInfoGenerate('Отправка сообщения', '', ''); $this->breadcrumbs[] = 'Отправка сообщения'; $model = new CallbackForm(); if (isset($_POST['CallbackForm'])) { $config = CallbackConfig::model()->findByPk(1); $model->attributes = $_POST['CallbackForm']; if ($model->validate()) { if (CallbackConfig::model()->checkTimeout()) { $body = $this->renderPartial('callback_template', array_merge(array('model' => $model)), true); if ($this->module->sendMessage($config->email, 'Сообщение с сайта ' . Yii::app()->config->sitename, $body)) { Yii::app()->user->setFlash('callback_message', 'Ваше письмо успешно отправлено администратору сайта.'); Yii::app()->session['timeoutCallback'] = date("Y-m-d H:i:s"); } else { Yii::app()->user->setFlash('callback_message', 'В данный момент отправка сообщений невозможна.'); } } else { Yii::app()->user->setFlash('callback_message', 'Разрешено оправлять одно сообщение в ' . $config->timeout . ' минут.'); } } $this->renderPartial('_form', array('model' => $model)); } else { $this->render('index', array('model' => $model)); } }
public function run() { if (Yii::app()->request->isAjaxRequest) { $model = new CallbackForm(); $sended = false; if (isset($_POST['CallbackForm'])) { $model->attributes = $_POST['CallbackForm']; if ($model->validate()) { $sended = true; $this->sendMessage($model); $model->unsetAttributes(); } } $this->controller->render('ext.callback.views._form', array('model' => $model, 'sended' => $sended)); } else { throw new CHttpException(403); } }
/** * Returns form for send message to admin * * @throws CException */ public function actionIndex() { $this->metaInfoGenerate('Отправка сообщения', '', ''); $this->breadcrumbs[] = 'Отправка сообщения'; $model = new CallbackForm(); if (isset($_POST['CallbackForm'])) { $model->attributes = $_POST['CallbackForm']; if ($model->validate()) { $admin = User::model()->findByPk(1); $body = $this->renderPartial('callback_template', array_merge(array('model' => $model)), true); if ($this->module->sendMessage($admin->email, 'Сообщение с сайта ' . Yii::app()->config->sitename, $body)) { Yii::app()->user->setFlash('callback_message', 'Ваше сообщение успешно отправлено администратору сайта.'); } else { Yii::app()->user->setFlash('callback_message', 'В данный момент отправка сообщений невозможна.'); } $this->refresh(); } } $this->render('index', array('model' => $model)); }