Сделать динамический рейтинг

Я считаю, что рейтинг пользователей должен быть динамическим. То есть при расчете рейтинга пользователей учитывать материалы только за определенный период или просто уменьшать рейтинг каждый день. Это пока самый простой вариант. Хорошим вариантом был бы плагин, который бы каждый день брал бы топики и комментарии пользователей за последний месяц и высчитывал бы рейтинг.

Дело в том, что если какой-то пользователь активно жил на сайте, а потом забивал на него, то он все надолго равно остается в лидерах рейтинга.

Пользователь создал себе ботов и накрутил рейтинг. Боты были удалены, рейтинг остался высоким. Как восстановить его реальное состояние?

Пользователь создал себе ботов и накрутил рейтинг. Боты были удалены, однако рейтинг остался высоким. Как восстановить его реальное состояние? Только руками в базе?

Был вроде такой плагин...

Привет всем. Есть необходимость увеличить рейтинг определенным пользователям на портале под управлением livestreet. Вроде был такой плагин? Как он называется? или как этом ожно реализовать другими способами? Спасибо

Как сделать чтобы при голосовании за топик, голосовавшему к рейтингу прибавлялось определенное значение? [РЕШЕНО]

Доброе время суток сообщество Livestreet, обращаюсь к вам немного с нестандартным вопросом, потому что и задача у меня нестандартная. Состоит она вот в чем:

Любому проголосовавшему за топик (неважно + или -) к рейтингу нужно добавить определенное значение, например +1,00 или +0,50, оно ни от чего не зависит, всегда одна и та же величина.

Буду очень благодарен за любую помощь и наводки!

РЕШЕНИЕ:
1) находим файл classes\modules\rating\Rating.class.php
2) открываем и заменяем функцию VoteTopic (85 строка) на следующее:
	public function VoteTopic(ModuleUser_EntityUser $oUser, ModuleTopic_EntityTopic $oTopic, $iValue) {
		$oTopic->setRating($oTopic->getRating()+$iValue);
		$oUser=$this->User_GetUserById($oUser->getUserId());
		$oUser->setRating($oUser->getRating()+$iValue);
		$this->User_Update($oUser);
		return $iValue;
	}

ДАННАЯ ФУНКЦИЯ ДОБАВЛЯЕТ ГОЛОСУЮЩЕМУ +1 или -1 РЕЙТИНГА В ЗАВИСИМОСТИ + ИЛИ — ОН ПОСТАВИЛ ПОСТУ, И +1 ИЛИ -1 ПОСТУ.

! ВНИМАНИЕ ФУНКЦИЯ 1) НЕ ДОБАВЛЯЕТ СИЛЫ НИКОМУ 2) НЕ ДОБАВЛЯЕТ РЕЙТИНГА СОЗДАТЕЛЮ ТОПИКА


функционал странный, но именно такой мне был необходим, спасибо пользователям beauty_free и gran

[РЕШЕНО] Что за аномалия?

Хочу реализовать прибавление рейтинга за публикацию топика:
В Action.Topic.class.php добавляю 3 строчки:
if ($this->Topic_AddTopic($oTopic)) {
			$this->Hook_Run('topic_add_after', array('oTopic'=>$oTopic,'oBlog'=>$oBlog));
			/**
			 * Получаем топик, чтоб подцепить связанные данные
			 */
			$oTopic=$this->Topic_GetTopicById($oTopic->getId());
			/**
			 * Прибавляем 0.4 рейтинга за публикацию топика
			 */
			$oUserTopic = $this->oUserCurrent;
            $oUserTopic->setRating($oUserTopic->getRating()+0.4); // можно в конфиге val вместо 0.4
            $this->User_Update($oUserTopic);


Всё ок, работает на ура!
В этом же файле, только ниже, в функции удаления (вконце) добавляю 3 строчки отнимания рейтинга при удалении топика:
protected function EventDelete() {
		$this->Security_ValidateSendForm();
		/**
		 * Получаем номер топика из УРЛ и проверяем существует ли он
		 */
		$sTopicId=$this->GetParam(0);
		if (!($oTopic=$this->Topic_GetTopicById($sTopicId))) {
			return parent::EventNotFound();
		}
		/**
		 * проверяем есть ли право на удаление топика
		 */
		if (!$this->ACL_IsAllowDeleteTopic($oTopic,$this->oUserCurrent)) {
			return parent::EventNotFound();
		}
		
		/**
		 * Удаляем топик
		 */
		$this->Hook_Run('topic_delete_before', array('oTopic'=>$oTopic));
		$this->Topic_DeleteTopic($oTopic);
		$this->Hook_Run('topic_delete_after', array('oTopic'=>$oTopic));
		/**
		 * Отнимаем 0.4 рейтинга
		 */
		$oUserTopic = $this->oUserCurrent;
        $oUserTopic->setRating($oUserTopic->getRating()-0.4);
        $this->User_Update($oUserTopic);

Теже 3 строчки, но только знак минус. НЕ РАБОТАЕТ. РЕЙТИНГ НЕ ОТНИМАЕТСЯ!

Понял, потом, что функция отнимания неверна, т.к. если удалит админ или редактор, то у него отнимется рейтинг.

Пределал:
$oUserTopic=$this->User_GetUserById($oTopic->getUserId());
		$oUserTopic->setRating($oUserTopic->getRating()-0.4);
        $this->User_Update($oUserTopic);

Заменил, и всё равно рейтинг не отнимается. Что не так?

Разъясните, как формируется рейтинг у блогов?

Пользовался поиском. Столько бреда написано. Гуру, дайте верный ответ. Пишут что рейтинг блога не зависит от рейтинга постов, неужели так всё плохо? И где тогда кнопка голосования за сам блог.
Жду ответа…