View file includes/main_forum/messages.php

File size: 5.1Kb
<?php
if ($pagem<1) $pagem=1;
if ($paget<1) $paget=1;
$pt="";
$pm="";
if ($paget>1) $pt="-".$paget;
if ($pagem>1) $pm="-".$pagem;
print '<card id="forum" title="'.$title.'Форум">';
if (!$autorize) print '<do name="a" type="options" label="Войти"><go href="'.$forum.'/a/&amp;z='.$back_addr.'"/></do>';

$q=mysql(DBName,"SELECT `status` FROM `$table` WHERE 1 AND `status` < 2 AND `l1` = $razdel AND `l2` = $topic AND `l3` = 0 LIMIT 0, 1");
$s=@mysql_num_rows($q)+0;
$f=@mysql_fetch_array($q);
$writestatus=$f['status'];

if (($status>0)||(($autorize)&&($s>0)&&($writestatus==0))) print '<do name="n" type="options" label="Написать"><go href="'.$forum.'/nm/'.$razdel.$pt.'/'.$topic.$pm.'"/></do>';

print '<do name="t" type="options" label="Темы"><go href="'.$forum.'/show/'.$razdel.$pt.'"/></do>';
print '<do name="r" type="options" label="Разделы"><go href="'.$forum.'"/></do>';
print $mainkey;
print '<p>';
print $sysmsg;

$q=mysql(DBName,"SELECT `text` FROM `$table` WHERE 1 AND `l1` = $razdel AND `l2` = 0 AND `l3` = 0 LIMIT 0, 1");
$s=mysql_num_rows($q);

if ($s<1)
	print '<br/><small>[Раздел не найден<!--M-->]</small><br/>';
else
	{

	$q=mysql(DBName,"SELECT `status` FROM `$table` WHERE 1 AND `status` < 2 AND `l1` = $razdel AND `l2` = $topic AND `l3` = 0 LIMIT 0, 1");
	$s=mysql_num_rows($q)+0;

	if ($s<1)
		print '<br/><small>Тема не найдена, удалена или ее просмотр запрещен<br/>'.$prnt.'<b>';
	else
		{
        $prntt="";
	    $f=mysql_fetch_array($q);
	    $writestatus=$f['status'];
	    if (($status>0)||(($autorize)&&($writestatus==0))) $prntt.='<b>++<a href="'.$forum.'/nm/'.$razdel.$pt.'/'.$topic.$pm.'">Написать</a></b><br/><br/>';

	    $q=mysql(DBName,"SELECT `l3` FROM `$table` WHERE 1 AND `status` < 2 AND `l1` = $razdel AND `l2` = $topic AND `l3` != 0 ORDER BY `time` DESC  LIMIT 0, 1");
	    $f=mysql_fetch_array($q);
	    $max_l3=$f[l3];

	    //Загружаем весь список сообщений в нужном порядке.
	    $prnt="";
	    $nxt=false;
	    $cpage=0;

	    $q=mysql(DBName,"SELECT `l3` , `status` , `login` , `time` , `text` FROM `$table` WHERE 1 AND `status` < 2 AND `l1` = $razdel AND `l2` = $topic AND `l3` != 0 ORDER BY `time` DESC");
	    $s=mysql_num_rows($q)+0;

	    if ($s<1)
	        {
	        if ($pagem==1) $prnt.='<br/>Список сообщений поврежден.<br/>';
	        if ($pagem>1) $prnt.='<br/>На данной странице нет сообщений.<br/>';
	        }
	    else
	        {
	            if ($pagem>2) $prntt.='<b>&lt;&lt;=<a href="'.$forum.'/show/'.$razdel.$pt.'/'.$topic.'" accesskey="4">В начало</a></b><br/>';
	        if ($pagem<9999)
	            {if ($pagem>1) $prntt.='<b>&lt;=<a href="'.$forum.'/show/'.$razdel.$pt.'/'.$topic.'-'.($pagem-1).'" accesskey="1">Предыдущие</a></b><br/>';}
	        else
	            {if ($pagem>1) $prntt.='<b>&lt;=<a href="'.$forum.'/show/'.$razdel.$pt.'/'.$topic.'-(((BACKPAGE)))" accesskey="1">Предыдущие</a></b><br/>';}

	        $curpageprint="";
	        for ($i=0;($i<$s);$i++)
	            {
	            $f=mysql_fetch_array($q);
	            $text=cyr2utf(str_replace("$","$$",htmlspecialchars($f['text'])));
	            $time=$f['time'];
	            $flogin=$f['login'];
	            $l3=$f['l3'];
	            $nikname=$flogin;
	            if ($nikname=='begemot.kmx.ru') $nikname=cyr2utf('Алексей');
	            if ($nikname=='dimon.kmx.ru') $nikname=cyr2utf('Дмитрий');
	            if (($status>0)||(($flogin==$login)&&($l3!=1)&&($l3==$max_l3)))
	                $delmsg='<a href="'.$forum.'/dm/'.$razdel.$pt.'/'.$topic.$pm.'/'.$l3.'">&#xD7;</a>';
				else
					$delmsg='';

                $curmes='<br/><b>'.$nikname.' '.date("j.m.y G:i",$time).$delmsg.'</b><br/>'.$text.'<br/>';

	            if ((strlen($curpageprint.$curmes)+1200)>$maxsize)
	                {
	                $cpage++;
	                if ($cpage==$pagem) {$tonext=true; $endprnt=$curpageprint;}
	                if ($cpage==($pagem+1)) {$toend=true; break;}
	                else {$curpageprint=$curmes;}
	                }
	            else
	                $curpageprint.=$curmes;
	            }
	        if (!$tonext) $prntt.=$curpageprint;
	        else          $prntt.=$endprnt;

	        $prnt.=str_replace("(((BACKPAGE)))",$cpage,$prntt);
	        }

		print '<small>'.$prnt.'<b>';
		}

	if ($tonext) print '<br/>=&gt;<a href="'.$forum.'/show/'.$razdel.$pt.'/'.$topic.'-'.($pagem+1).'" accesskey="3">Следующие</a>';
	if ($toend)  print '<br/>=&gt;&gt;<a href="'.$forum.'/show/'.$razdel.$pt.'/'.$topic.'-9999" accesskey="6">В конец</a>';
	if ($toend || $tonext) print '<br/>';

    if (($status>0)||(($autorize)&&($writestatus==0))) print '<br/>++<a href="'.$forum.'/nm/'.$razdel.$pt.'/'.$topic.$pm.'" accesskey="2">Написать</a><br/>';
    print '</b></small>';
	}

print '<br/>&lt;<a href="'.$forum.'/show/'.$razdel.$pt.'" accesskey="9">Темы</a>';
print '<br/>&lt;&lt;<a href="'.$forum.'" accesskey="7">Разделы</a>';

print $endtext;
exit();
?>