public function getArticleComments($article, $language, $recommended = false, $getDeleted = true, $showHidden = true)
{
$em = $this->getEntityManager();
$languageId = $em->getRepository('Newscoop\\Entity\\Language')->findOneByCode($language);
$queryBuilder = $em->getRepository('Newscoop\\Entity\\Comment')->createQueryBuilder('c')->where('c.thread = :thread')->andWhere('c.language = :language')->orderBy('c.time_created', 'desc')->setParameters(array('thread' => $article, 'language' => $languageId->getId()));
if ($recommended) {
$queryBuilder->andWhere('c.recommended = 1');
}
if (!$getDeleted) {
$queryBuilder->andWhere('c.status != :status')->setParameter('status', Comment::STATUS_DELETED);
}
if (!$showHidden) {
$queryBuilder->andWhere('c.status != :status')->setParameter('status', Comment::STATUS_HIDDEN);
}
$query = $queryBuilder->getQuery();
return $query;
}