/upload/includes/datastore/build_moderators.php

http://torrentpier2.googlecode.com/ · PHP · 107 lines · 90 code · 11 blank · 6 comment · 2 complexity · 079c6e2e181dcb27587471498d2b05cb MD5 · raw file

  1. <?php
  2. if (!defined('BB_ROOT')) die(basename(__FILE__));
  3. $data = array(
  4. 'name_users' => array(), // only by personal permissions
  5. 'name_groups' => array(), // only visible to all users
  6. 'mod_users' => array(), // only by personal permissions
  7. 'mod_groups' => array(), // only visible to all users
  8. 'moderators' => array(), // all moderators
  9. 'admins' => array(), // all admins
  10. );
  11. // name_users
  12. // mod_users
  13. $sql = "
  14. SELECT
  15. aa.forum_id, u.user_id, u.username
  16. FROM
  17. ". BB_AUTH_ACCESS ." aa,
  18. ". BB_USER_GROUP ." ug,
  19. ". BB_GROUPS ." g,
  20. ". BB_USERS ." u
  21. WHERE
  22. aa.forum_perm & ". BF_AUTH_MOD ."
  23. AND ug.group_id = aa.group_id
  24. AND ug.user_pending = 0
  25. AND g.group_id = ug.group_id
  26. AND g.group_single_user = 1
  27. AND u.user_id = ug.user_id
  28. GROUP BY
  29. aa.forum_id, u.user_id
  30. ORDER BY
  31. u.username
  32. ";
  33. foreach (DB()->fetch_rowset($sql) as $row)
  34. {
  35. $data['name_users'][$row['user_id']] = $row['username'];
  36. $data['mod_users'][$row['forum_id']][] = $row['user_id'];
  37. }
  38. // name_groups
  39. // mod_groups
  40. $sql = "
  41. SELECT
  42. aa.forum_id, g.group_id, g.group_name
  43. FROM
  44. ". BB_AUTH_ACCESS ." aa,
  45. ". BB_GROUPS ." g
  46. WHERE
  47. aa.forum_perm & ". BF_AUTH_MOD ."
  48. AND g.group_id = aa.group_id
  49. AND g.group_single_user = 0
  50. AND g.group_type != ". GROUP_HIDDEN ."
  51. GROUP BY
  52. aa.forum_id, g.group_id
  53. ORDER BY
  54. g.group_name
  55. ";
  56. foreach (DB()->fetch_rowset($sql) as $row)
  57. {
  58. $data['name_groups'][$row['group_id']] = $row['group_name'];
  59. $data['mod_groups'][$row['forum_id']][] = $row['group_id'];
  60. }
  61. // moderators
  62. $sql = "
  63. SELECT
  64. u.user_id, u.username
  65. FROM
  66. ". BB_AUTH_ACCESS ." aa,
  67. ". BB_USER_GROUP ." ug,
  68. ". BB_GROUPS ." g,
  69. ". BB_USERS ." u
  70. WHERE
  71. aa.forum_perm & ". BF_AUTH_MOD ."
  72. AND ug.group_id = aa.group_id
  73. AND ug.user_pending = 0
  74. AND g.group_id = ug.group_id
  75. AND u.user_id = ug.user_id
  76. GROUP BY
  77. u.user_id
  78. ORDER BY
  79. u.username
  80. ";
  81. foreach (DB()->fetch_rowset($sql) as $row)
  82. {
  83. $data['moderators'][$row['user_id']] = $row['username'];
  84. }
  85. // admins
  86. $sql = "
  87. SELECT user_id, username
  88. FROM ". BB_USERS ."
  89. WHERE user_level = ". ADMIN ."
  90. ORDER BY username
  91. ";
  92. foreach (DB()->fetch_rowset($sql) as $row)
  93. {
  94. $data['admins'][$row['user_id']] = $row['username'];
  95. }
  96. $this->store('moderators', $data);