Просмотр файла forum/new.php

Размер файла: 8.49Kb
<?php
require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.php";
require_once"../template/setforum.php";
require_once"../template/functions.php";
require_once"../template/antidos.php";
require_once"../template/cookies.php";
require_once"../template/gzip.php";
require_once"../template/header.php";
require_once"../template/referer.php";
include_once"../themes/$config_themes/index.php";
include_once"../template/isset.php";

echo'<img src="../images/img/partners.gif" alt=""> <b>Последние сообщения на форуме:</b><br><br>';

$suf = @file(BASEDIR."local/dataforumuser/$log.dat");
if ($suf!=""){
$lsf = explode(":||:",$suf[0]);}

if($config_forum_off=="1"){

if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!=""){

if($config_new_post=="1"){
if(!empty($lsf[2])){

if(!isset($action)){
$time=time();
$filtime=filemtime(BASEDIR."local/datatmp/newtopic.dat");
$userfile=file(BASEDIR."local/datatmp/newtopic.dat");
$user_count=count($userfile);

$filtime=$filtime+(60*5); //5-минутное индексирование

if($time>$filtime || $user_count<50){
$dir = opendir (BASEDIR."local/dataforum"); 
while ($file = readdir ($dir))
{if (( $file != ".") && ($file != "..") && ($file != "mainforum.dat") && ($file != "topic1.dat") && ($file != "topic2.dat")  && ($file != "topic3.dat") && ($file != "topic4.dat") && ($file != "topic5.dat") && ($file != "topic6.dat") && ($file != "topic7.dat") && ($file != "topic8.dat") && ($file != "topic9.dat") && ($file != "topic10.dat") && ($file != "topic11.dat") && ($file != "topic12.dat")) // эти файлы игнорируем
{$a[]=$file;}}
closedir ($dir);
$total = count($a); 

for ($i = 0; $i < $total; $i++){
$tex = file(BASEDIR."local/dataforum/$a[$i]");
$text1 = count($tex);
for ($z = 0; $z < $text1; $z++){
$data = explode("|",$tex[$z]);
if($data[9]!="CLOSED"){
$dat_uz[]=$data[0];
$dat_browz[]=$data[2];
$dat_name[]=$data[3];
$dat_mess[]=$data[4];
$dat_time[]=$data[9];
$dat_id[]=$data[7];
$dat_pod[]=$data[8]; }}}
arsort($dat_time);

clear_files(BASEDIR."local/datatmp/newtopic.dat");

foreach($dat_time as $k=>$v){
$fp = fopen(BASEDIR."local/datatmp/newtopic.dat","a+");
$dat_balls = $dat_uz[$k].'|'.$dat_browz[$k].'|'.$dat_name[$k].'|'.$dat_mess[$k].'|'.$dat_time[$k].'|'.$dat_id[$k].'|'.$dat_pod[$k].'|';
flock ($fp,LOCK_EX);
fputs($fp,"$dat_balls\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod ($fp, 0666); 
chmod (BASEDIR."local/datatmp/newtopic.dat", 0666);}}
/////////////////////////////////

//---Вывод из кэша---//
$file = file(BASEDIR."local/datatmp/newtopic.dat");
$total = count($file);
if ($start=="") {$start = 0;} 
if ($total < $start + $config_userlist){ $end = $total; }
else {$end = $start + $config_userlist; }
for ($i = $start; $i < $end; $i++){
$mainlines=file("../local/dataforum/mainforum.dat");
$ze=count($mainlines);
$data = explode("|",$file[$i]);
do {$ze--; $dt=explode("|", $mainlines[$ze]);
if ($dt[0]==$data[6]) {$frname=$dt[1];}
}while($ze >0);

//-----bb-code-------//
$data[1] = preg_replace('#\[quote=(.*?)\](.*?)\[/quote\]#si', '<font color="#333399"><u>\\1 пишет:</u><br><< <i>\\2</i> >></font><br>', $data[1]);

$data[3] = preg_replace('#\[cit\](.*?)\[/cit\]#si', '<br><div class="d"><i><< \1 >></i></div><br><b>Ответ:</b> ', $data[3]);

$data[3] = preg_replace('#\[big\](.*?)\[/big\]#si', '<big>\1</big>', $data[3]);

$data[3] = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $data[3]);

$data[3] = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $data[3]);

$data[3] = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $data[3]);

$data[3] = preg_replace('#\[del\](.*?)\[/del\]#si', '<del>\1</del>', $data[3]);

$data[3] = preg_replace('#\\[red\\](.*?)\\[/red\\]#si', '<font color="FF0000">\\1</font>', $data[3]);

$data[3] = preg_replace('#\\[green\\](.*?)\\[/green\\]#si', '<font color="00AF00">\\1</font>', $data[3]);

$data[3] = preg_replace('#\\[blue\\](.*?)\\[/blue\\]#si', '<font color="0000FF">\\1</font>', $data[3]);

$data[3] = preg_replace('#\\[yellow\\](.*?)\\[/yellow\\]#si', '<font color="ffaa13">\\1</font>', $data[3]);

$data[3] = preg_replace('#\\[gray\\](.*?)\\[/gray\\]#si', '<font color="8D8D8D">\\1</font>', $data[3]);

$data[3] = preg_replace('#\\[lblue\\](.*?)\\[/lblue\\]#si', '<font color="1CD1FF">\\1</font>', $data[3]);

$data[3] = preg_replace('#\\[orange\\](.*?)\\[/orange\\]#si', '<font color="FD8500">\\1</font>', $data[3]);

$data[3] = preg_replace('#\\[violet\\](.*?)\\[/violet\\]#si', '<font color="DE00EA">\\1</font>', $data[3]);

$data[3] = preg_replace('#\\[gblue\\](.*?)\\[/gblue\\]#si', '<font color="3396B7">\\1</font>', $data[3]);

$data[3] = preg_replace('#\[small\](.*?)\[/small\]#si', '<span class=\'small\'>\1</span>', $data[3]);

$data[3] = preg_replace('#\[code\](.*?)\[/code\]#si', '<div class=\'d\'><code style=\'white-space:wrap\'>\1<br></code></div>', $data[3]);

$data[3] = preg_replace('#\[quote=(.*?)\](.*?)\[/quote\]#si', '<font color="#ff9900"><u>\\1 пишет:</u><br>&#171; <i>\\2</i> &#187;</font><br>', $data[3]);

$data[3] = preg_replace_callback('~\\[url=(http://.+?)\\](.+?)\\[/url\\]|(http://(www.)?[0-9a-z\.-]+\.[a-z]{2,6}[0-9a-z/\?\.\~&amp;_=/%-:#]*)~', 'url_replace', $data[3]);

//---Вывод картинки---//
if (preg_match('#\[img=(.*?)\]\[/img\]#si',$data[3],$all_img)){

$link=$all_img[1];

if (eregi("\.jpg$",$link) || eregi("\.gif$",$link) || eregi("\.png$",$link)){

$info=getimagesize($link);
$sh=$info[0];
$vys=$info[1];

if ($sh > $vys && $sh >200){
$data[3]=preg_replace('#\[img=(.*?)\]\[/img\]#si' ,'<img width=200 src="\\1" alt="">',$data[3]); }

elseif ($vys > $sh && $vys >200){
$data[3]=preg_replace('#\[img=(.*?)\]\[/img\]#si' ,'<img height=200 src="\\1" alt="">',$data[3]);

} else {
$data[3]=preg_replace('#\[img=(.*?)\]\[/img\]#si' ,'<img src="\\1" alt="">',$data[3]); }
} else {
$data[3]=preg_replace('#\[img=(.*?)\]\[/img\]#si' ,'<b><font color="#ff2222">[\\1-это не картинка]</font></b>',$data[3]); }}

$data[1] = bb_code($data[1]);
//-----------------------------//

echo'<div class=b><img src="../images/img/forums.gif" alt=""> Раздел: <a href="index.php?fid='.$data[6].'&amp;'.SID.'">'.$frname.'</a><br>Тема: <a href="index.php?fid='.$data[6].'&amp;id='.$data[5].'&amp;'.SID.'">'.$data[2].'</a></div>';

echo'Пишет: <b><a href="../pages/anketa.php?uz='.$data[0].'&amp;'.SID.'">'.nickname($data[0]).'</a></b> '.user_online($data[0]); 
echo'<br>Дата: '.date("d.m.y/H:i:s", $data[4]);
echo'<div>Сообщение: '.$data[3].'<br><small><font color="#CC00CC">'.$data[1].' </font></small></div>';}

echo'<hr>'; 

if ($start != 0) {
echo'<a href="new.php?start='.($start - $config_userlist).'&amp;'.SID.'">&lt;-Назад</a>';
}else{
echo'&lt;-Назад';}
echo' | '; 
if ($total > $start + $config_userlist) {
echo'<a href="new.php?start='.($start + $config_userlist).'&amp;'.SID.'">Далее-&gt;</a>';
}else{
echo'Далее-&gt;';} 

if($total>0){

$ba=ceil($total/$config_userlist);
$ba2=$ba*$config_userlist-$config_userlist;

echo'<br><hr>Страницы: ';
$asd=$start-($config_userlist*4);
$asd2=$start+($config_userlist*5);

if($asd<$total && $asd>0){
echo' <a href="new.php?start=0&amp;'.SID.'">1</a> ... '; }

for($i=$asd; $i<$asd2;){
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_userlist);

if ($start==$i) {
echo' <b>'.$ii.'</b> ';
 } else {
echo' <a href="new.php?start='.$i.'&amp;'.SID.'">'.$ii.'</a> '; }}

$i=$i+$config_userlist;}
if($asd2<$total){echo' ... <a href="new.php?start='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}}}

}else{
echo'<center><font color="red">Показ последних сообщений на форуме отключен вами в личных настройках!!!</font></center>';}}

if($config_new_top=="0"){
echo'<center><font color="red">Показ последних сообщений на форуме отключен!!!</font></center>';}

}else{
echo'Вы не авторизованы для просмотра';}
}

if($config_forum_off=="0"){
echo'<center><font color="red">Форум сайта отключен!</font></center>';}

echo'<br><br><img src="../images/img/edit.gif" alt=""> <a href="index.php?'.SID.'">Форум</a>';

echo'<br><img src="../images/img/homepage.gif" alt=""> <a href="../index.php?'.SID.'">На главную</a>';

include_once"../themes/$config_themes/foot.php";
?>