Просмотр файла modules/news/admin_news.php

Размер файла: 6.22Kb
  1. <?php
  2.  
  3. /**
  4. * Проверка доступа
  5. */
  6.  
  7. # Запрос показа новости
  8. if (!isset($user) || $user['level'] < 14) {
  9. # Переход на главную
  10. header('Location: /');
  11. }
  12.  
  13. /**
  14. * Удаление новости
  15. */
  16. if (isset($_GET['delete_id']) && isset($_POST['no']))
  17. {
  18. header('Location: /news/admin_news.php');
  19. }
  20.  
  21. # Шапка модуля
  22. require_once(HOME .'/incfiles/header.php');
  23.  
  24. /**
  25. * Удаление новости
  26. */
  27. if (isset($_GET['delete_id']) && isset($_POST['yes']) && mysql_result(mysql_query("SELECT * FROM `news` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) != 0)
  28. {
  29. mysql_query("DELETE FROM `news` WHERE `id` = '". num($_GET['delete_id']) ."'");
  30.  
  31. echo '<div class="title">Удаление новости</div>
  32. <div class="menu">
  33. Новость успешно удалена.
  34. </div>';
  35.  
  36. echo '<div class="block">
  37. &raquo; <a href="/news/admin_news.php">Управление новостями</a><br />
  38. &raquo; <a href="/news/index.php">К списку новостей</a><br />
  39. &raquo; <a href="/">На главную</a>
  40. </div>';
  41.  
  42. # Ноги модуля
  43. require_once(HOME .'/incfiles/footer.php');
  44. }
  45.  
  46. /**
  47. * Изменение новости
  48. */
  49. if (isset($_GET['edit_id']) && isset($_POST['title']) && isset($_POST['text']))
  50. {
  51. # Название
  52. $title = txt($_POST['title']);
  53.  
  54. # Проверка ввода названия
  55. if (empty($title)) $err .= 'Не введен заголовок<br />';
  56.  
  57. # Проверка длины логина
  58. if (!empty($title) && (strlen_rus($title) < 3 || strlen_rus($title) > 64)) $err .= 'Неверная длина заголовка. Допустимо от 3 до 64 символов<br />';
  59.  
  60. # Название
  61. $text = txt($_POST['text']);
  62.  
  63. # Проверка ввода названия
  64. if (empty($text)) $err .= 'Не введен текст<br />';
  65.  
  66. # Проверка длины логина
  67. if (!empty($text) && (strlen_rus($text) < 3 || strlen_rus($text) > 7000)) $err .= 'Неверная длина текста. Допустимо от 3 до 7000 символов<br />';
  68.  
  69. if (!isset($err))
  70. {
  71. mysql_query("UPDATE `news` SET `text` = '". input($text) ."', `title` = '". input($title) ."' WHERE `id` = '". num($_GET['edit_id']) ."'");
  72.  
  73. echo '<div class="title">Изменение новости</div>
  74. <div class="menu">
  75. Новость успешно изменена.
  76. </div>';
  77.  
  78. echo '<div class="block">
  79. &raquo; <a href="/news/admin_news.php">Управление новостями</a><br />
  80. &raquo; <a href="/news/index.php?news_id='. num($_GET['edit_id']) .'">К новости</a><br />
  81. &raquo; <a href="/news/index.php">К списку новостей</a><br />
  82. &raquo; <a href="/">На главную</a>
  83. </div>';
  84.  
  85. # Ноги модуля
  86. require_once(HOME .'/incfiles/footer.php');
  87. }
  88.  
  89. }
  90.  
  91. # Вывод ошибок
  92. error($err);
  93.  
  94. /**
  95. * Удаление новости
  96. */
  97. if (isset($_GET['delete_id']) && mysql_result(mysql_query("SELECT * FROM `news` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) != 0)
  98. {
  99. echo '<div class="title">Удаление новости</div>
  100. <form method="post" action="/news/admin_news.php?delete_id='. num($_GET['delete_id']) .'">
  101. <div class="menu">
  102. Подтверждаете удаление новости?<br />
  103. <input type="submit" name="yes" value="Да, удалить" /> <input type="submit" name="no" value="Нет, вернуться назад" />
  104. </div>
  105. </form>';
  106.  
  107. echo '<div class="block">
  108. &raquo; <a href="/news/admin_news.php">Отменить действие</a><br />
  109. &raquo; <a href="/news/index.php">К списку новостей</a><br />
  110. &raquo; <a href="/">На главную</a>
  111. </div>';
  112.  
  113. # Ноги модуля
  114. require_once(HOME .'/incfiles/footer.php');
  115. }
  116.  
  117. /**
  118. * Изменение новости
  119. */
  120. if (isset($_GET['edit_id']) && mysql_result(mysql_query("SELECT * FROM `news` WHERE `id` = '". num($_GET['edit_id']) ."'"), 0) != 0)
  121. {
  122. # Массив с данными
  123. $news = mysql_fetch_assoc(mysql_query("SELECT * FROM `news` WHERE `id` = '". num($_GET['edit_id']) ."' LIMIT 1"));
  124.  
  125. echo '<div class="title">Изменение новости</div>
  126. <form method="post" action="/news/admin_news.php?edit_id='. $news['id'] .'">
  127. <div class="menu">
  128. Заголовок:<br />
  129. <input type="text" name="title" value="'. $news['title'] .'" /><br />
  130. Текст:<br />
  131. <textarea name="text" rows="4" cols="20">'. $news['text'] .'</textarea><br />
  132. <input type="submit" value="Изменить" />
  133. </div>
  134. </form>';
  135.  
  136. echo '<div class="block">
  137. &raquo; <a href="/news/admin_news.php">Отменить действие</a><br />
  138. &raquo; <a href="/news/">К списку новостей</a><br />
  139. &raquo; <a href="/">На главную</a>
  140. </div>';
  141.  
  142. # Ноги модуля
  143. require_once(HOME .'/incfiles/footer.php');
  144. }
  145.  
  146. echo '<div class="title">Управление новостями</div>';
  147.  
  148. # Кол-во новостей
  149. $k_news = mysql_result(mysql_query("SELECT COUNT(*) FROM `news`"), 0);
  150.  
  151. # Старт навигации
  152. nav_start($k_news, 10);
  153.  
  154. if ($k_news == 0)
  155. {
  156. echo '<div class="menu">Новостей нет</div>';
  157. }
  158. else
  159. {
  160. $sql_news = mysql_query("SELECT * FROM `news` ORDER BY time DESC LIMIT $start, 10");
  161.  
  162. while ($news = mysql_fetch_assoc($sql_news))
  163. {
  164. echo '<div class="menu">
  165. '. (isset($user) && $settings['img_site'] == 2?NULL:'<img src="'. URL .'/design/icons/news.png" alt="news" /> ') .'<a href="/news/index.php?news_id='. $news['id'] .'">'. output($news['title']) .'</a> ('. vtime($news['time']) .') <a href="/news/admin_news.php?edit_id='. $news['id'] .'">изм</a>|<a href="/news/admin_news.php?delete_id='. $news['id'] .'">уд</a><br />
  166. </div>';
  167. }
  168.  
  169. # Вывод навигации
  170. view_nav();
  171. }
  172.  
  173. echo '<div class="block">
  174. &raquo; <a href="/news/admin_add_news.php">Добавить новость</a><br />
  175. &raquo; <a href="/news/">К списку новостей</a><br />
  176. &raquo; <a href="/">На главную</a>
  177. </div>';
  178.  
  179. require_once(HOME .'/incfiles/footer.php');
  180.  
  181. ?>