/include/cleanup/achievement_invite_update.php

https://github.com/Bigjoos/U-232-V3 · PHP · 104 lines · 90 code · 0 blank · 14 comment · 21 complexity · 7ee592c345fc398429d7bfea4ee9bfe8 MD5 · raw file

  1. <?php
  2. /**
  3. * https://github.com/Bigjoos/
  4. * Licence Info: GPL
  5. * Copyright (C) 2010 U-232 v.3
  6. * A bittorrent tracker source based on TBDev.net/tbsource/bytemonsoon.
  7. * Project Leaders: Mindless, putyn.
  8. +------------------------------------------------
  9. | $Date$
  10. | $Revision$
  11. | $Author$ MelvinMeow
  12. | $URL$ tophos.org
  13. +------------------------------------------------
  14. */
  15. function docleanup($data)
  16. {
  17. global $INSTALLER09, $queries, $mc1;
  18. set_time_limit(0);
  19. ignore_user_abort(1);
  20. // *Updated* Invites Achievements Mod by MelvinMeow
  21. $res = sql_query("SELECT id, invited, inviterach FROM usersachiev WHERE invited >= '1'") or sqlerr(__FILE__, __LINE__);
  22. $msg_buffer = $usersachiev_buffer = $achievements_buffer = array();
  23. if (mysqli_num_rows($res) > 0) {
  24. $dt = TIME_NOW;
  25. $subject = sqlesc("New Achievement Earned!");
  26. $points = rand(1, 3);
  27. while ($arr = mysqli_fetch_assoc($res)) {
  28. $invited = (int)$arr['invited'];
  29. $lvl = (int)$arr['inviterach'];
  30. if ($invited >= 1 && $lvl == 0) {
  31. $msg = sqlesc("Congratulations, you have just earned the [b]Inviter Level 1[/b] achievement. :) [img]http://u-232.com/pic/achievements/invite1.png[/img]");
  32. $msgs_buffer[] = '(0,' . $arr['id'] . ',' . TIME_NOW . ', ' . sqlesc($msg) . ', ' . sqlesc($subject) . ')';
  33. $achievements_buffer[] = '(' . $arr['id'] . ', ' . TIME_NOW . ', \'Inviter LVL1\', \'invite1.png\' , \'Invited at least 1 new user to the site.\')';
  34. $usersachiev_buffer[] = '(' . $arr['id'] . ',1, ' . $points . ')';
  35. $mc1->delete_value('inbox_new_' . $arr['id']);
  36. $mc1->delete_value('inbox_new_sb_' . $arr['id']);
  37. $mc1->delete_value('user_achievement_points_' . $arr['id']);
  38. $var1 = 'inviterach';
  39. }
  40. if ($invited >= 2 && $lvl == 1) {
  41. $msg = sqlesc("Congratulations, you have just earned the [b]Inviter Level 2[/b] achievement. :) [img]http://u-232.com/pic/achievements/invite2.png[/img]");
  42. $msgs_buffer[] = '(0,' . $arr['id'] . ',' . TIME_NOW . ', ' . sqlesc($msg) . ', ' . sqlesc($subject) . ')';
  43. $achievements_buffer[] = '(' . $arr['id'] . ', ' . TIME_NOW . ', \'Inviter LVL2\', \'invite2.png\' , \'Invited at least 2 new users to the site.\')';
  44. $usersachiev_buffer[] = '(' . $arr['id'] . ',2, ' . $points . ')';
  45. $mc1->delete_value('inbox_new_' . $arr['id']);
  46. $mc1->delete_value('inbox_new_sb_' . $arr['id']);
  47. $var1 = 'inviterach';
  48. }
  49. if ($invited >= 3 && $lvl == 2) {
  50. $msg = sqlesc("Congratulations, you have just earned the [b]Inviter Level 3[/b] achievement. :) [img]http://u-232.com/pic/achievements/invite3.png[/img]");
  51. $msgs_buffer[] = '(0,' . $arr['id'] . ',' . TIME_NOW . ', ' . sqlesc($msg) . ', ' . sqlesc($subject) . ')';
  52. $achievements_buffer[] = '(' . $arr['id'] . ', ' . TIME_NOW . ', \'Inviter LVL3\', \'invite3.png\' , \'Invited at least 3 new users to the site.\')';
  53. $usersachiev_buffer[] = '(' . $arr['id'] . ',3, ' . $points . ')';
  54. $mc1->delete_value('inbox_new_' . $arr['id']);
  55. $mc1->delete_value('inbox_new_sb_' . $arr['id']);
  56. $mc1->delete_value('user_achievement_points_' . $arr['id']);
  57. $var1 = 'inviterach';
  58. }
  59. if ($invited >= 5 && $lvl == 3) {
  60. $msg = sqlesc("Congratulations, you have just earned the [b]Inviter Level 4[/b] achievement. :) [img]http://u-232.com/pic/achievements/invite4.png[/img]");
  61. $msgs_buffer[] = '(0,' . $arr['id'] . ',' . TIME_NOW . ', ' . sqlesc($msg) . ', ' . sqlesc($subject) . ')';
  62. $achievements_buffer[] = '(' . $arr['id'] . ', ' . TIME_NOW . ', \'Inviter LVL4\', \'invite4.png\' , \'Invited at least 5 new users to the site.\')';
  63. $usersachiev_buffer[] = '(' . $arr['id'] . ',4, ' . $points . ')';
  64. $mc1->delete_value('inbox_new_' . $arr['id']);
  65. $mc1->delete_value('inbox_new_sb_' . $arr['id']);
  66. $mc1->delete_value('user_achievement_points_' . $arr['id']);
  67. $var1 = 'inviterach';
  68. }
  69. if ($invited >= 10 && $lvl == 4) {
  70. $msg = sqlesc("Congratulations, you have just earned the [b]Inviter Level 5[/b] achievement. :) [img]http://u-232.com/pic/achievements/invite5.png[/img]");
  71. $msgs_buffer[] = '(0,' . $arr['id'] . ',' . TIME_NOW . ', ' . sqlesc($msg) . ', ' . sqlesc($subject) . ')';
  72. $achievements_buffer[] = '(' . $arr['id'] . ', ' . TIME_NOW . ', \'Inviter LVL5\', \'invite5.png\' , \'Invited at least 10 new users to the site.\')';
  73. $usersachiev_buffer[] = '(' . $arr['id'] . ',5, ' . $points . ')';
  74. $mc1->delete_value('inbox_new_' . $arr['id']);
  75. $mc1->delete_value('inbox_new_sb_' . $arr['id']);
  76. $mc1->delete_value('user_achievement_points_' . $arr['id']);
  77. $var1 = 'inviterach';
  78. }
  79. }
  80. $count = count($achievements_buffer);
  81. if ($count > 0) {
  82. sql_query("INSERT INTO messages (sender,receiver,added,msg,subject) VALUES " . implode(', ', $msgs_buffer)) or sqlerr(__FILE__, __LINE__);
  83. sql_query("INSERT INTO achievements (userid, date, achievement, icon, description) VALUES " . implode(', ', $achievements_buffer) . " ON DUPLICATE key UPDATE date=values(date),achievement=values(achievement),icon=values(icon),description=values(description)") or sqlerr(__FILE__, __LINE__);
  84. sql_query("INSERT INTO usersachiev (id, $var1, achpoints) VALUES " . implode(', ', $usersachiev_buffer) . " ON DUPLICATE key UPDATE $var1=values($var1), achpoints=achpoints+values(achpoints)") or sqlerr(__FILE__, __LINE__);
  85. if ($queries > 0) write_log("Achievements Cleanup: Achievements Inviter Completed using $queries queries. Inviter Achievements awarded to - " . $count . " Member(s)");
  86. }
  87. unset($usersachiev_buffer, $achievements_buffer, $msgs_buffer, $count);
  88. }
  89. if (false !== mysqli_affected_rows($GLOBALS["___mysqli_ston"])) {
  90. $data['clean_desc'] = mysqli_affected_rows($GLOBALS["___mysqli_ston"]) . " items updated";
  91. }
  92. if ($data['clean_log']) {
  93. cleanup_log($data);
  94. }
  95. }
  96. function cleanup_log($data)
  97. {
  98. $text = sqlesc($data['clean_title']);
  99. $added = TIME_NOW;
  100. $ip = sqlesc($_SERVER['REMOTE_ADDR']);
  101. $desc = sqlesc($data['clean_desc']);
  102. sql_query("INSERT INTO cleanup_log (clog_event, clog_time, clog_ip, clog_desc) VALUES ($text, $added, $ip, {$desc})") or sqlerr(__FILE__, __LINE__);
  103. }
  104. ?>