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 8.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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="layout admin_tools">
  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="layout admin_tools">
  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="layout admin_tools">
  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="layout admin_tools">
  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("Email deletion requests", "tools.php?action=delete_email", check_perms("users_mod"));
  117. create_row("Login watch", "tools.php?action=login_watch", check_perms("admin_login_watch"));
  118. if ($ToolsHTML) {
  119. ?>
  120. <div class="permission_subcontainer">
  121. <table class="layout admin_tools">
  122. <tr class="colhead">
  123. <td>Queue</td>
  124. </tr>
  125. <?= $ToolsHTML ?>
  126. </table>
  127. </div>
  128. <?php
  129. }
  130. // begin Managers category
  131. $ToolsHTML = "";
  132. create_row("Email blacklist", "tools.php?action=email_blacklist", check_perms("users_view_email"));
  133. create_row("IP address bans", "tools.php?action=ip_ban", check_perms("admin_manage_ipbans"));
  134. create_row("Manipulate invite tree", "tools.php?action=manipulate_tree", check_perms("users_mod"));
  135. if ($ToolsHTML) {
  136. ?>
  137. <div class="permission_subcontainer">
  138. <table class="layout admin_tools">
  139. <tr class="colhead">
  140. <td>Managers</td>
  141. </tr>
  142. <?= $ToolsHTML ?>
  143. </table>
  144. </div>
  145. <?php
  146. }
  147. // begin Development category
  148. $ToolsHTML = "";
  149. create_row("Clear/view a cache key", "tools.php?action=clear_cache", check_perms("users_mod"));
  150. create_row("Rerender stylesheet gallery images", "tools.php?action=rerender_gallery", check_perms("site_debug") || check_perms("users_mod"));
  151. create_row("Schedule", "schedule.php?auth=$LoggedUser[AuthKey]", check_perms("site_debug"));
  152. create_row("Service stats", "tools.php?action=service_stats", check_perms("site_debug"));
  153. create_row("Miscellaneous values", "tools.php?action=misc_values", check_perms('users_mod'));
  154. create_row("Tracker info", "tools.php?action=ocelot_info", check_perms("users_mod"));
  155. if ($ToolsHTML) {
  156. ?>
  157. <div class="permission_subcontainer">
  158. <table class="layout admin_tools">
  159. <tr class="colhead">
  160. <td>Development</td>
  161. </tr>
  162. <?= $ToolsHTML ?>
  163. </table>
  164. </div>
  165. <?php
  166. } ?>
  167. <!-- end middle column -->
  168. </div>
  169. <div class="permission_container">
  170. <!-- begin right column -->
  171. <?php
  172. // begin Site Information category
  173. $ToolsHTML = "";
  174. #create_row("Database specifics", "tools.php?action=database_specifics", check_perms("site_debug"));
  175. create_row("Economic stats", "tools.php?action=economic_stats", check_perms("site_view_flow"));
  176. create_row("Invite pool", "tools.php?action=invite_pool", check_perms("users_view_invites"));
  177. create_row("Registration log", "tools.php?action=registration_log", check_perms("users_view_ips") && check_perms("users_view_email"));
  178. create_row("Torrent stats", "tools.php?action=torrent_stats", check_perms("site_view_flow"));
  179. create_row("Upscale pool", "tools.php?action=upscale_pool", check_perms("site_view_flow"));
  180. create_row("User flow", "tools.php?action=user_flow", check_perms("site_view_flow"));
  181. if ($ToolsHTML) {
  182. ?>
  183. <div class="permission_subcontainer">
  184. <table class="layout admin_tools">
  185. <tr class="colhead">
  186. <td>Site Information</td>
  187. </tr>
  188. <?= $ToolsHTML ?>
  189. </table>
  190. </div>
  191. <?php
  192. }
  193. // begin Torrents category
  194. $ToolsHTML = "";
  195. create_row("Collage recovery", "collages.php?action=recover", check_perms("site_collages_recover"));
  196. create_row("Manage freeleech tokens", "tools.php?action=tokens", check_perms("users_mod"));
  197. create_row("Multiple freeleech", "tools.php?action=multiple_freeleech", check_perms("users_mod"));
  198. create_row("Label aliases", "tools.php?action=label_aliases", check_perms("users_mod"));
  199. create_row("Tag aliases", "tools.php?action=tag_aliases", check_perms("users_mod"));
  200. create_row("Batch tag editor", "tools.php?action=edit_tags", check_perms("users_mod"));
  201. create_row("Official tags manager", "tools.php?action=official_tags", check_perms("users_mod"));
  202. create_row("Sitewide freeleech manager", "tools.php?action=freeleech", check_perms("users_mod"));
  203. if ($ToolsHTML) {
  204. ?>
  205. <div class="permission_subcontainer">
  206. <table class="layout admin_tools">
  207. <tr class="colhead">
  208. <td>Torrents</td>
  209. </tr>
  210. <?= $ToolsHTML ?>
  211. </table>
  212. </div>
  213. <?php
  214. } ?>
  215. <!-- end right column -->
  216. </div>
  217. </div>
  218. <?php View::show_footer();