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.

tools.php 7.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <?php
  2. #declare(strict_types=1);
  3. /***********************************************
  4. * This file displays the list of available tools in the staff toolbox.
  5. *
  6. * Because there are various subcontainers and various permissions, it
  7. * is possible to have empty subcontainers. The $ToolsHTML variable is
  8. * used to display only non-empty subcontainers.
  9. *
  10. ***********************************************
  11. */
  12. if (!check_perms('users_mod')) {
  13. error(403);
  14. }
  15. /**
  16. * Used for rendering a single table row in the staff toolbox. The
  17. * $ToolsHTML variable is incrementally expanded with each function call
  18. * in a given subcontainer and gets reset at the beginning of each new
  19. * subcontainer.
  20. *
  21. * @param string $Title - the displayed name of the tool
  22. * @param string $URL - the relative URL of the tool
  23. * @param bool $HasPermission - whether the user has permission to view/use the tool
  24. * @param string $Tooltip - optional tooltip
  25. *
  26. */
  27. function create_row($Title, $URL, $HasPermission = false, $Tooltip = false)
  28. {
  29. if ($HasPermission) {
  30. global $ToolsHTML;
  31. $TooltipHTML = $Tooltip !== false ? " class=\"tooltip\" title=\"$Tooltip\"" : "";
  32. $ToolsHTML .= "\t\t\t\t<tr><td><a href=\"$URL\"$TooltipHTML>$Title</a></td></tr>\n";
  33. }
  34. }
  35. View::show_header('Staff Tools');
  36. ?>
  37. <div class="permissions">
  38. <div class="permission_container">
  39. <!-- begin left column -->
  40. <?php
  41. // begin Administration category
  42. $ToolsHTML = "";
  43. create_row("Client whitelist", "tools.php?action=whitelist", check_perms("admin_whitelist"));
  44. create_row("Create user", "tools.php?action=create_user", check_perms("admin_create_users"));
  45. create_row("Permissions manager", "tools.php?action=permissions", check_perms("admin_manage_permissions"));
  46. create_row("Special users", "tools.php?action=special_users", check_perms("admin_manage_permissions"));
  47. create_row("Database key", "tools.php?action=database_key", check_perms("admin_manage_permissions"));
  48. if ($ToolsHTML) {
  49. ?>
  50. <div class="permission_subcontainer">
  51. <table class="admin-tools skeleton-fix">
  52. <tr class="colhead">
  53. <td>Administration</td>
  54. </tr>
  55. <?= $ToolsHTML ?>
  56. </table>
  57. </div>
  58. <?php
  59. }
  60. // begin Announcements category
  61. $ToolsHTML = "";
  62. create_row("Global notification", "tools.php?action=global_notification", check_perms("users_mod"));
  63. create_row("Mass PM", "tools.php?action=mass_pm", check_perms("users_mod"));
  64. create_row("News post", "tools.php?action=news", check_perms("admin_manage_news"));
  65. if ($ToolsHTML) {
  66. ?>
  67. <div class="permission_subcontainer">
  68. <table class="admin-tools skeleton-fix">
  69. <tr class="colhead">
  70. <td>Announcements</td>
  71. </tr>
  72. <?= $ToolsHTML ?>
  73. </table>
  74. </div>
  75. <?php
  76. }
  77. // begin Community category
  78. $ToolsHTML = "";
  79. create_row("Forum manager", "tools.php?action=forum", check_perms("admin_manage_forums"));
  80. if ($ToolsHTML) {
  81. ?>
  82. <div class="permission_subcontainer">
  83. <table class="admin-tools skeleton-fix">
  84. <tr class="colhead">
  85. <td>Community</td>
  86. </tr>
  87. <?= $ToolsHTML ?>
  88. </table>
  89. </div>
  90. <?php
  91. }
  92. // begin Finances category
  93. $ToolsHTML = "";
  94. create_row("Donation log", "tools.php?action=donation_log", check_perms("admin_donor_log"));
  95. create_row("Donor rewards", "tools.php?action=donor_rewards", check_perms("users_mod"));
  96. if ($ToolsHTML) {
  97. ?>
  98. <div class="permission_subcontainer">
  99. <table class="admin-tools skeleton-fix">
  100. <tr class="colhead">
  101. <td>Finances</td>
  102. </tr>
  103. <?= $ToolsHTML ?>
  104. </table>
  105. </div>
  106. <?php
  107. } ?>
  108. <!-- end left column -->
  109. </div>
  110. <div class="permission_container">
  111. <!-- begin middle column -->
  112. <?php
  113. // begin Queue category
  114. $ToolsHTML = "";
  115. create_row("Auto-Enable requests", "tools.php?action=enable_requests", check_perms("users_mod"));
  116. create_row("Login watch", "tools.php?action=login_watch", check_perms("admin_login_watch"));
  117. if ($ToolsHTML) {
  118. ?>
  119. <div class="permission_subcontainer">
  120. <table class="admin-tools skeleton-fix">
  121. <tr class="colhead">
  122. <td>Queue</td>
  123. </tr>
  124. <?= $ToolsHTML ?>
  125. </table>
  126. </div>
  127. <?php
  128. }
  129. // begin Managers category
  130. $ToolsHTML = "";
  131. create_row("Email blacklist", "tools.php?action=email_blacklist", check_perms("users_view_email"));
  132. create_row("IP address bans", "tools.php?action=ip_ban", check_perms("admin_manage_ipbans"));
  133. create_row("Manipulate invite tree", "tools.php?action=manipulate_tree", check_perms("users_mod"));
  134. if ($ToolsHTML) {
  135. ?>
  136. <div class="permission_subcontainer">
  137. <table class="admin-tools skeleton-fix">
  138. <tr class="colhead">
  139. <td>Managers</td>
  140. </tr>
  141. <?= $ToolsHTML ?>
  142. </table>
  143. </div>
  144. <?php
  145. }
  146. // begin Development category
  147. $ToolsHTML = "";
  148. create_row("Clear/view a cache key", "tools.php?action=clear_cache", check_perms("users_mod"));
  149. create_row("Rerender stylesheet gallery images", "tools.php?action=rerender_gallery", check_perms("site_debug") || check_perms("users_mod"));
  150. create_row("Schedule", "schedule.php?auth=$LoggedUser[AuthKey]", check_perms("site_debug"));
  151. create_row("Service stats", "tools.php?action=service_stats", check_perms("site_debug"));
  152. create_row("Miscellaneous values", "tools.php?action=misc_values", check_perms('users_mod'));
  153. create_row("Tracker info", "tools.php?action=ocelot_info", check_perms("users_mod"));
  154. if ($ToolsHTML) {
  155. ?>
  156. <div class="permission_subcontainer">
  157. <table class="admin-tools skeleton-fix">
  158. <tr class="colhead">
  159. <td>Development</td>
  160. </tr>
  161. <?= $ToolsHTML ?>
  162. </table>
  163. </div>
  164. <?php
  165. } ?>
  166. <!-- end middle column -->
  167. </div>
  168. <div class="permission_container">
  169. <!-- begin right column -->
  170. <?php
  171. // begin Site Information category
  172. $ToolsHTML = "";
  173. #create_row("Database specifics", "tools.php?action=database_specifics", check_perms("site_debug"));
  174. create_row("Economic stats", "tools.php?action=economic_stats", check_perms("site_view_flow"));
  175. create_row("Invite pool", "tools.php?action=invite_pool", check_perms("users_view_invites"));
  176. create_row("Registration log", "tools.php?action=registration_log", check_perms("users_view_ips") && check_perms("users_view_email"));
  177. create_row("Torrent stats", "tools.php?action=torrent_stats", check_perms("site_view_flow"));
  178. create_row("Upscale pool", "tools.php?action=upscale_pool", check_perms("site_view_flow"));
  179. create_row("User flow", "tools.php?action=user_flow", check_perms("site_view_flow"));
  180. if ($ToolsHTML) {
  181. ?>
  182. <div class="permission_subcontainer">
  183. <table class="admin-tools skeleton-fix">
  184. <tr class="colhead">
  185. <td>Site Information</td>
  186. </tr>
  187. <?= $ToolsHTML ?>
  188. </table>
  189. </div>
  190. <?php
  191. }
  192. // begin Torrents category
  193. $ToolsHTML = "";
  194. create_row("Collage recovery", "collages.php?action=recover", check_perms("site_collages_recover"));
  195. create_row("Manage freeleech tokens", "tools.php?action=tokens", check_perms("users_mod"));
  196. create_row("Multiple freeleech", "tools.php?action=multiple_freeleech", check_perms("users_mod"));
  197. create_row("Tag aliases", "tools.php?action=tag_aliases", check_perms("users_mod"));
  198. create_row("Batch tag editor", "tools.php?action=edit_tags", check_perms("users_mod"));
  199. create_row("Official tags manager", "tools.php?action=official_tags", check_perms("users_mod"));
  200. create_row("Sitewide freeleech manager", "tools.php?action=freeleech", check_perms("users_mod"));
  201. if ($ToolsHTML) {
  202. ?>
  203. <div class="permission_subcontainer">
  204. <table class="admin-tools skeleton-fix">
  205. <tr class="colhead">
  206. <td>Torrents</td>
  207. </tr>
  208. <?= $ToolsHTML ?>
  209. </table>
  210. </div>
  211. <?php
  212. } ?>
  213. <!-- end right column -->
  214. </div>
  215. </div>
  216. <?php View::show_footer();