likes

хай люди. скажите как ввести функционал рейтинга — например чтоб у юзера раз в сутки было ограничение за голосование? и чем выше его рейтинг тем больше раз можно лайкать. есть плагин какой или кто то может взятся за реализацию?

10 комментариев

avatar
В vote.js реализован объект, отвечающий за голосование. Он делает запрос аяксом по экшену «ajax» (реализован в ActionAjax), в котором описаны методы, реализующие сам процесс голосования, например «EventVoteComment()». Методы хорошо прокомментированы и там видно где идет блок проверок на возможность голосования. Достаточно внести изменения в эти методы — добавить проверку на количество голосования от пользователя. Вообщем как-то-так.
avatar
/**
		 * Параметры голосования
		 */
		$idAnswer=getRequest('idAnswer',null,'post');
		$idTopic=getRequest('idTopic',null,'post');


мож я не тот акшн смотрю… поднаправь поточнее если не сложно
avatar
/**
		 * Голосуем
		 */
		$oTopicVote=Engine::GetEntity('Vote');
		$oTopicVote->setTargetId($oTopic->getId());
		$oTopicVote->setTargetType('topic');
		$oTopicVote->setVoterId($this->oUserCurrent->getId());
		$oTopicVote->setDirection($iValue);
		$oTopicVote->setDate(date("Y-m-d H:i:s"));
		$iVal=0;
		if ($iValue!=0) {
			$iVal=(float)$this->Rating_VoteTopic($this->oUserCurrent,$oTopic,$iValue);
		}
		$oTopicVote->setValue($iVal);
		$oTopic->setCountVote($oTopic->getCountVote()+1);
		if ($iValue==1) {
			$oTopic->setCountVoteUp($oTopic->getCountVoteUp()+1);
		} elseif ($iValue==-1) {
			$oTopic->setCountVoteDown($oTopic->getCountVoteDown()+1);
		} elseif ($iValue==0) {
			$oTopic->setCountVoteAbstain($oTopic->getCountVoteAbstain()+1);
		}
		if ($this->Vote_AddVote($oTopicVote) and $this->Topic_UpdateTopic($oTopic)) {
			if ($iValue) {
				$this->Message_AddNoticeSingle($this->Lang_Get('topic_vote_ok'),$this->Lang_Get('attention'));
			} else {
				$this->Message_AddNoticeSingle($this->Lang_Get('topic_vote_ok_abstain'),$this->Lang_Get('attention'));
			}
			$this->Viewer_AssignAjax('iRating',$oTopic->getRating());
avatar
Да, здесь
avatar
avatar
Не знал, спасибо. почитаю.
avatar
выкладывайте на гитхаб, может так быстрее будет обновляться?
avatar
увы, не умею пользоваться
avatar
на 1.0.1 возможна адаптация? за донейтик?, если да то за какой?
avatar
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.