BioTorrents.de’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.

donors.php 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. View::show_header('Top 10 Donors');
  3. ?>
  4. <div>
  5. <div class="header">
  6. <h2>Top Donors</h2>
  7. <?php Top10View::render_linkbox("donors"); ?>
  8. </div>
  9. <?php
  10. $Limit = isset($_GET['limit']) ? intval($_GET['limit']) : 10;
  11. $Limit = in_array($Limit, array(10, 100, 250)) ? $Limit : 10;
  12. $IsMod = check_perms("users_mod");
  13. $DB->query("
  14. SELECT
  15. `UserID`,
  16. `TotalRank`,
  17. `Rank`,
  18. `SpecialRank`,
  19. `DonationTime`,
  20. `Hidden`
  21. FROM
  22. `users_donor_ranks`
  23. WHERE
  24. `TotalRank` > 0
  25. ORDER BY
  26. `TotalRank`
  27. DESC
  28. LIMIT
  29. $Limit
  30. ");
  31. $Results = $DB->to_array();
  32. generate_user_table('Top Donors', $Results, $Limit);
  33. echo '</div>';
  34. View::show_footer();
  35. // Generate a table based on data from most recent query to $DB
  36. function generate_user_table($Caption, $Results, $Limit)
  37. {
  38. global $Time, $IsMod; ?>
  39. <h3>Top <?="$Limit $Caption"; ?>
  40. <small class="top10_quantity_links">
  41. <?php
  42. switch ($Limit) {
  43. case 100: ?>
  44. &ndash; <a href="top10.php?type=donors" class="brackets">Top 10</a>
  45. &ndash; <span class="brackets">Top 100</span>
  46. &ndash; <a href="top10.php?type=donors&amp;limit=250" class="brackets">Top 250</a>
  47. <?php break;
  48. case 250: ?>
  49. &ndash; <a href="top10.php?type=donors" class="brackets">Top 10</a>
  50. &ndash; <a href="top10.php?type=donors&amp;limit=100" class="brackets">Top 100</a>
  51. &ndash; <span class="brackets">Top 250</span>
  52. <?php break;
  53. default: ?>
  54. &ndash; <span class="brackets">Top 10</span>
  55. &ndash; <a href="top10.php?type=donors&amp;limit=100" class="brackets">Top 100</a>
  56. &ndash; <a href="top10.php?type=donors&amp;limit=250" class="brackets">Top 250</a>
  57. <?php } ?>
  58. </small>
  59. </h3>
  60. <table class="border">
  61. <tr class="colhead">
  62. <td class="center">Position</td>
  63. <td>User</td>
  64. <td style="text-align: left;">Total Donor Points</td>
  65. <td style="text-align: left;">Current Donor Rank</td>
  66. <td style="text-align: left;">Last Donated</td>
  67. </tr>
  68. <?php
  69. // In the unlikely event that query finds 0 rows...
  70. if (empty($Results)) {
  71. echo '
  72. <tr class="row">
  73. <td colspan="9" class="center">
  74. Found no users matching the criteria
  75. </td>
  76. </tr>
  77. </table><br />';
  78. }
  79. $Position = 0;
  80. foreach ($Results as $Result) {
  81. $Position++; ?>
  82. <tr class="row">
  83. <td class="center">
  84. <?=$Position?>
  85. </td>
  86. <td>
  87. <?=$Result['Hidden'] && !$IsMod ? 'Hidden' : Users::format_username($Result['UserID'], false, false, false)?>
  88. </td>
  89. <td style="text-align: left;">
  90. <?=check_perms('users_mod') || $Position < 51 ? $Result['TotalRank'] : 'Hidden'; ?>
  91. </td>
  92. <td style="text-align: left;">
  93. <?=$Result['Hidden'] && !$IsMod ? 'Hidden' : DonationsView::render_rank($Result['Rank'], $Result['SpecialRank'])?>
  94. </td>
  95. <td style="text-align: left;">
  96. <?=$Result['Hidden'] && !$IsMod ? 'Hidden' : time_diff($Result['DonationTime'])?>
  97. </td>
  98. </tr>
  99. <?php
  100. } ?>
  101. </table>
  102. <?php
  103. }