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.

newthread.php 6.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <?php
  2. /*
  3. New post page
  4. This is the page that's loaded if someone wants to make a new topic.
  5. Information to be expected in $_GET:
  6. forumid: The ID of the forum that it's being posted in
  7. */
  8. $ForumID = $_GET['forumid'];
  9. if (!is_number($ForumID)) {
  10. error(404);
  11. }
  12. $Forum = Forums::get_forum_info($ForumID);
  13. if ($Forum === false) {
  14. error(404);
  15. }
  16. if (!Forums::check_forumperm($ForumID, 'Write') || !Forums::check_forumperm($ForumID, 'Create')) {
  17. error(403);
  18. }
  19. View::show_header('Forums › '.$Forum['Name'].' › New Topic', 'comments,bbcode,jquery.validate,form_validate');
  20. ?>
  21. <div class="thin">
  22. <h2>
  23. <a href="forums.php">Forums</a>
  24. <a href="forums.php?action=viewforum&amp;forumid=<?=$ForumID?>">
  25. <?=$Forum['Name']?></a>
  26. <span id="newthreadtitle">
  27. New Topic
  28. </span>
  29. </h2>
  30. <div class="hidden" id="newthreadpreview">
  31. <div class="linkbox">
  32. <div class="center">
  33. <a href="#" onclick="return false;" class="brackets">Report thread</a>
  34. <a href="#" onclick="return false;" class="brackets"><?=!empty($HeavyInfo['AutoSubscribe']) ? 'Unsubscribe' : 'Subscribe'?></a>
  35. </div>
  36. </div>
  37. <?php if (check_perms('forums_polls_create')) { ?>
  38. <div class="box thin clear hidden" id="pollpreview">
  39. <div class="head colhead_dark"><strong>Poll</strong> <a data-toggle-target="#threadpoll" class="brackets">View</a>
  40. </div>
  41. <div class="pad" id="threadpoll">
  42. <p><strong id="pollquestion"></strong></p>
  43. <div id="pollanswers"></div>
  44. <br /><input type="radio" name="vote" id="answer_0" value="0" /> <label
  45. for="answer_0">Blank&#8202;&mdash;&#8202;Show the results!</label><br /><br />
  46. <input type="button" class="float_left" value="Vote" />
  47. </div>
  48. </div>
  49. <?php } ?>
  50. <table class="forum_post box vertical_margin" style="text-align: left;">
  51. <colgroup>
  52. <?php if (Users::has_avatars_enabled()) { ?>
  53. <col class="col_avatar" />
  54. <?php } ?>
  55. <col class="col_post_body" />
  56. </colgroup>
  57. <tr class="colhead_dark">
  58. <td colspan="<?=Users::has_avatars_enabled() ? 2 : 1 ?>">
  59. <span class="float_left"><a href="#newthreadpreview">#XXXXXX</a>
  60. by <strong><?=Users::format_username($LoggedUser['ID'], true, true, true, true, true)?></strong>
  61. Just now
  62. </span>
  63. <span id="barpreview" class="float_right">
  64. <a href="#newthreadpreview" class="brackets">Report</a>
  65. &nbsp;
  66. <a href="#">&uarr;</a>
  67. </span>
  68. </td>
  69. </tr>
  70. <tr>
  71. <?php if (Users::has_avatars_enabled()) { ?>
  72. <td class="avatar" valign="top">
  73. <?=Users::show_avatar($LoggedUser['Avatar'], $LoggedUser['ID'], $LoggedUser['Username'], $HeavyInfo['DisableAvatars'])?>
  74. </td>
  75. <?php } ?>
  76. <td class="body" valign="top">
  77. <div id="contentpreview" style="text-align: left;"></div>
  78. </td>
  79. </tr>
  80. </table>
  81. </div>
  82. <div class="box pad">
  83. <form class="create_form" name="forum_thread" action="" id="newthreadform" method="post">
  84. <input type="hidden" name="action" value="new" />
  85. <input type="hidden" name="auth"
  86. value="<?=$LoggedUser['AuthKey']?>" />
  87. <input type="hidden" name="forum" value="<?=$ForumID?>" />
  88. <table id="newthreadtext" class="layout">
  89. <tr>
  90. <td class="label">Title</td>
  91. <td><input id="title" class="required" type="text" name="title" style="width: 98%;" /></td>
  92. </tr>
  93. <tr>
  94. <td class="label">Body</td>
  95. <td><textarea id="posttext" class="required bbcode_editor" style="width: 98%;" onkeyup="resize('posttext');"
  96. name="body" cols="90" rows="8"></textarea></td>
  97. </tr>
  98. <tr>
  99. <td></td>
  100. <td>
  101. <input id="subscribebox" type="checkbox" name="subscribe" <?=!empty($HeavyInfo['AutoSubscribe']) ? ' checked="checked"' : ''?>
  102. onchange="$('#subscribeboxpreview').raw().checked=this.checked;" />
  103. <label for="subscribebox">Subscribe to topic</label>
  104. </td>
  105. </tr>
  106. <?php
  107. if (check_perms('forums_polls_create')) {
  108. ?>
  109. <script type="text/javascript">
  110. //<![CDATA[
  111. var AnswerCount = 1;
  112. function AddAnswerField() {
  113. if (AnswerCount >= 25) {
  114. return;
  115. }
  116. var AnswerField = document.createElement("input");
  117. AnswerField.type = "text";
  118. AnswerField.id = "answer_" + AnswerCount;
  119. AnswerField.className = "required";
  120. AnswerField.name = "answers[]";
  121. AnswerField.style.width = "90%";
  122. var x = $('#answer_block').raw();
  123. x.appendChild(document.createElement("br"));
  124. x.appendChild(AnswerField);
  125. AnswerCount++;
  126. }
  127. function RemoveAnswerField() {
  128. if (AnswerCount == 1) {
  129. return;
  130. }
  131. var x = $('#answer_block').raw();
  132. for (i = 0; i < 2; i++) {
  133. x.removeChild(x.lastChild);
  134. }
  135. AnswerCount--;
  136. }
  137. //]]>
  138. </script>
  139. <tr>
  140. <td colspan="2" class="center">
  141. <strong>Poll Settings</strong>
  142. <a data-toggle-target="#poll_question, #poll_answers" class="brackets">View</a>
  143. </td>
  144. </tr>
  145. <tr id="poll_question" class="hidden">
  146. <td class="label">Question</td>
  147. <td><input type="text" name="question" id="pollquestionfield" class="required" style="width: 98%;" /></td>
  148. </tr>
  149. <tr id="poll_answers" class="hidden">
  150. <td class="label">Answers</td>
  151. <td id="answer_block">
  152. <input type="text" name="answers[]" class="required" style="width: 90%;" />
  153. <a href="#" onclick="AddAnswerField();return false;" class="brackets">+</a>
  154. <a href="#" onclick="RemoveAnswerField();return false;" class="brackets">&minus;</a>
  155. </td>
  156. </tr>
  157. <?php
  158. } ?>
  159. </table>
  160. <div id="subscribediv" class="hidden">
  161. <input id="subscribeboxpreview" type="checkbox" name="subscribe" <?=!empty($HeavyInfo['AutoSubscribe']) ? ' checked="checked"' : '' ?>
  162. />
  163. <label for="subscribebox">Subscribe to topic</label>
  164. </div>
  165. <div id="buttons" class="center">
  166. <input type="button" value="Preview" onclick="Newthread_Preview(1);" id="newthreadpreviewbutton" />
  167. <input type="button" value="Editor" onclick="Newthread_Preview(0);" id="newthreadeditbutton" class="hidden" />
  168. <input type="submit" class="submit" id="submit_button" value="Create" />
  169. </div>
  170. </form>
  171. </div>
  172. </div>
  173. <?php View::show_footer();