Вывод рейтинга

#1 25 июня 2011 в 17:51
Привет всем.
Подскажите, как можно запретить вывод Администратора в рейтинге пользователей или к примеру, выводить только определенную группу пользователей?
#2 27 июня 2011 в 11:47
Доброго времени суток!
в файле www\components\users\frontend.php
строка примерно 270
  1. if (!isset($querysql)){
  2. if (!@$_SESSION['usr_online']){
  3. $sql = "SELECT
  4. u.id as id,
  5. u.login,
  6. u.nickname,
  7. u.logdate as flogdate,
  8. u.is_deleted as is_deleted,
  9. u.birthdate, u.rating,
  10. u.status as microstatus,
  11. p.city, p.karma as karma, p.imageurl,
  12. p.gender as gender
  13. FROM cms_users u
  14. INNER JOIN cms_user_profiles p ON p.user_id = u.id
  15. WHERE u.is_locked = 0 AND u.is_deleted = 0
  16. ORDER BY ".$orderby." ".$orderto."
  17. LIMIT ".(($page-1)*$perpage).", $perpage";
  18.  
  19. } else {
  20.  
  21. $sql = "SELECT
  22. o.user_id as id,
  23. u.login,
  24. u.nickname,
  25. u.logdate as flogdate,
  26. u.is_deleted as is_deleted,
  27. u.birthdate, u.rating,
  28. u.status as microstatus,
  29. p.city, p.karma as karma, p.imageurl,
  30. p.gender as gender
  31. FROM cms_online o
  32. LEFT JOIN cms_users u ON u.id = o.user_id
  33. INNER JOIN cms_user_profiles p ON p.user_id = u.id
  34. WHERE u.is_locked = 0 AND u.is_deleted = 0
  35. GROUP BY o.user_id
  36. ORDER BY ".$orderby." ".$orderto."
  37. LIMIT ".(($page-1)*$perpage).", $perpage";
  38. }
заменить на

  1.  
  2. if (!isset($querysql)){
  3. if (!@$_SESSION['usr_online']){
  4. if ($orderby == 'rating') {
  5. $sql = "SELECT
  6. u.id as id,
  7. u.login,
  8. u.nickname,
  9. u.logdate as flogdate,
  10. u.is_deleted as is_deleted,
  11. u.birthdate, u.rating,
  12. u.status as microstatus,
  13. p.city, p.karma as karma, p.imageurl,
  14. p.gender as gender
  15. FROM cms_users u
  16. INNER JOIN cms_user_profiles p ON p.user_id = u.id
  17. WHERE u.is_locked = 0 AND u.is_deleted = 0 AND u.group_id = 1
  18. ORDER BY ".$orderby." ".$orderto."
  19. LIMIT ".(($page-1)*$perpage).", $perpage";
  20. } else {
  21.  
  22.  
  23.  
  24.  
  25. $sql = "SELECT
  26. u.id as id,
  27. u.login,
  28. u.nickname,
  29. u.logdate as flogdate,
  30. u.is_deleted as is_deleted,
  31. u.birthdate, u.rating,
  32. u.status as microstatus,
  33. p.city, p.karma as karma, p.imageurl,
  34. p.gender as gender
  35. FROM cms_users u
  36. INNER JOIN cms_user_profiles p ON p.user_id = u.id
  37. WHERE u.is_locked = 0 AND u.is_deleted = 0
  38. ORDER BY ".$orderby." ".$orderto."
  39. LIMIT ".(($page-1)*$perpage).", $perpage";
  40. }
  41.  
  42. } else {
  43.  
  44. $sql = "SELECT
  45. o.user_id as id,
  46. u.login,
  47. u.nickname,
  48. u.logdate as flogdate,
  49. u.is_deleted as is_deleted,
  50. u.birthdate, u.rating,
  51. u.status as microstatus,
  52. p.city, p.karma as karma, p.imageurl,
  53. p.gender as gender
  54. FROM cms_online o
  55. LEFT JOIN cms_users u ON u.id = o.user_id
  56. INNER JOIN cms_user_profiles p ON p.user_id = u.id
  57. WHERE u.is_locked = 0 AND u.is_deleted = 0
  58. GROUP BY o.user_id
  59. ORDER BY ".$orderby." ".$orderto."
  60. LIMIT ".(($page-1)*$perpage).", $perpage";
  61. }

u.group_id = 1 это айди выводимой группы в рейтинге, какую нужно такую и поставте сами, ID группы можно помотреть в мускуле...

П.С. решение грубое но рабочее )
#3 29 июня 2011 в 00:00
www\modules\mod_user_rating\module.php

строка примерно 30, добавте u.group_id = 1

должно получится так
  1. $sql = "SELECT u.id, u.login, u.nickname, u.rating as rating, u.is_deleted, p.karma as karma, p.user_id, p.imageurl, u.status
  2. FROM cms_users u
  3. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  4. WHERE u.is_deleted = 0 AND u.is_locked = 0 AND u.group_id = 1
  5. ORDER BY ".$cfg['view_type']." DESC
  6. LIMIT ".$cfg['count'];
#4 29 июня 2011 в 00:16
Все отлично работает. Огромное спасибо!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.