Livestreet Хак: изменение голосования

Система голосования в Livestreet избыточная непонятная для пользователя

там есть 4 !!!!  типа голосования


1. за юзера
2. за блог
3. за топик
4. за комментарий

в первых 2 я не вижу смысла

кроме того есть еще и сила пользователя, которая почти равна рейтингу

итак что бы привести все это в нормальный вид

делаем

1. убираем голосование за юзера и за блог
2. рейтинг юзера считаем исходя результатов голосования  за топик за комментарий
3. рейтинг блога считаем исходя результатов голосования  за топик и количества топиков юзеров в блоге
4. "силу" выбрасываем  и приравниваем её равной рейтингу
5. добавляем повышение рейтинга за "активность" юзера то за публикации комменты и голосования  . к примеру за пост я добавил 0.4


приведу пример

юзер написал топик в блог и за него проголосовали +1 и написали 3 коммента

итак считаем
1. юзер написал топик в блог  : юзеру + 0.4  этому блогу + 0.1
2. написали 3 комменты: топику + 0.03  блогу + 0.003    юзеру  + 0.03 , комментирующему юзеру + 0.05
3. проголосовали +1 : топику + 1 блогу + 0.1  юзеру  + 0.1 голосовавшему юзеру  + 0.01

примерно где то так

1. добавляем рейтинг 0.4 за публикацию топика 
класс ActionTopic.class.php   функция  SubmitAdd()

/**
 * Получаем топик, чтоб подцепить связанные данные
 */
      $oTopic=$this->Topic_GetTopicById($oTopic->getId());
      $oUserTopic = $this->oUserCurrent;
      $oUserTopic->setRating($oUserTopic->getRating()+0.4); // можно в конфиге val вместо 0.4
      $this->User_Update($oUserTopic);

функция EventDelete() 

$oUserTopic = $this->oUserCurrent;
 $oUserTopic->setRating($oUserTopic->getRating() - 0.4);

$this->User_Update($oUserTopic); 

Комментариев нет:

Отправить комментарий