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.

news.php 2.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?
  2. enforce_login();
  3. if (!check_perms('admin_manage_news')) {
  4. error(403);
  5. }
  6. View::show_header('Manage news', 'bbcode');
  7. switch ($_GET['action']) {
  8. case 'takeeditnews':
  9. if (!check_perms('admin_manage_news')) {
  10. error(403);
  11. }
  12. if (is_number($_POST['newsid'])) {
  13. authorize();
  14. $DB->query("
  15. UPDATE news
  16. SET Title = '".db_string($_POST['title'])."', Body = '".db_string($_POST['body'])."'
  17. WHERE ID = '".db_string($_POST['newsid'])."'");
  18. $Cache->delete_value('news');
  19. $Cache->delete_value('feed_news');
  20. }
  21. header('Location: index.php');
  22. break;
  23. case 'editnews':
  24. if (is_number($_GET['id'])) {
  25. $NewsID = $_GET['id'];
  26. $DB->query("
  27. SELECT Title, Body
  28. FROM news
  29. WHERE ID = $NewsID");
  30. list($Title, $Body) = $DB->next_record();
  31. }
  32. }
  33. ?>
  34. <div class="thin">
  35. <div class="header">
  36. <h2><?= ($_GET['action'] == 'news') ? 'Create a news post' : 'Edit news post';?></h2>
  37. </div>
  38. <form class="<?= ($_GET['action'] == 'news') ? 'create_form' : 'edit_form';?>" name="news_post" action="tools.php" method="post">
  39. <div class="box pad">
  40. <input type="hidden" name="action" value="<?= ($_GET['action'] == 'news') ? 'takenewnews' : 'takeeditnews';?>">
  41. <input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>">
  42. <? if ($_GET['action'] == 'editnews') { ?>
  43. <input type="hidden" name="newsid" value="<?=$NewsID; ?>">
  44. <? } ?>
  45. <h3>Title</h3>
  46. <input type="text" name="title" size="95"<? if (!empty($Title)) { echo ' value="'.display_str($Title).'"'; } ?>>
  47. <!-- Why did someone add this? <input type="datetime" name="datetime" value="<?=sqltime()?>" /> -->
  48. <br>
  49. <h3>Body</h3>
  50. <? $Textarea = new TEXTAREA_PREVIEW('body', '', display_str($Body), 95, 15, true, false); ?>
  51. <div class="center">
  52. <input type="button" value="Preview" class="hidden button_preview_<?=$Textarea->getID()?>">
  53. <input type="submit" value="<?= ($_GET['action'] == 'news') ? 'Create news post' : 'Edit news post';?>">
  54. </div>
  55. </div>
  56. </form>
  57. <h2>News archive</h2>
  58. <?
  59. $DB->query('
  60. SELECT
  61. ID,
  62. Title,
  63. Body,
  64. Time
  65. FROM news
  66. ORDER BY Time DESC');// LIMIT 20
  67. while (list($NewsID, $Title, $Body, $NewsTime) = $DB->next_record()) {
  68. ?>
  69. <div class="box vertical_space news_post">
  70. <div class="head">
  71. <strong><?=display_str($Title) ?></strong> - posted <?=time_diff($NewsTime) ?>
  72. - <a href="tools.php?action=editnews&amp;id=<?=$NewsID?>" class="brackets">Edit</a>
  73. <a href="tools.php?action=deletenews&amp;id=<?=$NewsID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets">Delete</a>
  74. </div>
  75. <div class="pad"><?=Text::full_format($Body) ?></div>
  76. </div>
  77. <? } ?>
  78. </div>
  79. <? View::show_footer();?>