код php
Спойлер (Отобразить)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?
- "server"=>"localhost",
- "user"=>"root",
- "pass"=>"",
- "base"=>"superbase"
- );
- mysql_connect($conf['db']['server'], $conf['db']['user'], $conf['db']['pass'])or die("Could not connect: ".mysql_error());
- if($_GET['op'] === 'clear-all'){
- }
- }else{
- $uname = "Аноним";
- }
- $comment = mysql_real_escape_string(strip_tags($_POST['message'], "<p><b><i><font><img>")); // удалим левые теги
- $ip = $_SERVER['REMOTE_ADDR'];
- $client = $_SERVER['HTTP_USER_AGENT'];
- mysql_query("INSERT INTO les_comments (`id`, `name`, `ip`, `client`, `comment`, `content_id`, `parent_id`, `time`) VALUES (NULL, '$uname', '$ip', '$client', '$comment', '$content_id', '$parent_id', '$time')");
- }
- /*
- */
- $content_id = 0; // это ключевой идентификатор от конкретной статьи(комменты то разные в каждой статье, помним?)
- // выводим комменты
- $msg[] = $row;
- }
- $parent = 0;
- $form = "<div class='editor'>
- <form id='comment-form' autocomplete='off' method='post'>
- <input type='hidden' name='op' value='add-comment'>
- <input type='hidden' name='content' value='{$id}'>
- <input type='hidden' name='parent' value='{$parent}'>
- <table border='0'><tr><td><input id='uname' name='uname' type='text' value='{$uname}' maxlength='20' size='25' /></td><td>Ваше имя*</td></tr></table>
- <textarea name='message' rows='5' cols='65'></textarea><br><input id='submit' name='signup' type='submit' value='Добавить' /></div>
- </form>";
- $i = 0;
- if($count){
- $comments = "<div class='comments-all'><span style='float:left'>Всего комментариев: {$count}</span><span class='add-comment'>Написать комментарий</span></div>".$form;
- $msg = crazysort($msg);
- while($i<$count){
- $margin = $msg[$i]['level'] * 20;
- $comments .= "<div id='msg{$msg[$i]['id']}' style='margin-left: {$margin}px'><div class='comment-title'><span style='float:left'><b>{$msg[$i]['name']}</b> <small>({$date})</small></span><span class='comment-ans' id={$msg[$i]['id']}>ответить</span></div><div class='comment-message'>{$msg[$i]['comment']}</div></div>";
- $i++;
- }
- }else{
- $comments = "<div class='comments-all'><span style='float:left'>Эту новость ещё не комментировали</span><span class='add-comment'>Написать комментарий</span></div>".$form;
- }
- // функция сортирует массив по деревьям
- function crazysort(&$comments, $parentComment = 0, $level = 0, $count = null){
- }else{
- $c = $count;
- }
- for($i=0;$i<$c;$i++){
- $comment = $comments[$i];
- $parentId = $comment['parent_id'];
- if ($parentId == $parentComment){
- $comment['level'] = $level;
- $commentId = $comment['id'];
- $return[] = $comment;
- while ($nextReturn = crazysort($comments, $commentId, $level+1, $c)){
- }
- }
- }
- return $return;
- }
- return false;
- }
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.7.0/build/reset/reset-min.css"/>
- <title>Древовидные комментарии для Вашего сайта</title>
- <link rel='stylesheet' type='text/css' href='css/style.css'/>
- <script type='text/javascript' src='js/jquery-1.5.2.min.js'></script>
- <body>
- <div style='margin:0 auto; width:780px'>
- <?
- echo $comments;
- echo "<center><a href='?op=clear-all'>очистить все комменты</a></center>";
- ?>
- </div>
- <script>
- $(function () {
- $('.add-comment').click(function(){
- var editor = $('.editor');
- if (editor.is(":hidden")){
- editor.slideDown();
- }else{
- editor.slideUp();
- }
- return false;
- });
- $('.comment-ans').click(function(){
- var $editor = $('.editor');
- $editor.hide();
- var mid = $(this).attr("id");
- var clone = $editor.clone();
- $editor.remove();
- setTimeout(function(){
- $(clone).css("margin", "5px 0 5px 20px");
- $(clone).insertAfter("div#msg"+mid).slideDown();
- $("input[name=parent]").val(mid);
- }, 200);
- });
- });
- </script>
- </body>
- </html>