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.

article.php 5.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?php
  2. Text::$TOC = true;
  3. $ArticleID = false;
  4. if (!empty($_GET['id']) && is_number($_GET['id'])) { // Visiting article via ID
  5. $ArticleID = (int) $_GET['id'];
  6. } elseif ($_GET['name'] !== '') { // Retrieve article ID via alias
  7. $ArticleID = Wiki::alias_to_id($_GET['name']);
  8. } else { // No ID, No Name
  9. //error(404);
  10. error('Unknown article ['.display_str($_GET['id']).']');
  11. }
  12. if (!$ArticleID) { // No article found
  13. View::show_header('No article found'); ?>
  14. <div>
  15. <div class="header">
  16. <h2>No article found</h2>
  17. </div>
  18. <div class="box">
  19. There is no article matching the name you requested.
  20. <ul>
  21. <li><a
  22. href="wiki.php?action=search&amp;search=<?=display_str($_GET['name'])?>">Search</a>
  23. for an article similar to this.</li>
  24. <li><a
  25. href="wiki.php?action=create&amp;alias=<?=display_str(Wiki::normalize_alias($_GET['name']))?>">Create</a>
  26. an article in its place.</li>
  27. </ul>
  28. </div>
  29. </div>
  30. <?php
  31. View::show_footer();
  32. error();
  33. }
  34. $Article = Wiki::get_article($ArticleID);
  35. list($Revision, $Title, $Body, $Read, $Edit, $Date, $AuthorID, $AuthorName, $Aliases, $UserIDs) = array_shift($Article);
  36. if ($Read > $LoggedUser['EffectiveClass']) {
  37. error('You must be a higher user class to view this wiki article');
  38. }
  39. $TextBody = Text::full_format($Body, false);
  40. $TOC = Text::parse_toc(0);
  41. View::show_header($Title, 'wiki,bbcode');
  42. ?>
  43. <div>
  44. <div class="header">
  45. <h2>
  46. <?=$Title?>
  47. </h2>
  48. <div class="linkbox">
  49. <a href="wiki.php?action=create" class="brackets">Create</a>
  50. <?php if ($Edit <= $LoggedUser['EffectiveClass']) { ?>
  51. <a href="wiki.php?action=edit&amp;id=<?=$ArticleID?>"
  52. class="brackets">Edit</a>
  53. <a href="wiki.php?action=revisions&amp;id=<?=$ArticleID?>"
  54. class="brackets">History</a>
  55. <?php } ?>
  56. <?php if (check_perms('admin_manage_wiki') && $_GET['id'] !== INDEX_ARTICLE) { ?>
  57. <a href="wiki.php?action=delete&amp;id=<?=$ArticleID?>&amp;authkey=<?=$LoggedUser['AuthKey']?>"
  58. class="brackets" onclick="return confirm('Are you sure you want to delete?')">Delete</a>
  59. <?php } ?>
  60. </div>
  61. </div>
  62. <div class="sidebar">
  63. <div class="box">
  64. <div class="head">Search</div>
  65. <div class="pad">
  66. <form class="search_form" name="articles" action="wiki.php" method="get">
  67. <input type="hidden" name="action" value="search" />
  68. <input type="search" placeholder="Search articles" name="search" size="20" />
  69. <input value="Search" type="submit" class="hidden" />
  70. </form>
  71. <br style="line-height: 10px;" />
  72. <a href="wiki.php?action=browse" class="brackets">Browse articles</a>
  73. </div>
  74. </div>
  75. <?php if ($TOC) { ?>
  76. <div class="box">
  77. <div class="head">Table of Contents</div>
  78. <div class="body">
  79. <?=$TOC?>
  80. </div>
  81. </div>
  82. <?php } ?>
  83. <div class="box box_info pad">
  84. <ul>
  85. <li>
  86. <strong>Protection:</strong>
  87. <ul>
  88. <li>Read: <?=$ClassLevels[$Read]['Name']?>
  89. </li>
  90. <li>Edit: <?=$ClassLevels[$Edit]['Name']?>
  91. </li>
  92. </ul>
  93. </li>
  94. <li>
  95. <strong>Details:</strong>
  96. <ul>
  97. <li>Version: r<?=$Revision?>
  98. </li>
  99. <li>Last edited by: <?=Users::format_username($AuthorID, false, false, false)?>
  100. </li>
  101. <li>Last updated: <?=time_diff($Date)?>
  102. </li>
  103. </ul>
  104. </li>
  105. <li>
  106. <strong>Aliases:</strong>
  107. <ul>
  108. <?php
  109. if ($Aliases !== $Title) {
  110. $AliasArray = explode(',', $Aliases);
  111. $UserArray = explode(',', $UserIDs);
  112. $i = 0;
  113. foreach ($AliasArray as $AliasItem) {
  114. ?>
  115. <li id="alias_<?=$AliasItem?>"><a
  116. href="wiki.php?action=article&amp;name=<?=$AliasItem?>"><?=Format::cut_string($AliasItem, 20, 1)?></a>
  117. <?php
  118. if (check_perms('admin_manage_wiki')) { ?>
  119. <a href="#"
  120. onclick="Remove_Alias('<?=$AliasItem?>'); return false;"
  121. class="brackets tooltip" title="Delete alias">X</a> <a
  122. href="user.php?id=<?=$UserArray[$i]?>"
  123. class="brackets tooltip" title="View user">U</a>
  124. <?php
  125. } ?>
  126. </li>
  127. <?php
  128. $i++;
  129. }
  130. }
  131. ?>
  132. </ul>
  133. </li>
  134. </ul>
  135. </div>
  136. <?php if ($Edit <= $LoggedUser['EffectiveClass']) { ?>
  137. <div class="box box_addalias">
  138. <div style="padding: 5px;">
  139. <form class="add_form" name="aliases" action="wiki.php" method="post">
  140. <input type="hidden" name="action" value="add_alias" />
  141. <input type="hidden" name="auth"
  142. value="<?=$LoggedUser['AuthKey']?>" />
  143. <input type="hidden" name="article"
  144. value="<?=$ArticleID?>" />
  145. <input onfocus="if (this.value == 'Add alias') this.value='';"
  146. onblur="if (this.value == '') this.value='Add alias';" value="Add alias" type="text" name="alias"
  147. size="20" />
  148. <input type="submit" value="+" />
  149. </form>
  150. </div>
  151. </div>
  152. <?php } ?>
  153. </div>
  154. <div class="main_column">
  155. <div class="box wiki_article">
  156. <div class="pad"><?=$TextBody?>
  157. </div>
  158. </div>
  159. </div>
  160. </div>
  161. <?php View::show_footer();