Просмотр файла modules/downloads/comments.php

Размер файла: 7.2Kb
  1. <?php
  2.  
  3. /**
  4. * Проверка доступа
  5. */
  6.  
  7. # Запрос показа новости
  8. if (isset($_GET['file_id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `downloads` WHERE `id` = '". num($_GET['file_id']) ."'"), 0) == 0) {
  9. # Переход на главную
  10. header('Location: /');
  11. }
  12.  
  13. /**
  14. * Удаление раздела
  15. */
  16. if (isset($user) && isset($_GET['delete_id']) && isset($_POST['no']) && $user['id'] == mysql_result(mysql_query("SELECT `user_id` FROM `downloads_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) && mysql_result(mysql_query("SELECT * FROM `downloads_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) != 0)
  17. {
  18. # Возврат к списку
  19. header('Location: /downloads/comments.php?file_id='. mysql_result(mysql_query("SELECT `file_id` FROM `downloads_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0));
  20. }
  21.  
  22. # Шапка модуля
  23. require_once(HOME .'/incfiles/header.php');
  24.  
  25. if (isset($user) && isset($_POST['message']))
  26. {
  27. # E-mail
  28. $message = txt($_POST['message']);
  29.  
  30. if (empty($message)) $err .= 'Не введено сообщение<br />';
  31.  
  32. # Проверка длины логина
  33. if (!empty($message) && (strlen_rus($message) < 3 || strlen_rus($message) > 5000)) $err .= 'Неверная длина сообщения. Допустимо от 3 до 5000 символов<br />';
  34.  
  35. # Проверка занятости логина
  36. if (mysql_result(mysql_query("SELECT COUNT(*) FROM `downloads_comments` WHERE `text` = '". input($message) ."' AND `file_id` = '". num($_GET['file_id']) ."'"), 0) != 0) $err .= 'Такое сообщение уже существует<br />';
  37.  
  38. if (!isset($err))
  39. {
  40. # Сохраняем данные
  41. mysql_query("INSERT INTO `downloads_comments` SET `file_id` = '". num($_GET['file_id']) ."', `user_id` = '$user[id]', `text` = '". input($message) ."', `time` = '". time() ."'");
  42.  
  43. echo '<div class="title">Добавление комментария</div>
  44. <div class="menu">
  45. Ваш комментарий успешно добавлен.
  46. </div>';
  47.  
  48. echo '<div class="block">
  49. &raquo; <a href="/downloads/comments.php?file_id='. num($_GET['file_id']) .'">К комментариям</a><br />
  50. &raquo; <a href="/downloads/file.php?file_id='. num($_GET['file_id']) .'">Вернутья к файлу</a><br />
  51. &raquo; <a href="/">На главную</a>
  52. </div>';
  53.  
  54. # Ноги модуля
  55. require_once(HOME .'/incfiles/footer.php');
  56. }
  57. }
  58.  
  59. /**
  60. * Удаление сообщения
  61. */
  62. if (isset($user) && isset($_GET['delete_id']) && isset($_POST['yes']) && ($user['id'] == mysql_result(mysql_query("SELECT `user_id` FROM `downloads_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) || user_access('delete_comments')) && mysql_result(mysql_query("SELECT * FROM `downloads_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) != 0)
  63. {
  64. mysql_query("DELETE FROM `downloads_comments` WHERE `id` = '". num($_GET['delete_id']) ."'");
  65.  
  66. echo '<div class="title">Удаление сообщения</div>
  67. <div class="menu">
  68. Сообщение успешно удалено.
  69. </div>';
  70.  
  71. echo '<div class="block">
  72. &raquo; <a href="/downloads/comments.php?file_id='. num($_GET['file_id']) .'">К комментариям</a><br />
  73. &raquo; <a href="/downloads/file.php?file_id='. num($_GET['file_id']) .'">Вернутья к файлу</a><br />
  74. &raquo; <a href="/">На главную</a>
  75. </div>';
  76.  
  77. # Ноги модуля
  78. require_once(HOME .'/incfiles/footer.php');
  79. }
  80.  
  81. # Вывод ошибок
  82. error($err);
  83.  
  84. /**
  85. * Удаление сообщения
  86. */
  87. if (isset($user) && isset($_GET['delete_id']) && ($user['id'] == mysql_result(mysql_query("SELECT `user_id` FROM `downloads_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) || user_access('delete_comments')) && mysql_result(mysql_query("SELECT * FROM `downloads_comments` WHERE `id` = '". num($_GET['delete_id']) ."'"), 0) != 0)
  88. {
  89. echo '<div class="title">Удаление сообщения</div>
  90. <form method="post" action="/downloads/comments.php?file_id='. num($_GET['file_id']) .'&amp;delete_id='. num($_GET['delete_id']) .'">
  91. <div class="menu">
  92. Подтверждаете удаление сообщения?<br />
  93. <input type="submit" name="yes" value="Да, удалить" /> <input type="submit" name="no" value="Нет, вернуться назад" />
  94. </div>
  95. </form>';
  96.  
  97. echo '<div class="block">
  98. &raquo; <a href="/news/news_comments.php?news_id='. num($_GET['news_id']) .'">Отменить действие</a><br />
  99. &raquo; <a href="/downloads/file.php?file_id='. num($_GET['file_id']) .'">Вернутья к файлу</a><br />
  100. &raquo; <a href="/">На главную</a>
  101. </div>';
  102.  
  103. # Ноги модуля
  104. require_once(HOME .'/incfiles/footer.php');
  105. }
  106.  
  107. echo '<div class="title">Комментарии</div>';
  108.  
  109. # Кол-во новостей
  110. $k_news_comments = mysql_result(mysql_query("SELECT COUNT(*) FROM `downloads_comments` WHERE `file_id` = '". num($_GET['file_id']) ."'"), 0);
  111.  
  112. # Старт навигации
  113. nav_start($k_news_comments, 10);
  114.  
  115. if ($k_news_comments == 0)
  116. {
  117. echo '<div class="menu">Комментариев нет</div>';
  118. }
  119. else
  120. {
  121. $sql_news_comments = mysql_query("SELECT * FROM `downloads_comments` WHERE `file_id` = '". num($_GET['file_id']) ."' ORDER BY time DESC LIMIT $start, 10");
  122.  
  123. while ($comment = mysql_fetch_assoc($sql_news_comments))
  124. {
  125. echo '<div class="menu">
  126. '. icon($comment['user_id']) .' <a href="/user/user.php?user_id='. $comment['user_id'] .'">'. nick($comment['user_id']) .'</a> '. online($comment['user_id']) .' ('. vtime($comment['time']) .')'. (isset($user) && ($comment['user_id'] != $user['id'] || $user['level'] >= 14)?' [<a href="/downloads/comments.php?file_id='. num($_GET['file_id']) .'&amp;reply_id='. $comment['user_id'] .'">отв</a>]':NULL) . (isset($user) && ($comment['user_id'] == $user['id'] || user_access('delete_comments'))?' [<a href="/downloads/comments.php?file_id='. num($_GET['file_id']) .'&amp;delete_id='. $comment['id'] .'">x</a>]':NULL) .'<br />
  127. '. output($comment['text']) .'
  128. </div>';
  129. }
  130.  
  131. # Вывод навигации
  132. view_nav('?file_id='. num($_GET['file_id']) .'&amp;');
  133. }
  134.  
  135. if (isset($user)) {
  136. echo '<form method="post" action="/downloads/comments.php?file_id='. num($_GET['file_id']) .'">
  137. <div class="block">
  138. Сообщение (<a href="/pages/bbcode.php">теги</a>/<a href="/pages/smiles.php">смайлы</a>):<br />
  139. <textarea name="message" rows="4" cols="20">'. (isset($_GET['reply_id'])?mysql_result(mysql_query("SELECT `nick` FROM `users` WHERE `id` = '". num($_GET['reply_id']) ."'"), 0) .', ':NULL) .'</textarea><br />
  140. <input type="submit" value="Отправить" />
  141. </div>
  142. </form>';
  143. }
  144.  
  145. echo '<div class="block">
  146. &raquo; <a href="/downloads/file.php?file_id='. num($_GET['file_id']) .'">Вернутья к файлу</a><br />
  147. &raquo; <a href="/">На главную</a>
  148. </div>';
  149.  
  150. require_once(HOME .'/incfiles/footer.php');
  151.  
  152. ?>