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.

forum_list.php 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?
  2. function class_list($Selected = 0) {
  3. global $Classes;
  4. $Return = '';
  5. foreach ($Classes as $ID => $Class) {
  6. if ($Class['Secondary']) {
  7. continue;
  8. }
  9. $Name = $Class['Name'];
  10. $Level = $Class['Level'];
  11. $Return .= "<option value=\"$Level\"";
  12. if ($Selected == $Level) {
  13. $Return .= ' selected="selected"';
  14. }
  15. $Return .= '>'.Format::cut_string($Name, 20, 1)."</option>\n";
  16. }
  17. reset($Classes);
  18. return $Return;
  19. }
  20. if (!check_perms('admin_manage_forums')) {
  21. error(403);
  22. }
  23. View::show_header('Forum Management');
  24. $DB->query('
  25. SELECT ID, Name
  26. FROM forums
  27. ORDER BY Sort');
  28. $ForumArray = $DB->to_array(); // used for generating the 'parent' drop down list
  29. // Replace the old hard-coded forum categories
  30. unset($ForumCats);
  31. $ForumCats = $Cache->get_value('forums_categories');
  32. if ($ForumCats === false) {
  33. $DB->query('
  34. SELECT ID, Name
  35. FROM forums_categories');
  36. $ForumCats = [];
  37. while (list($ID, $Name) = $DB->next_record()) {
  38. $ForumCats[$ID] = $Name;
  39. }
  40. $Cache->cache_value('forums_categories', $ForumCats, 0); //Inf cache.
  41. }
  42. $DB->query('
  43. SELECT
  44. ID,
  45. CategoryID,
  46. Sort,
  47. Name,
  48. Description,
  49. MinClassRead,
  50. MinClassWrite,
  51. MinClassCreate
  52. FROM forums
  53. ORDER BY CategoryID, Sort ASC');
  54. ?>
  55. <div class="header">
  56. <script type="text/javacript">document.getElementByID('content').style.overflow = 'visible';</script>
  57. <h2>Forum control panel</h2>
  58. </div>
  59. <table width="100%">
  60. <tr class="colhead">
  61. <td>Category</td>
  62. <td>Sort</td>
  63. <td>Name</td>
  64. <td>Description</td>
  65. <td>Min class read</td>
  66. <td>Min class write</td>
  67. <td>Min class create</td>
  68. <td>Submit</td>
  69. </tr>
  70. <?
  71. while (list($ID, $CategoryID, $Sort, $Name, $Description, $MinClassRead, $MinClassWrite, $MinClassCreate) = $DB->next_record()) {
  72. ?>
  73. <tr class="row">
  74. <form class="manage_form" name="forums" action="" method="post">
  75. <input type="hidden" name="id" value="<?=$ID?>" />
  76. <input type="hidden" name="action" value="forum_alter" />
  77. <input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>" />
  78. <td>
  79. <select name="categoryid">
  80. <? reset($ForumCats);
  81. foreach ($ForumCats as $CurCat => $CatName) {
  82. ?>
  83. <option value="<?=$CurCat?>"<? if ($CurCat == $CategoryID) { echo ' selected="selected"'; } ?>><?=$CatName?></option>
  84. <? } ?>
  85. </select>
  86. </td>
  87. <td>
  88. <input type="text" size="3" name="sort" value="<?=$Sort?>" />
  89. </td>
  90. <td>
  91. <input type="text" size="10" name="name" value="<?=$Name?>" />
  92. </td>
  93. <td>
  94. <input type="text" size="20" name="description" value="<?=$Description?>" />
  95. </td>
  96. <td>
  97. <select name="minclassread">
  98. <?=class_list($MinClassRead)?>
  99. </select>
  100. </td>
  101. <td>
  102. <select name="minclasswrite">
  103. <?=class_list($MinClassWrite)?>
  104. </select>
  105. </td>
  106. <td>
  107. <select name="minclasscreate">
  108. <?=class_list($MinClassCreate)?>
  109. </select>
  110. </td>
  111. <td>
  112. <input type="submit" name="submit" value="Edit" />
  113. <input type="submit" name="submit" value="Delete" />
  114. </td>
  115. </form>
  116. </tr>
  117. <?
  118. }
  119. ?>
  120. <tr class="colhead">
  121. <td colspan="8">Create forum</td>
  122. </tr>
  123. <tr class="row">
  124. <form class="create_form" name="forum" action="" method="post">
  125. <input type="hidden" name="action" value="forum_alter" />
  126. <input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>" />
  127. <td>
  128. <select name="categoryid">
  129. <? reset($ForumCats);
  130. foreach($ForumCats as $CurCat => $CatName) { ?>
  131. <option value="<?=$CurCat?>"<? if ($CurCat == $CategoryID) { echo ' selected="selected"'; } ?>><?=$CatName?></option>
  132. <? } ?>
  133. </select>
  134. </td>
  135. <td>
  136. <input type="text" size="3" name="sort" />
  137. </td>
  138. <td>
  139. <input type="text" size="10" name="name" />
  140. </td>
  141. <td>
  142. <input type="text" size="20" name="description" />
  143. </td>
  144. <td>
  145. <select name="minclassread">
  146. <?=class_list()?>
  147. </select>
  148. </td>
  149. <td>
  150. <select name="minclasswrite">
  151. <?=class_list()?>
  152. </select>
  153. </td>
  154. <td>
  155. <select name="minclasscreate">
  156. <?=class_list()?>
  157. </select>
  158. </td>
  159. <td>
  160. <input type="submit" value="Create" />
  161. </td>
  162. </form>
  163. </tr>
  164. </table>
  165. <? View::show_footer(); ?>