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); } } }
private function toEntity(DbEntry $comment) { return CommentService::loadFromDb($comment); }
private static function loadCommentsFromDb(DbEntry $article) { $comments = new CommentCollection(); foreach ($article->related("comment", "article_id") as $comment) { $comments->addItem(CommentService::loadFromDb($comment)); } return $comments; }