Example #1
0
 public function addCommentFormSucceded(Form $form)
 {
     $values = (object) $form->getHttpData();
     if (isset($values->antispam) && $values->antispam != $values->firstAddend + $values->secondAddend) {
         $form->getPresenter()->getTemplate()->wrongAntispam = true;
         $form->getPresenter()->getTemplate()->needsAntispam = true;
         $form->getPresenter()->redrawControl("wrongAntispam");
     } else {
         $articleId = $form->getPresenter()->getParameter("id");
         $user = UserService::loadFromSession($form->getPresenter()->getUser());
         $newComment = CommentService::create($values->content, $user);
         $this->commentFacade->save($newComment, $articleId);
         if ($this->commentFacade->needsAntispam($user)) {
             $form->getPresenter()->getTemplate()->needsAntispam = true;
             $form->getPresenter()->getTemplate()->firstAddend = Antispam::generate();
             $form->getPresenter()->getTemplate()->secondAddend = Antispam::generate();
         }
         if (!$form->getPresenter()->isAjax()) {
             $form->getPresenter()->redirect("this");
         } else {
             $form->getPresenter()->redrawControl("addCommentForm");
             $form->getPresenter()->redrawControl("comments");
             $form->getPresenter()->redrawControl("metainfoArea");
             $form->getPresenter()->redrawControl("metainfo");
             $form->setValues([], TRUE);
         }
     }
 }
Example #2
0
 private function toEntity(DbEntry $comment)
 {
     return CommentService::loadFromDb($comment);
 }
Example #3
0
 private static function loadCommentsFromDb(DbEntry $article)
 {
     $comments = new CommentCollection();
     foreach ($article->related("comment", "article_id") as $comment) {
         $comments->addItem(CommentService::loadFromDb($comment));
     }
     return $comments;
 }