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.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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 = array();
  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. AutoLock,
  53. AutoLockWeeks
  54. FROM forums
  55. ORDER BY CategoryID, Sort ASC');
  56. ?>
  57. <div class="header">
  58. <script type="text/javacript">document.getElementByID('content').style.overflow = 'visible';</script>
  59. <h2>Forum control panel</h2>
  60. </div>
  61. <table width="100%">
  62. <tr class="colhead">
  63. <td>Category</td>
  64. <td>Sort</td>
  65. <td>Name</td>
  66. <td>Description</td>
  67. <td>Min class read</td>
  68. <td>Min class write</td>
  69. <td>Min class create</td>
  70. <td>Auto-lock</td>
  71. <td>Auto-lock weeks</td>
  72. <td>Submit</td>
  73. </tr>
  74. <?
  75. while (list($ID, $CategoryID, $Sort, $Name, $Description, $MinClassRead, $MinClassWrite, $MinClassCreate, $AutoLock, $AutoLockWeeks) = $DB->next_record()) {
  76. ?>
  77. <tr class="row">
  78. <form class="manage_form" name="forums" action="" method="post">
  79. <input type="hidden" name="id" value="<?=$ID?>" />
  80. <input type="hidden" name="action" value="forum_alter" />
  81. <input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>" />
  82. <td>
  83. <select name="categoryid">
  84. <? reset($ForumCats);
  85. foreach ($ForumCats as $CurCat => $CatName) {
  86. ?>
  87. <option value="<?=$CurCat?>"<? if ($CurCat == $CategoryID) { echo ' selected="selected"'; } ?>><?=$CatName?></option>
  88. <? } ?>
  89. </select>
  90. </td>
  91. <td>
  92. <input type="text" size="3" name="sort" value="<?=$Sort?>" />
  93. </td>
  94. <td>
  95. <input type="text" size="10" name="name" value="<?=$Name?>" />
  96. </td>
  97. <td>
  98. <input type="text" size="20" name="description" value="<?=$Description?>" />
  99. </td>
  100. <td>
  101. <select name="minclassread">
  102. <?=class_list($MinClassRead)?>
  103. </select>
  104. </td>
  105. <td>
  106. <select name="minclasswrite">
  107. <?=class_list($MinClassWrite)?>
  108. </select>
  109. </td>
  110. <td>
  111. <select name="minclasscreate">
  112. <?=class_list($MinClassCreate)?>
  113. </select>
  114. </td>
  115. <td>
  116. <input type="checkbox" name="autolock"<?=($AutoLock == '1') ? ' checked="checked"' : ''?> />
  117. </td>
  118. <td>
  119. <input type="text" name="autolockweeks" value="<?=$AutoLockWeeks?>" />
  120. </td>
  121. <td>
  122. <input type="submit" name="submit" value="Edit" />
  123. <input type="submit" name="submit" value="Delete" />
  124. </td>
  125. </form>
  126. </tr>
  127. <?
  128. }
  129. ?>
  130. <tr class="colhead">
  131. <td colspan="8">Create forum</td>
  132. </tr>
  133. <tr class="row">
  134. <form class="create_form" name="forum" action="" method="post">
  135. <input type="hidden" name="action" value="forum_alter" />
  136. <input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>" />
  137. <td>
  138. <select name="categoryid">
  139. <? reset($ForumCats);
  140. while (list($CurCat, $CatName) = each($ForumCats)) { ?>
  141. <option value="<?=$CurCat?>"<? if ($CurCat == $CategoryID) { echo ' selected="selected"'; } ?>><?=$CatName?></option>
  142. <? } ?>
  143. </select>
  144. </td>
  145. <td>
  146. <input type="text" size="3" name="sort" />
  147. </td>
  148. <td>
  149. <input type="text" size="10" name="name" />
  150. </td>
  151. <td>
  152. <input type="text" size="20" name="description" />
  153. </td>
  154. <td>
  155. <select name="minclassread">
  156. <?=class_list()?>
  157. </select>
  158. </td>
  159. <td>
  160. <select name="minclasswrite">
  161. <?=class_list()?>
  162. </select>
  163. </td>
  164. <td>
  165. <select name="minclasscreate">
  166. <?=class_list()?>
  167. </select>
  168. </td>
  169. <td>
  170. <input type="checkbox" name="autolock" checked="checked" />
  171. </td>
  172. <td>
  173. <input type="text" name="autolockweeks" value="4" />
  174. </td>
  175. <td>
  176. <input type="submit" value="Create" />
  177. </td>
  178. </form>
  179. </tr>
  180. </table>
  181. <? View::show_footer(); ?>