Oppaitime's version of Gazelle
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

badges.php 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?
  2. //----------- Award Automated Badges -----------------------//
  3. $GiB = 1024*1024*1024;
  4. $ModifiedIDs = array();
  5. // Download Badges
  6. // 8GiB DL
  7. $DB->query("
  8. SELECT ID
  9. FROM users_main
  10. WHERE Downloaded >= ".(8*$GiB)."
  11. AND ID NOT IN (SELECT UserID FROM users_badges WHERE BadgeID = ".AUTOMATED_BADGE_IDS['DL']['8'].")");
  12. if ($DB->has_results()) {
  13. $IDs = $DB->collect('ID');
  14. foreach ($IDs as $ID) {
  15. $DB->query("
  16. INSERT INTO users_badges
  17. VALUES (".$ID.", ".AUTOMATED_BADGE_IDS['DL']['8'].", 0)");
  18. Misc::send_pm($ID, 0, 'You have received a badge!', "You have received a badge for downloading 8GiB of data.\n\nIt can be enabled from your user settings.");
  19. }
  20. $ModifiedIDs = array_merge($ModifiedIDs, $IDs);
  21. }
  22. // 16GiB DL
  23. $DB->query("
  24. SELECT ID
  25. FROM users_main
  26. WHERE Downloaded >= ".(16*$GiB)."
  27. AND ID NOT IN (SELECT UserID FROM users_badges WHERE BadgeID = ".AUTOMATED_BADGE_IDS['DL']['16'].")");
  28. if ($DB->has_results()) {
  29. $IDs = $DB->collect('ID');
  30. foreach ($IDs as $ID) {
  31. $DB->query("
  32. INSERT INTO users_badges
  33. VALUES (".$ID.", ".AUTOMATED_BADGE_IDS['DL']['16'].", 0)");
  34. Misc::send_pm($ID, 0, 'You have received a badge!', "You have received a badge for downloading 16GiB of data.\n\nIt can be enabled from your user settings.");
  35. }
  36. $ModifiedIDs = array_merge($ModifiedIDs, $IDs);
  37. }
  38. // 32GiB DL
  39. $DB->query("
  40. SELECT ID
  41. FROM users_main
  42. WHERE Downloaded >= ".(32*$GiB)."
  43. AND ID NOT IN (SELECT UserID FROM users_badges WHERE BadgeID = ".AUTOMATED_BADGE_IDS['DL']['32'].")");
  44. if ($DB->has_results()) {
  45. $IDs = $DB->collect('ID');
  46. foreach ($IDs as $ID) {
  47. $DB->query("
  48. INSERT INTO users_badges
  49. VALUES (".$ID.", ".AUTOMATED_BADGE_IDS['DL']['32'].", 0)");
  50. Misc::send_pm($ID, 0, 'You have received a badge!', "You have received a badge for downloading 32GiB of data.\n\nIt can be enabled from your user settings.");
  51. }
  52. $ModifiedIDs = array_merge($ModifiedIDs, $IDs);
  53. }
  54. // 64GiB DL
  55. $DB->query("
  56. SELECT ID
  57. FROM users_main
  58. WHERE Downloaded >= ".(64*$GiB)."
  59. AND ID NOT IN (SELECT UserID FROM users_badges WHERE BadgeID = ".AUTOMATED_BADGE_IDS['DL']['64'].")");
  60. if ($DB->has_results()) {
  61. $IDs = $DB->collect('ID');
  62. foreach ($IDs as $ID) {
  63. $DB->query("
  64. INSERT INTO users_badges
  65. VALUES (".$ID.", ".AUTOMATED_BADGE_IDS['DL']['64'].", 0)");
  66. Misc::send_pm($ID, 0, 'You have received a badge!', "You have received a badge for downloading 64GiB of data.\n\nIt can be enabled from your user settings.");
  67. }
  68. $ModifiedIDs = array_merge($ModifiedIDs, $IDs);
  69. }
  70. // 128GiB DL
  71. $DB->query("
  72. SELECT ID
  73. FROM users_main
  74. WHERE Downloaded >= ".(128*$GiB)."
  75. AND ID NOT IN (SELECT UserID FROM users_badges WHERE BadgeID = ".AUTOMATED_BADGE_IDS['DL']['128'].")");
  76. if ($DB->has_results()) {
  77. $IDs = $DB->collect('ID');
  78. foreach ($IDs as $ID) {
  79. $DB->query("
  80. INSERT INTO users_badges
  81. VALUES (".$ID.", ".AUTOMATED_BADGE_IDS['DL']['128'].", 0)");
  82. Misc::send_pm($ID, 0, 'You have received a badge!', "You have received a badge for downloading 128GiB of data.\n\nIt can be enabled from your user settings.");
  83. }
  84. $ModifiedIDs = array_merge($ModifiedIDs, $IDs);
  85. }
  86. // 256GiB DL
  87. $DB->query("
  88. SELECT ID
  89. FROM users_main
  90. WHERE Downloaded >= ".(256*$GiB)."
  91. AND ID NOT IN (SELECT UserID FROM users_badges WHERE BadgeID = ".AUTOMATED_BADGE_IDS['DL']['256'].")");
  92. if ($DB->has_results()) {
  93. $IDs = $DB->collect('ID');
  94. foreach ($IDs as $ID) {
  95. $DB->query("
  96. INSERT INTO users_badges
  97. VALUES (".$ID.", ".AUTOMATED_BADGE_IDS['DL']['256'].", 0)");
  98. Misc::send_pm($ID, 0, 'You have received a badge!', "You have received a badge for downloading 256GiB of data.\n\nIt can be enabled from your user settings.");
  99. }
  100. $ModifiedIDs = array_merge($ModifiedIDs, $IDs);
  101. }
  102. // 512GiB DL
  103. $DB->query("
  104. SELECT ID
  105. FROM users_main
  106. WHERE Downloaded >= ".(512*$GiB)."
  107. AND ID NOT IN (SELECT UserID FROM users_badges WHERE BadgeID = ".AUTOMATED_BADGE_IDS['DL']['512'].")");
  108. if ($DB->has_results()) {
  109. $IDs = $DB->collect('ID');
  110. foreach ($IDs as $ID) {
  111. $DB->query("
  112. INSERT INTO users_badges
  113. VALUES (".$ID.", ".AUTOMATED_BADGE_IDS['DL']['512'].", 0)");
  114. Misc::send_pm($ID, 0, 'You have received a badge!', "You have received a badge for downloading 512GiB of data.\n\nIt can be enabled from your user settings.");
  115. }
  116. $ModifiedIDs = array_merge($ModifiedIDs, $IDs);
  117. }
  118. // 1024GiB DL
  119. $DB->query("
  120. SELECT ID
  121. FROM users_main
  122. WHERE Downloaded >= ".(1024*$GiB)."
  123. AND ID NOT IN (SELECT UserID FROM users_badges WHERE BadgeID = ".AUTOMATED_BADGE_IDS['DL']['1024'].")");
  124. if ($DB->has_results()) {
  125. $IDs = $DB->collect('ID');
  126. foreach ($IDs as $ID) {
  127. $DB->query("
  128. INSERT INTO users_badges
  129. VALUES (".$ID.", ".AUTOMATED_BADGE_IDS['DL']['1024'].", 0)");
  130. Misc::send_pm($ID, 0, 'You have received a badge!', "You have received a badge for downloading 1024GiB of data.\n\nIt can be enabled from your user settings.");
  131. }
  132. $ModifiedIDs = array_merge($ModifiedIDs, $IDs);
  133. }
  134. // 2048GiB DL
  135. $DB->query("
  136. SELECT ID
  137. FROM users_main
  138. WHERE Downloaded >= ".(2048*$GiB)."
  139. AND ID NOT IN (SELECT UserID FROM users_badges WHERE BadgeID = ".AUTOMATED_BADGE_IDS['DL']['2048'].")");
  140. if ($DB->has_results()) {
  141. $IDs = $DB->collect('ID');
  142. foreach ($IDs as $ID) {
  143. $DB->query("
  144. INSERT INTO users_badges
  145. VALUES (".$ID.", ".AUTOMATED_BADGE_IDS['DL']['2048'].", 0)");
  146. Misc::send_pm($ID, 0, 'You have received a badge!', "You have received a badge for downloading 2048GiB of data.\n\nIt can be enabled from your user settings.");
  147. }
  148. $ModifiedIDs = array_merge($ModifiedIDs, $IDs);
  149. }
  150. foreach (array_unique($ModifiedIDs) as $ID) {
  151. $Cache->delete_value('user_badges_'.$ID);
  152. }
  153. ?>