Как изменить рейтинг?

#1 16 ноября 2013 в 08:12
Как изменить рейтинг пользователя? Где искать и что менять?
#2 16 ноября 2013 в 12:32
Плюсовать и минусовать его статьи, блоги, каменты, и тд. Рейтинг будет меняццо сам )))
#3 16 ноября 2013 в 21:36
я имею веду произвольно(ввёл опр. цифру и рейтинг изменился)
#4 16 ноября 2013 в 23:03
Думаю в базе данных изменить можно без проблем.
#5 16 ноября 2013 в 23:13

Думаю в базе данных изменить можно без проблем.

виталя
я как прочитал первое сообщение полез в базу, рейтинг формируется довольно хитро, лично я не нашел, что бы в базе были поля с никами пользователей и рядом стоит рейтинг.
#6 17 ноября 2013 в 00:16
Я как то менял рейтинг, но на локальном хосте пробовал, не решился на основном, потому что точно не знал, что тыкать
#7 17 ноября 2013 в 00:22
Рейтинг меняется в БД!
Поставил админу по 5000 кармы и рейтинга.
НО! Другим аккаунтом поставил админу +1 кармы и 5000 слетело на на то что было+1.
С рейтингом не проверял.
На старые версии было такое дополнение — можно было выставить любому пользователю произвольные цифры для кармы и рейтинга. работало отлично. Если память мне с кем-то не изменяет, кажется кто-то делал для версии 1.7 или 1.8
#8 17 ноября 2013 в 00:52
  1. /**
  2.   * Возвращает некешированный рейтинг пользователя
  3.   * @param int $user_id ID пользователя
  4.   * @return int
  5.   */
  6. public static function getRating($user_id) {
  7.  
  8. $inDB = cmsDatabase::getInstance();
  9.  
  10. $rating = 0;
  11.  
  12. $targets = $inDB->get_table('cms_rating_targets', 'is_user_affect = 1 ORDER BY user_weight', 'target, user_weight, target_table');
  13. if(!$targets) { return $rating; }
  14.  
  15. $start_sql = "SELECT SUM( r.total_rating ) AS rating FROM cms_ratings_total r \n";
  16.  
  17. foreach($targets as $target){
  18.  
  19. $sql = "INNER JOIN {$target['target_table']} {$target['target']} ON
  20. r.item_id = {$target['target']}.id AND
  21. r.target = '{$target['target']}' AND
  22. {$target['target']}.user_id = '{$user_id}' \n";
  23.  
  24. $result = $inDB->query($start_sql . $sql);
  25. $data = $inDB->fetch_assoc($result);
  26. $rating += (int)@$data['rating'] * (int)$target['user_weight'];
  27.  
  28. }
  29.  
  30. return $rating;
  31.  
  32. }
А если своими словами, то голоса за комменты, статьи и т.п. заносятся в таблицу cms_ratings для проверки перед следующим голосом, далее добавляются в таблицу cms_ratings_total и оттуда получаются с помощью выше приведенной функции, учитывая при этом все таблицы из cms_rating_targets
#9 17 ноября 2013 в 01:10
БД => таблица `cms_users` => поле `rating`. Установил администратору рейтинг вместо "29" -> "100", с другого аккаунта проплюсовал все его записи (блог/форум/статьи), итог "153". При минусах рейтинг убывает, но не слетает на то что было.
#11 17 ноября 2013 в 08:32
Джонни Д., +1

toliaq,
Если рейтинг изменить в таблице базы данных, то при последующих плюсах и минусах за тот или иной вид контента, рейтинг не меняется, меняется при пересчёте из админки.

На днях делал компонент подарочных баллов от администратора на карму и рейтинг. свежо помнится база…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.