Доброе время уважаемый администратор,
Решил не эксперементировать и внедрить на сайт 1 ваш код из сообщения:
http://usefulscript.ru/forum/showthread....63#pid2963
Код:
<?php
function parents($up=0, $left=0) {
global $tag,$mess_url,$this_comm,$level,$mass;
for ($i=0; $i<=count($tag[$up])-1; $i++) {
if ($tag[$up][$i][2]=='Админ') $tag[$up][$i][2]='<font color="#c00">Админ</font>';
if ($tag[$up][$i][6]==0) $tag[$up][$i][6]=$tag[$up][$i][0];
$sum=$tag[$up][$i][4]-$tag[$up][$i][5];
if ($up!=0 and count($tag[$up])-1!=$i) $mass[$level]=1;
else $mass[$level]=0;
if ($this_comm==2) {
for ($k=0; $k<$level; $k++) echo '</div>';
echo '<div class="sp_comm_links">Показать комментарии</div><div class="sp_comm_body"><div>';
for ($k=1; $k<$level; $k++) {
if ($mass[$k]==1) echo '<div style="border-left:2px solid #000;padding:5px 0 0 '.($left-2).'px;">';
else echo '<div style="padding:5px 0 0 '.$left.'px;">';
}
}
if (isset($tag[ $tag[$up][$i][0] ])) $level++;
$this_comm++;
if ($up==0) echo '<div style="padding:5px 10px 0;">';
else {
if (count($tag[$up])-1!=$i)
echo '<div class="arrow" style="padding:5px 0 0 '.($left-2).'px;">';
else echo '<div class="arrow_2" style="padding:5px 0 0 '.$left.'px;">';
}
echo '<div class="comm_head" id="m'.$tag[$up][$i][0].'">';
echo '<div style="float:left;"><b>'.$tag[$up][$i][2].'</b></div>';
echo '<div class="comm_minus" title="Плохой комментарий"></div>';
echo '<div style="float:right; width:30px; margin-top: 1px; cursor: default;" id="rating_comm'.$tag[$up][$i][0].'">';
echo '<b>'.$sum.'</b></div><div class="comm_plus" title="Хороший комментарий"></div>';
echo '<a style="float:right; width:60px; color:#525252;" href="'.$mess_url.'#m';
echo $tag[$up][$i][0].'"># '.$tag[$up][$i][0].'</a>';
echo '<div style="float:right; width:140px; white-space:pre;">';
echo '('.date("H:i:s d.m.Y", $tag[$up][$i][3]).' г.)</div>';
echo '<div style="clear:both;"></div></div>';
echo '<div class="comm_body">';
if ($sum<0) echo '<u class="sp_link">Показать</u><div class="comm_text">';
else echo '<div style="word-wrap:break-word;">';
echo str_replace("<br />","<br>",nl2br($tag[$up][$i][1])).'</div>';
echo '<div class="open_hint" title="Ответить на сообщение" o
nClick="comm_on('.$tag[$up][$i][0].',
'.$tag[$up][$i][6].')">Ответить</div><div style="clear:both;"></div></div>';
if (isset($tag[ $tag[$up][$i][0] ])) parents($tag[$up][$i][0],20);
echo '</div>';
}
$level--;
unset($mass);
}
//вывод IP адреса непосредственно с комментариями на сайте
$res=mysqli_query($db,"SELECT * FROM comment WHERE theme_id='".$theme_id."' and moderation=1 ORDER BY id");
$number=mysqli_num_rows($res);
if ($number>0) {
echo '<div style="background:#fffdff; border: 1px solid #e1e1e1; border-radius: 15px; box-shadow: inset 0 0 5px #e1e1e1; color: #525252; margin: 10px auto; padding:10px 10px 10px; text-align:center; width:740px;">';
echo '<b id="comments">Последние комментарии посетителей</b><br>'; // function col_pages_#comments
while ($com=mysqli_fetch_assoc($res))
$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"], $com["login"], $com["date"], $com["plus"], $com["minus"], $com["first_parent"]);
$this_comm=0;$level=0;$c_div=0;
echo parents().'</div><br>';
if ($number>2) echo '</div></div>';
}
?>
т.е. ссылка "Показать (Свернуть) комментарии" находится в 1 месте и скрипт работает нормально, но если не добавляю древовидное комментарий к видимым 2 комментариям на странице.
Добавленный комментарий добавляется и отображается, но со смещением и не совсем правильно в плане оформления.
1.
На 1 скрине все нормально 2 комментария и ссылка "Показать комментарии"
2.
На 2 скрине видно, что когда
Ольга добавляет древовидный комментарий для
qwr, то комментарий добавляется со смещением, я думаю около 10px и указатель (стрелка) начинается не там, где надо.
Если пользователь
цввц добавляет комментарий для
Ольга, то тут все нормально, но смещение присутствует.
Как поправить может быть знаете, а то все вроде работает, но коряво отображается.
Заранее благодарен.