Просмотр файла review.php

Размер файла: 7.57Kb
  1. <?php
  2.  
  3. define( 'WBCAT', 1 );
  4. require_once ('inc/head.php');
  5.  
  6.  
  7. if ($settings['review'] == false) {
  8. echo '<div class="title">Данный модуль закрыт администратором !</div>';
  9. require_once ('inc/foot.php');
  10. exit;
  11. }
  12. if (isset($_GET['id'])) $id=intval($_GET['id']);
  13. if (empty($_GET['id'])) exit('Неверный запрос');
  14. $req_down = mysql_query("SELECT * FROM `sites` WHERE `id` = '$id' LIMIT 1");
  15. $res_down = mysql_fetch_assoc($req_down);
  16. if (mysql_num_rows($req_down) == 0 ) {
  17. echo 'Сайт не найден';
  18. require_once ('inc/foot.php');
  19. exit; }
  20. $ms = mysql_fetch_array(mysql_query("SELECT `url`,`id_cat` FROM `sites` WHERE id='" .$id. "' LIMIT 1;"));
  21. switch ($_GET['mod']) {
  22.  
  23. # Удаление всех отзывов #
  24.  
  25. case 'del' :
  26. if (!$allow) exit('Доступ закрыт');
  27. echo '<div class="zag">Админ-панель : Удаление всех отзывово сайта '.$ms['url'].'</div>';
  28. if (isset($_POST['submit'])) {
  29. $result = mysql_query("DELETE FROM `komm` WHERE `id_site`='" .$id. "';");
  30. if ($result == true ){
  31. header('Location: '.$settings['url'].'/review.php?id='.$id.'');
  32. }
  33. else {
  34. echo 'Ошибка';
  35. }
  36.  
  37. } else {
  38.  
  39. echo '<div class="title"><form action="review.php?mod=del&id=' .$id. '" method="post">
  40. Вы действительно желаете удалить все отзывы ?<br />
  41. <input type="submit" name="submit" value="Удалить"/>
  42. </form><br/>
  43. <a href="/cat/review.php?id='.$id.'">Назад</a></div>';
  44. }
  45. break;
  46.  
  47. # Добавление отзыва #
  48.  
  49. case 'add' :
  50. echo '<div class="zag">Добавление отзыва к сайту '.$ms['url'].'</div>';
  51. if (isset($_POST['go'])) {
  52. if (empty($_POST['name'])) $error[1] = 'Вы не заполнили поле "Ваш ник"';
  53. if (empty($_POST['text'])) $error[2] = 'Вы не заполнили поле "Отзыв"';
  54. if (!empty($error)) {
  55. echo '<div class="title">';
  56. foreach($error as $value) {
  57. echo "<b>$value</b> <br />";
  58. }
  59. echo '</div>';
  60. }
  61. else {
  62. # Система антифлуда #
  63. // ip
  64. if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))$ip = htmlspecialchars($_SERVER['HTTP_X_FORWARDED_FOR']);
  65. elseif(isset($_SERVER['REMOTE_ADDR'])) $ip = htmlspecialchars($_SERVER['REMOTE_ADDR']);
  66. else $ip = 'Не определн';
  67. // User agent
  68. if (isset($_SERVER['HTTP_USER_AGENT'])) $ua = htmlspecialchars($_SERVER['HTTP_USER_AGENT']);
  69. else $ua = 'Не определен';
  70. $spam = $setnews['antiflood'];
  71. $antiflood = mysql_query("SELECT COUNT(*) FROM `komm` WHERE `id_site`='" .$id. "' AND `date` >='" . ($time - $spam) . "' AND `ip` = '".ip2int($ip)."' AND `browser` = '".mysql_real_escape_string($ua)."'");
  72. $flood = mysql_result($antiflood, 0) > 0 ? 1 : false;
  73. if ($flood) {
  74. echo '<div class="title"><b>Антифлуд !</b> Запрещенно часто добавлять сообщения ! <small>[порого '.$spam.' секунд]</small><br/>
  75. <a href="review.php?id='.$id.'">Назад</a></div>';
  76. require_once ("inc/foot.php");
  77. exit;
  78. }
  79. $name = htmlspecialchars(trim($_POST['name']));
  80. $text = htmlspecialchars(trim($_POST['text']));
  81. $result = mysql_query("insert into `komm` SET
  82. `text`='" . mysql_real_escape_string($text) . "',
  83. `id_site`='".$id."',
  84. `date`='" . $time . "',
  85. `ip`='" .ip2int($ip). "',
  86. `browser`='" . $ua . "',
  87. `name`='" . mysql_real_escape_string($name) . "';");
  88. if ($result == true) {header('Location: '.$settings['url'].'/review.php?id='.$id.'');}
  89. else {
  90. exit ('Ошибка добавления отзыва в базу данных');
  91. }
  92. }
  93. }
  94. echo '<div class="title"><form action = "review.php?mod=add&id='.$id.'" method = "post" name = "form">
  95. Ваш ник <small>[max 100]</small><br/>
  96. <input name="name" type="text" maxlength="100" value="" /><br/>
  97. Отзыв <small>[max 255]</small><br/>
  98. <textarea rows="3" name="text" maxlenght = "255"></textarea><br/>
  99. <input name="go" type="submit" value="Добавить" />
  100. </form></div>';
  101. break;
  102.  
  103. # Вывод страницы отзывов #
  104.  
  105. default :
  106. echo '<div class="zag">Отзывы сайта '.$ms['url'].'</div>';
  107. $num = $settings['on_page'];
  108. $page = intval($_GET['page']);
  109. $result = mysql_query('SELECT COUNT(*) FROM `komm` WHERE `id_site`="'.$id.'"');
  110. $posts = mysql_result($result, 0);
  111. $total = intval(($posts - 1) / $num) + 1;
  112. if(empty($page) or $page < 0) $page = 1;
  113. if($page > $total) $page = $total;
  114. $start = $page * $num - $num;
  115. $result = mysql_query('SELECT * FROM `komm` WHERE `id_site`='.$id.' ORDER BY `id` DESC LIMIT '.$start.', '.$num.'');
  116. if ($posts >0) {
  117. while ($m = mysql_fetch_array($result))
  118. {
  119. $m['text'] = tags($m['text']);
  120. $m['text'] = str_replace("\r\n", "<br />", $m['text']);
  121. $m['text'] = smileys($m['text']);
  122. echo '<div class="title">'.$m['name'].' <small>['.date('d.m.y H:i',$m['date']).']</small><br/>
  123. '.nl2br($m['text']).'</div>';
  124. if ($allow) {
  125. echo '<div class="min"><a href="adm/edit_review.php?id='.$m['id'].'">[Ред]</a>|<a href="adm/del_review.php?id='.$m['id'].'">[Уд]</a>
  126. <br/><u>IP</u> : <i>'.int2ip($m['ip']).'</i><br/>
  127. <u>USER AGENT</u> : <i>'.$m['browser'].'</i></div>';
  128. }
  129. }
  130.  
  131. if ($page != 1) $pervpage = ' <a href= "review.php?id='.$id.'&page='. ($page - 1) .'">Назад</a> ';
  132. // Проверяем нужны ли стрелки вперед
  133. if ($page != $total) $nextpage = ' <a href="review.php?id='.$id.'&page='. ($page + 1) .'">Вперед</a>';
  134. if ($page !=1 AND $page != $total) $i = '|';
  135. // Перваяя и последняя страницы
  136. if ($page - 4 > 0) $first = '<a href="review.php?id='.$id.'&page=1">1</a>...';
  137. if ($page + 4 <= $total) $last = '...<a href="review.php?id='.$id.'&page='.$total.'">'.$total.'</a>';
  138. // Находим две ближайшие станицы с обоих краев, если они есть
  139. if($page - 2 > 0) $page2left = ' <a href= "review.php?id='.$id.'&page='. ($page - 2) .'">'. ($page - 2) .'</a> ';
  140. if($page - 1 > 0) $page1left = '<a href= "review.php?id='.$id.'&page='. ($page - 1) .'">'. ($page - 1) .'</a> ';
  141. if($page + 2 <= $total) $page2right = ' <a href="review.php?id='.$id.'&page='. ($page + 2) .'">'. ($page + 2) .'</a>';
  142. if($page + 1 <= $total) $page1right = ' <a href="review.php?id='.$id.'&page='. ($page + 1) .'">'. ($page + 1) .'</a>';
  143.  
  144. // Вывод меню
  145. if ($posts > $num) {
  146. echo '<div class="title"><small>Навигация :<br/>Страница '.$page.' из '.$total.'</small><br/>'.$pervpage.$i.$nextpage.'<br/>'.$first.$page2left.$page1left.'['.$page.']'.$page1right.$page2right.$last.'</div>';
  147. }
  148. }
  149. else {
  150. echo '<div class="title">Отзывов нет</div>';
  151. }
  152. echo '<div class="title"><a href="review.php?mod=add&amp;id='.$id.'">Добавить отзыв</a></div>';
  153. if ($allow) {
  154. if ($posts > 1) echo '<div class="func"><a href="review.php?mod=del&id='.$id.'">Удалить все отзывы</a></div>';
  155. }
  156. echo '<div class="main"><a href="faq.php?mod=bbcode">Теги</a>|<a href="faq.php?mod=smileys">Смайлы</a></div>';
  157. echo '<div class="main"><a href="cat.php?id='.$ms['id_cat'].'&amp;mod=view&amp;site='.$id.'">К сайту</a></div>';
  158. }
  159.  
  160. echo '<div class="main"><a href="index.php">На главную</a></div>';
  161. require_once ('inc/foot.php');
  162. ?>