示例#1
0
	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;
	}
示例#2
0
	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();
	}