Размер файла: 5.51Kb
<? php define ( '_WBLIB' , 1 ); require_once ( 'inc/core.php' ); if (! $set [ 'comm' ]) exit ( '<div class="error">Модуль закрыт администратором</div>' ); $req = mysql_query ( "SELECT * FROM `article` WHERE `id` = '$id' LIMIT 1" ); $res = mysql_fetch_assoc ( $req ); if ( mysql_num_rows ( $req ) == 0 ) { require_once ( 'inc/head.php' ); echo 'Такой статьи не существует' ; require_once ( 'inc/foot.php' ); exit ; } // Заголовки $title = 'Комментарии к ' . $res [ 'name' ]; require_once ( 'inc/head.php' ); ############################# $act = isset ( $_GET [ 'act' ]) ? $_GET [ 'act' ] : '' ; switch ( $act ) { case 'add' : echo "<script type='text/javascript'> function reload(){ src=document.captcha.src; document.captcha.src='loading.gif'; document.captcha.src=src+'?rand='+Math.random(); } </script>" ; echo '<div class="title">Добавление комментария</div>' ; if ( isset ( $_POST [ 'go' ])) { if ( empty ( $_POST [ 'name' ])) $error = 'Вы не заполнили поле "Ваш ник"<br/>' ; $code = intval ( $_POST [ 'code' ]) ; if ( $code != $_SESSION [ 'code' ]) $error .= 'Защитный код введен неверно !<br/>' ; if ( empty ( $_POST [ 'code' ])) $error .= 'Вы не ввели защитный код<br/>' ; if ( empty ( $_POST [ 'text' ])) $error .= 'Вы не заполнили поле "Отзыв"' ; if ( $error ) { echo '<div class="error">' ; echo $error ; echo '</div>' ; } else { # Система антифлуда # // User agent if ( isset ( $_SERVER [ 'HTTP_USER_AGENT' ])) $ua = htmlspecialchars ( $_SERVER [ 'HTTP_USER_AGENT' ]); else $ua = 'Не определен' ; $spam = 30 ; $antiflood = mysql_query ( "SELECT COUNT(*) FROM `comm` WHERE `id_article`='" . $id . "' AND `time` >='" . ( $time - $spam ) . "' AND `ip` = '" . ip2int ( getip ()). "' AND `soft` = '" . mysql_real_escape_string ( $ua ). "'" ); $flood = mysql_result ( $antiflood , 0 ) > 0 ? 1 : false ; if ( $flood ) { echo '<div class="link"><b>Антифлуд !</b> Запрещенно часто добавлять сообщения ! <small>[порого ' . $spam . ' секунд]</small><br/> <a href="comm.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 `comm` SET `text`='" . mysql_real_escape_string ( $text ) . "', `id_article`='" . $id . "', `time`='" . $time . "', `ip`='" . ip2int ( getip ()). "', `soft`='" . $ua . "', `name`='" . mysql_real_escape_string ( $name ) . "';" ); unset ( $_SESSION [ 'code' ]); if ( $result == true ) header ( 'Location: ' . $home . '/comm.php?id=' . $id . '' ); else exit ( 'Ошибка добавления комментария в базу данных' ); } } echo '<div class="link"><form action = "comm.php?act=add&id=' . $id . '" method = "post" name = "form"> Ник <small>[max 100]</small><br/> <input name="name" type="text" maxlength="100" value="" /><br/> Комментарий <small>[max 500]</small><br/> <textarea rows="3" name="text" maxlenght = "500"></textarea><br/> <small>Введите число с картинки</small><br/><img src="captcha.php" name="captcha" alt="код"/><a href="javascript:void(0)" onclick="reload()">Обн</a><br/> <input name="code" type="text" size="4" maxlength="6" /><br/> <input name="go" type="submit" value="Добавить" /> </form></div>' ; echo '<div class="bar"><a href="comm.php?id=' . $id . '">Назад</a></div>' ; break ; default : echo '<div class="title">Комментарии к ' . $res [ 'name' ]. '</div>' ; $posts = mysql_result ( mysql_query ( 'SELECT COUNT(*) FROM `comm` WHERE `id_article` = ' . $id . ';' ), 0 ); $total = intval (( $posts - 1 ) / $num ) + 1 ; if ( $page > $total ) $page = $total ; $start = $page * $num - $num ; $result = mysql_query ( 'SELECT * FROM `comm` WHERE `id_article` = ' . $id . ' ORDER BY id DESC LIMIT ' . $start . ', ' . $num . '' ); if ( $posts > 0 ) { while ( $m = mysql_fetch_array ( $result )){ $m [ 'text' ] = nl2br ( $m [ 'text' ]); $m [ 'text' ] = smileys ( $m [ 'text' ]); $m [ 'text' ] = tags ( $m [ 'text' ]); echo '<div class="link"><u>' . $m [ 'name' ]. '</u>[' . date ( 'd.m.y H:i' , $m [ 'time' ]). ']<br/>' . $m [ 'text' ]. '' ; if ( $level > 0 ) { echo '<div class="func"><u>IP</u>: ' . int2ip ( $m [ 'ip' ]). '<br/><u>Soft</u>: ' . $m [ 'soft' ]. '<br/>[<a href="panel/edit_comm.php?id=' . $m [ 'id' ]. '">изм.</a>][<a href="panel/del_comm.php?id=' . $m [ 'id' ]. '">уд.</a>]</div>' ;} echo '</div>' ; } } else { echo '<div class="link">Комментариев нет</div>' ; } // Вывод меню if ( $posts > $num ) { nav ( $total , $page , $num , 'comm.php?id=' . $id . '&' ); } echo '<div class="bar"><a href="comm.php?act=add&id=' . $id . '">Добавить комментарий</a><br/> <a href="article.php?id=' . $id . '">К статье</a><br/> <a href="faq.php?act=bbcode">BB-коды</a>|<a href="faq.php?act=smile">Смайлы</a></div>' ; if ( $usr_id ) { if ( $posts > 1 ) { echo '<div class="func"><a href="panel/del_comm.php?act=all&id=' . $id . '">Очисить комментарии</a></div>' ; } } echo '<div class="title">Всего ' . $posts . ' комментариев</div>' ; } echo '<div class="title"><a href="' . $home . '">Главная</a></div>' ; require_once ( 'inc/foot.php' ); ?>