Beispiel #1
0
 /**
  * Действие добавления комментария (ajax):
  */
 public function addCommentAjaxAction(Application $application)
 {
     $session = Session::getInstance();
     if ($session->isJustCreated()) {
         return false;
     }
     $validator = new ValidatorHelper($_POST);
     $validator->assertExists('text', 'Не введен текст комментария');
     $validator->assertExists('post_id', 'Не указан идентификатор поста');
     $validator->assertLength('text', 2048, 'Текст комментария слишком длинный');
     $validator->assertNotExists('email', 'Заполнено лишнее поле');
     $text_test = ControlModel::checkContent($_POST['text']);
     if (ControlModel::isCommentCaptcha()) {
         return array('captcha' => true);
     }
     $validator->assertTrue('text', $text_test, 'Запрещенное слово из вордфильтра');
     $validator->assertTrue('timeout', ControlModel::getPostCommentInterval() == 0, 'Таймаут ' . TemplateHelper::ending(ControlModel::getPostCommentInterval(), 'секунда', 'секунды', 'секунд'));
     if ($validator->isValid()) {
         $id = Blog_BlogCommentsModel::CreateComment($_POST, true);
         $session->activeSet('last_visit_post_' . $_POST['post_id'], time());
     }
     return array('isValid' => $validator->isValid(), 'validationResults' => $validator->getValidationResults());
 }