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.

tools.php 9.2KB

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