protected function getValue() { $app = JFactory::getApplication(); if ($app->isSite() && isset($this->doc->total_comments) && !is_null($this->doc->total_comments)) { return $this->doc->total_comments; } $user = JFactory::getUser(); $db = JFactory::getDbo(); if ($app->isSite()) { $query = $db->getQuery(true); $query->select('COUNT(*)'); $query->from('#__judownload_comments AS cm'); $query->where('doc_id =' . $this->doc_id); $query->where('level = 1'); $query->where('approved = 1'); $moderator = JUDownloadFrontHelperModerator::getModerator($this->doc->cat_id); $getAll = false; if ($user->authorise('core.admin', 'com_judownload')) { $getAll = true; } if (is_object($moderator)) { if ($moderator->comment_edit || $moderator->comment_edit_state || $moderator->comment_delete) { $getAll = true; } } if (!$getAll) { $query->where('published = 1'); $params = JUDownloadHelper::getParams(null, $this->doc_id); $negative_vote_comment = $params->get('negative_vote_comment'); if (is_numeric($negative_vote_comment) && $negative_vote_comment > 0) { $query->where('(total_votes - helpful_votes) <' . $negative_vote_comment); } } } else { $query = $db->getQuery(true); $query->select('COUNT(*)'); $query->from('#__judownload_comments AS cm'); $query->where('doc_id =' . $this->doc_id); $query->where('level = 1'); $query->where('approved = 1'); } $db->setQuery($query); $totalComments = $db->loadResult(); return $totalComments; }
public function getTotalChildComments($parentId) { $documentId = (int) $this->getState('document.id'); $mainCategoryId = JUDownloadFrontHelperCategory::getMainCategoryId($documentId); $user = JFactory::getUser(); $params = $this->getState('params'); $db = $this->getDbo(); $query = $db->getQuery(true); $query->select('COUNT(*)'); $query->from('#__judownload_comments AS cm'); $query->where('cm.approved = 1'); $query->where('cm.parent_id = ' . $parentId); $maxLevel = $params->get('max_comment_level', 5); $query->where('cm.level <= ' . $maxLevel); $getAll = false; $isModerator = JUDownloadFrontHelperModerator::isModerator(); if ($isModerator) { $moderator = JUDownloadFrontHelperModerator::getModerator($mainCategoryId); if ($user->authorise('core.admin', 'com_judownload') || ($moderator && ($moderator->comment_edit || $moderator->comment_edit_state || $moderator->comment_delete))) { $getAll = true; } } if (!$getAll) { $query->where('cm.published = 1'); $negative_vote_comment = $params->get('negative_vote_comment'); if (is_numeric($negative_vote_comment) && $negative_vote_comment > 0) { $query->where('(cm.total_votes - cm.helpful_votes) <' . $negative_vote_comment); } } $db->setQuery($query); return $db->loadResult(); }