Размер файла: 7.57Kb
<? php define ( 'WBCAT' , 1 ); require_once ( 'inc/head.php' ); if ( $settings [ 'review' ] == false ) { echo '<div class="title">Данный модуль закрыт администратором !</div>' ; require_once ( 'inc/foot.php' ); exit ; } if ( isset ( $_GET [ 'id' ])) $id = intval ( $_GET [ 'id' ]); if ( empty ( $_GET [ 'id' ])) exit ( 'Неверный запрос' ); $req_down = mysql_query ( "SELECT * FROM `sites` WHERE `id` = '$id' LIMIT 1" ); $res_down = mysql_fetch_assoc ( $req_down ); if ( mysql_num_rows ( $req_down ) == 0 ) { echo 'Сайт не найден' ; require_once ( 'inc/foot.php' ); exit ; } $ms = mysql_fetch_array ( mysql_query ( "SELECT `url`,`id_cat` FROM `sites` WHERE id='" . $id . "' LIMIT 1;" )); switch ( $_GET [ 'mod' ]) { # Удаление всех отзывов # case 'del' : if (! $allow ) exit ( 'Доступ закрыт' ); echo '<div class="zag">Админ-панель : Удаление всех отзывово сайта ' . $ms [ 'url' ]. '</div>' ; if ( isset ( $_POST [ 'submit' ])) { $result = mysql_query ( "DELETE FROM `komm` WHERE `id_site`='" . $id . "';" ); if ( $result == true ){ header ( 'Location: ' . $settings [ 'url' ]. '/review.php?id=' . $id . '' ); } else { echo 'Ошибка' ; } } else { echo '<div class="title"><form action="review.php?mod=del&id=' . $id . '" method="post"> Вы действительно желаете удалить все отзывы ?<br /> <input type="submit" name="submit" value="Удалить"/> </form><br/> <a href="/cat/review.php?id=' . $id . '">Назад</a></div>' ; } break ; # Добавление отзыва # case 'add' : echo '<div class="zag">Добавление отзыва к сайту ' . $ms [ 'url' ]. '</div>' ; if ( isset ( $_POST [ 'go' ])) { if ( empty ( $_POST [ 'name' ])) $error [ 1 ] = 'Вы не заполнили поле "Ваш ник"' ; if ( empty ( $_POST [ 'text' ])) $error [ 2 ] = 'Вы не заполнили поле "Отзыв"' ; if (! empty ( $error )) { echo '<div class="title">' ; foreach ( $error as $value ) { echo "<b>$value</b> <br />" ; } echo '</div>' ; } else { # Система антифлуда # // ip if ( isset ( $_SERVER [ 'HTTP_X_FORWARDED_FOR' ])) $ip = htmlspecialchars ( $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]); elseif ( isset ( $_SERVER [ 'REMOTE_ADDR' ])) $ip = htmlspecialchars ( $_SERVER [ 'REMOTE_ADDR' ]); else $ip = 'Не определн' ; // User agent if ( isset ( $_SERVER [ 'HTTP_USER_AGENT' ])) $ua = htmlspecialchars ( $_SERVER [ 'HTTP_USER_AGENT' ]); else $ua = 'Не определен' ; $spam = $setnews [ 'antiflood' ]; $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 ). "'" ); $flood = mysql_result ( $antiflood , 0 ) > 0 ? 1 : false ; if ( $flood ) { echo '<div class="title"><b>Антифлуд !</b> Запрещенно часто добавлять сообщения ! <small>[порого ' . $spam . ' секунд]</small><br/> <a href="review.php?id=' . $id . '">Назад</a></div>' ; require_once ( "inc/foot.php" ); exit ; } $name = htmlspecialchars ( trim ( $_POST [ 'name' ])); $text = htmlspecialchars ( trim ( $_POST [ 'text' ])); $result = mysql_query ( "insert into `komm` SET `text`='" . mysql_real_escape_string ( $text ) . "', `id_site`='" . $id . "', `date`='" . $time . "', `ip`='" . ip2int ( $ip ). "', `browser`='" . $ua . "', `name`='" . mysql_real_escape_string ( $name ) . "';" ); if ( $result == true ) { header ( 'Location: ' . $settings [ 'url' ]. '/review.php?id=' . $id . '' );} else { exit ( 'Ошибка добавления отзыва в базу данных' ); } } } echo '<div class="title"><form action = "review.php?mod=add&id=' . $id . '" method = "post" name = "form"> Ваш ник <small>[max 100]</small><br/> <input name="name" type="text" maxlength="100" value="" /><br/> Отзыв <small>[max 255]</small><br/> <textarea rows="3" name="text" maxlenght = "255"></textarea><br/> <input name="go" type="submit" value="Добавить" /> </form></div>' ; break ; # Вывод страницы отзывов # default : echo '<div class="zag">Отзывы сайта ' . $ms [ 'url' ]. '</div>' ; $num = $settings [ 'on_page' ]; $page = intval ( $_GET [ 'page' ]); $result = mysql_query ( 'SELECT COUNT(*) FROM `komm` WHERE `id_site`="' . $id . '"' ); $posts = mysql_result ( $result , 0 ); $total = intval (( $posts - 1 ) / $num ) + 1 ; if ( empty ( $page ) or $page < 0 ) $page = 1 ; if ( $page > $total ) $page = $total ; $start = $page * $num - $num ; $result = mysql_query ( 'SELECT * FROM `komm` WHERE `id_site`=' . $id . ' ORDER BY `id` DESC LIMIT ' . $start . ', ' . $num . '' ); if ( $posts > 0 ) { while ( $m = mysql_fetch_array ( $result )) { $m [ 'text' ] = tags ( $m [ 'text' ]); $m [ 'text' ] = str_replace ( "\r\n" , "<br />" , $m [ 'text' ]); $m [ 'text' ] = smileys ( $m [ 'text' ]); echo '<div class="title">' . $m [ 'name' ]. ' <small>[' . date ( 'd.m.y H:i' , $m [ 'date' ]). ']</small><br/> ' . nl2br ( $m [ 'text' ]). '</div>' ; if ( $allow ) { echo '<div class="min"><a href="adm/edit_review.php?id=' . $m [ 'id' ]. '">[Ред]</a>|<a href="adm/del_review.php?id=' . $m [ 'id' ]. '">[Уд]</a> <br/><u>IP</u> : <i>' . int2ip ( $m [ 'ip' ]). '</i><br/> <u>USER AGENT</u> : <i>' . $m [ 'browser' ]. '</i></div>' ; } } if ( $page != 1 ) $pervpage = ' <a href= "review.php?id=' . $id . '&page=' . ( $page - 1 ) . '">Назад</a> ' ; // Проверяем нужны ли стрелки вперед if ( $page != $total ) $nextpage = ' <a href="review.php?id=' . $id . '&page=' . ( $page + 1 ) . '">Вперед</a>' ; if ( $page != 1 AND $page != $total ) $i = '|' ; // Перваяя и последняя страницы if ( $page - 4 > 0 ) $first = '<a href="review.php?id=' . $id . '&page=1">1</a>...' ; if ( $page + 4 <= $total ) $last = '...<a href="review.php?id=' . $id . '&page=' . $total . '">' . $total . '</a>' ; // Находим две ближайшие станицы с обоих краев, если они есть if ( $page - 2 > 0 ) $page2left = ' <a href= "review.php?id=' . $id . '&page=' . ( $page - 2 ) . '">' . ( $page - 2 ) . '</a> ' ; if ( $page - 1 > 0 ) $page1left = '<a href= "review.php?id=' . $id . '&page=' . ( $page - 1 ) . '">' . ( $page - 1 ) . '</a> ' ; if ( $page + 2 <= $total ) $page2right = ' <a href="review.php?id=' . $id . '&page=' . ( $page + 2 ) . '">' . ( $page + 2 ) . '</a>' ; if ( $page + 1 <= $total ) $page1right = ' <a href="review.php?id=' . $id . '&page=' . ( $page + 1 ) . '">' . ( $page + 1 ) . '</a>' ; // Вывод меню if ( $posts > $num ) { echo '<div class="title"><small>Навигация :<br/>Страница ' . $page . ' из ' . $total . '</small><br/>' . $pervpage . $i . $nextpage . '<br/>' . $first . $page2left . $page1left . '[' . $page . ']' . $page1right . $page2right . $last . '</div>' ; } } else { echo '<div class="title">Отзывов нет</div>' ; } echo '<div class="title"><a href="review.php?mod=add&id=' . $id . '">Добавить отзыв</a></div>' ; if ( $allow ) { if ( $posts > 1 ) echo '<div class="func"><a href="review.php?mod=del&id=' . $id . '">Удалить все отзывы</a></div>' ; } echo '<div class="main"><a href="faq.php?mod=bbcode">Теги</a>|<a href="faq.php?mod=smileys">Смайлы</a></div>' ; echo '<div class="main"><a href="cat.php?id=' . $ms [ 'id_cat' ]. '&mod=view&site=' . $id . '">К сайту</a></div>' ; } echo '<div class="main"><a href="index.php">На главную</a></div>' ; require_once ( 'inc/foot.php' ); ?>