View file lj/lj.php

File size: 19.96Kb
<?php	
require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.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";

require_once"../template/ljfun.php";

$did=$_GET['did']; $fid=$_GET['fid'];
if(!eregi("[^a-z0-9_@+-]",$did) && (!eregi("[^a-z0-9_@!+.-]",$fid))){	
$did=check($did);
$did=(int)$did;
$fid=check($fid);
if (!$_SESSION['log']=="" && !md5($_SESSION['par'])=="" && md5($_SESSION['par'])==$provpar && $_SESSION['log']==$provlog ) {
if($udata[10]>0){
echo'<img src="../images/img/act1.gif" alt=""> <b><a href="../pages/privat.php?'.SID.'"><font color="red">Приватное сообщение! ('.$privat.')</font></a></b><br>';}}

$date=date("d.m.y");
$time=date("H:i"); 

//--------------------------------------- Основная -----------------------------------//
if(!isset($action)){
if(!empty($did)){
echo '<b><font color="#00DF00">Живой журнал </font><br>&nbsp;&nbsp;<font color="red">'.$config_title.$my_title.'</font></b><br>';
$dir = opendir ($did); #открываем текущую директорию
while ($file = readdir ($dir)) 
{if (ereg(".txt$", $file)) // эти файлы не игнорируем
{$a[]=$file;
$atime[]=filemtime("$did/$file");}}   #записываем все что есть в массив
closedir ($dir);  #Закрываем 
arsort($atime);
foreach($atime as $k=>$v){$arr_a[]=$a[$k];}
$a=$arr_a;
$b=$a;
$lib_name=file_get_contents("$did/name.dat");
echo'<img src="../images/img/dot2.gif" alt=""> <b>'.$lib_name.'</b><br>';
if ($dostup==101 || $dostup==102 || $dostup==103){
echo '<img src="../images/img/panel.gif" alt=""> <a href="../'.$config_mpanel.'/lj.php?'.SID.'">Админка</a><br>';}  


$total = count($a); #считаем 
if($a!=""){
if (empty($_GET['start'])) $start = 0; # для вывода
else $start = $_GET['start'];
if ($total < $start + $config_liblist){ $end = $total; }
else {$end = $start + $config_liblist; }
for ($i = $start; $i < $end; $i++){ 
$siz= file("$did/$b[$i]");  
$count_lib= count($siz);
$stranicy_lib=ceil($count_lib/$config_libpost);
if($stranicy_lib==0){$stranicy_lib=1;}

$filtime=filemtime ("$did/$b[$i]"); 
$filtime=$filtime+(3600*24*5);  //Сколько статью считать новым сейчас уст. на 7 суток
$ttime=time();

echo'<div class="a">'; //// Див

if($filtime>=$ttime){echo'<img src="../images/img/new.gif" alt=""> ';}else{
echo'<img src="../images/img/news.gif" alt=""> ';} 



$st_name=file("$did/$a[$i]");

echo'<a href="lj.php?action=count&amp;did='.$did.'&amp;fid='.$b[$i].'&amp;'.SID.'">'.$st_name[0].'</a> ('.$stranicy_lib.' стр.)<br></div>';
##########################################
$tex = file("$did/$a[$i]");
$data = explode(":||:",$tex[0]);
echo ''.$tex[2].'';
echo '<br>'.$tex[3].'';
###########################################
$te = file("../local/datalj/$b[$i].dat"); 
$u = explode("|",$te[0]);
if($u[0]==""){$u[0]="0";}
echo '<br>Прочитали: '.(int)$u[0];

$tit=round($u[2]/$u[1]/2,1);
if($u[1]==""){$u[1]="0";}
echo '<br>Оценка: '.$tit.'/<b>'.$u[1].'</b><br>';
$filev = file("../local/datalj/$b[$i].dat");
$totalv = count($filev);
$totalv = $totalv - 1;
$data1 = explode("|",$filev[$totalv]);
if (!ctype_digit($data1[5])){$data1[5]="0";}
if($lj_kom==1){
echo'<a href="lj.php?action=komm&amp;did='.$did.'&amp;fid='.$b[$i].'&amp;'.SID.'">Комментарии</a> ('.$data1[5].')<br><br>';}
}
}else{echo'В данной категории нет статей!<br>'; $total=0;}

if($total>0){
$ba=ceil($total/$config_liblist);
$ba2=$ba*$config_liblist-$config_liblist;
echo '<div class="b">Страницы:';
$asd=$start-($config_liblist*3);
$asd2=$start+($config_liblist*4);
if($asd<$total && $asd>0){echo ' <a href="lj.php?start=0&amp;did='.$did.'&amp;'.SID.'">1</a> ... ';}
for($i=$asd; $i<$asd2;){
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_liblist);
if ($start==$i) {
echo ' <b>'.$ii.'</b>';
}else {
echo ' <a href="lj.php?start='.$i.'&amp;did='.$did.'&amp;'.SID.'">'.$ii.'</a>';
}}
$i=$i+$config_liblist;}
if($asd2<$total){echo ' ... <a href="lj.php?start='.$ba2.'&amp;did='.$did.'&amp;'.SID.'">'.$ba.'</a>';}}
echo '</div><br>Всего статей: '.$total.'<br>';
}else{
echo'Произошла ошибка! Не выбрана категория';}}


//-------------------------------- Cчетчик ---------------------------------------------//
if($action=="count"){
if(!empty($did) && !empty($fid)){
if(@file ("$did/$fid"))
{
header("location: lj.php?action=ob&did=$did&fid=$fid&".SID); 
$f = @file("../local/datalj/$fid.dat"); 
$u = explode("|",$f[0]);
$g=trim($u[0]+1);
$t=$g.'|'.$u[1].'|'.$u[2].'|'.$currDate.' ('.$currTime2.')|'.$did.'|0|';
$t=preg_replace ("|[\r\n]+|si","",$t);
$rd=0;  
$file=file("../local/datalj/$fid.dat");
$fp=fopen("../local/datalj/$fid.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
for ($i=0;$i< sizeof($file);$i++) {if ($rd!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$t\r\n");}}
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod ($fp, 0777);
chmod ("../local/datalj/$fid.dat", 0777);          
}else{$resultus='<br>Ошибка, невозможно найти требуемую вами статью '.$did.'/'.$fid.'<br>';}
}else{$resultus='<br>Отсутствуют важные данные<br>';}
} 

echo $resultus;
//////////////////////////////////////////////////////////////////
//Запись и вывод рейтинга
if($action=="vote"){
if($lj_gol==1){
if (!$log=="" && !md5($par)=="" && md5($par)==$provpar && $log==$provlog ){	
if($_SESSION[votus]!=$fid){

unset($_SESSION['votus']);

if(file("../local/datalj/$fid.dat")){
if(file ("$did/$fid")){
	
$f = file("../local/datalj/$fid.dat"); 
$u = explode("|",$f[0]);
$g=trim($u[1]+1);
$g2=trim($u[2]+$ocenka);
$t= $u[0].'|'.$g.'|'.$g2.'|'.$u[3].'|'.$u[4].'|';
$t=preg_replace ("|[\r\n]+|si","",$t);

$rd=0;  
$file=file("../local/datalj/$fid.dat");
$fp=fopen("../local/datalj/$fid.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
for ($i=0;$i< sizeof($file);$i++) {if ($rd!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$t\r\n");}}
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod ($fp, 0777);
chmod ("../local/datalj/$fid.dat", 0777);       
$ocenka2=round($ocenka/2);
echo'<br>Спасибо ваша оценка: <b>"'.$ocenka2.'"</b> принята<br>';  
 
$_SESSION['votus']=$fid;

$te = file("../local/datalj/$fid.dat"); 
$u = explode("|",$te[0]);
$tit=round($u[2]/$u[1]/2,1);
echo 'Всего оценивало: '.$u[1].'<br>';
echo 'Средняя оценка: '.$tit.'<br>';
echo'<br><br><a href="lj.php?action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">К статье</a>';

} else { echo '<br>Ошибка, невозможно открыть требуемую вам статью <br>';}

} else { echo 'Вы не можете оценивать т.к. никто еще не читал статью ';
echo'<br><br><a href="?action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">К статье</a>';
}

}else{ echo'Вы уже оценили эту статью !'; 
echo'<br><br><a href="lj.php?action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">Вернуться к описанию</a>';
}
}else{
echo'Вы не авторизованы,<br> для того, чтобы дать оценку необходимо <a href="../pages/vhod.php?'.SID.'"> авторизоваться</a><br> или сперва <a href="../pages/registration.php?'.SID.'"> зарегистрироваться</a><br>';
echo'<br><br><a href="?action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">Вернуться к статье</a>';
}
}}

// ------------------------------------- Вывод камментов ---------------------------------//

if($action=="komm"){
if($lj_kom==1){
if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!=""){
$st_name=file("$did/$fid");
echo'<img src="../images/img/dot.gif" alt=""> Комментарии к статье '.$st_name[0].'<br><br>';

echo'<form action="lj.php?action=addkomm&amp;fid='.$fid.'&amp;did='.$did.'&amp;'.SID.'" method="post">';
echo'<b>Сообщение:</b><br>';
echo'<textarea cols="25" rows="3" name="msg"></textarea><br>';

if($config_translit=="1"){
echo'Транслит: <input name="trans" type="checkbox" value="y" /><br>';}
echo'<input type="submit" value="Написать" /></form><hr>';}	
elseif($lj_kommg==1){		
$st_name=file("$did/$fid");
echo'<img src="../images/img/dot.gif" alt=""> Комментарии к статье '.$st_name[0].'<br><br>';

echo'<form action="lj.php?action=addkomm&amp;fid='.$fid.'&amp;did='.$did.'&amp;'.SID.'" method="post">';
echo'<b>Сообщение:</b><br>';
echo'<textarea cols="25" rows="3" name="msg"></textarea><br>';

if($config_translit=="1"){
echo'Транслит: <input name="trans" type="checkbox" value="y" /><br>';}
echo'<input type="submit" value="Написать" /></form><hr>';
}

$file = file("../local/datalj/$fid.dat");
$file = array_reverse($file);
$total = count($file)-1;    
if (empty($_GET['start'])) $start = 0;
else $start = $_GET['start'];
if ($total < $start + $config_postdown){ $end = $total; }
else {$end = $start + $config_postdown;}
for ($i = $start; $i < $end; $i++){


$data = explode("|",$file[$i]);
$i2=round($i+1);

/////////////////////////////  онлайнер /////////////////////////////////
$statwho='<font color="red">[Off]</font>';
  $sublines=file("../local/online.dat"); 
$subcount=count($sublines);
for ($b=0; $b<$subcount; $b++) {$dt=explode("#",$sublines[$b]); if ($data[3]==$dt[2]) 
{$statwho='<font color="#00FF00">[On]</font>';}}
///////////////////////////////////////////////////////////////

$ava = @file("../local/profil/$data[3].prof"); 
$avv = explode(":||:",$ava[0]);
##########################################################################################################
$data[0]=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/%]*(\\?[[:alnum:]?+&_=/%]*)?)?)", "<a href='\\1'>\\1</a>", $data[0]);
$data[5]=preg_replace ("|[\r\n]+|si","",$data[5]);

###########################################################################################################
echo'<div class="b"> ';
if($data[3]!==$config_guestsuser){
if(!empty($udata[45])){
if($avv[43]!="" && $avv[43]!="noavatar.gif"){
echo'<img src="../'.$avv[43].'" alt=""> ';}else{
echo'<img src="../images/avators/noavatar.gif" alt=""> '; }
	
echo'<b><a href="../pages/anketa.php?uz='.$data[3].'&amp;'.SID.'"> '.$data[3].' </a></b> '.$statwho; }
else{echo'<img src="../images/img/dot.gif" alt=""> <b><a href="../pages/anketa.php?uz='.$data[3].'&amp;'.SID.'"> '.$data[3].' </a></b> '.$statwho;}}else{echo '<img src="../images/img/dot.gif" alt=""> '.$config_guestsuser;}		
	
echo'<small> ('.$data[2].' - '.$data[1].')</small></div><div>'.$data[0].'</div>'; 

}
echo'<hr>';
if ($start != 0) {echo '<a href="lj.php?action=komm&amp;did='.$did.'&amp;fid='.$fid.'&amp;start='.($start - $config_postdown).'&amp;'.SID.'">&lt;-Назад |</a> ';}else{echo'&lt;-Назад |';}

if ($total > $start + $config_postdown) {echo ' <a href="lj.php?action=komm&amp;did='.$did.'&amp;fid='.$fid.'&amp;start='.($start + $config_postdown).'&amp;'.SID.'">| Далее-&gt;</a>';}else{echo'| Далее-&gt;';}


if($total>0){

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

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

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

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

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


$i=$i+$config_postdown;}
if($asd2<$total){echo ' ... <a href="lj.php?action=komm&amp;did='.$did.'&amp;fid='.$fid.'&amp;start='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}
}}else'Коментарии запрещенны администратором!<br>';
}




//------------------------------- Запись комментариев ---------------------------------// 
if($action=="addkomm"){
if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!=""){
$nam=$log;
}else{
if($lj_kommg=="1"){$nam=$config_guestsuser;}}	
if (isset ($_GET['msg'])){header ("Location: index.php?isset=posts&".SID); exit;}
if($lj_kom==1){
$str=strlen($msg);
if($msg!="" && $nam!="" && $str>6){
$msg=check($msg);
if(file("../local/datalj/$fid.dat")){


//--------------------- Новый антифлуд -----------------------------//
if($config_floodstime > 0){
if(flooder($ip, $php_self) == TRUE ){header ("Location: index.php?isset=antiflood&".SID); exit;}
$flood_file = fopen(BASEDIR."local/flood.dat", "a+");
flock ($flood_file,LOCK_EX);
fputs ($flood_file, time()."|$ip|$php_self|\r\n");
fflush($flood_file);
flock ($flood_file,LOCK_UN);
fclose($flood_file);   
}
$msg=wordwrap($msg,100,' ',1);
$msg=substr($msg,0,1000);
$msg=check($msg);
if($trans=="y"){$msg=transliter($msg);}
$msg = antimat($msg);
$msg = smiles($msg);

$file = @file("../local/datalj/$fid.dat");
$total = count($file);
$total = $total - 1;

$data1 = explode("|",$file[$total]);
$me=$data1[5]+1;
$text=$msg.'|'.$date.'|'.$time.'|'.$nam.'||'.$me.'|';
$text=preg_replace ("|[\r\n]+|si","",$text);

$fp=fopen("../local/datalj/$fid.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);
fclose($fp);
chmod("$fp", 0777);
chmod("../local/datalj/$fid.dat", 0777);

/////////////////////////////////////
$f = file("../local/local.dat"); 
$u = explode("|",$f[0]);
$u[6]++;
$t=$u[0].'|'.$u[1].'|'.$u[2].'|'.$u[3].'|'.$u[4].'|'.$u[5].'|'.$u[6].'|'.$u[7].'|'.$u[8].'|'.$u[9].'|'.$u[10].'|';

$fp = fopen("../local/local.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
fputs($fp,$t);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
///////////////////////////

$file=file("../local/datalj/$fid.dat"); $i = count($file);
if ($i>=$config_maxpostdown) {
$fp=fopen("../local/datalj/$fid.dat","w");
flock ($fp,LOCK_EX);
unset($file[1]);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod("$fp", 0777);
chmod("../local/datalj/$fid.dat", 0777);}
//------------------------------ Запись в профиль ----------------------------//
$ufile = file(BASEDIR."local/profil/$log.prof"); 
$udata = explode(":||:",$ufile[0]);
$udata[14]=$ip;
$udata[33]++;
$udata[36]++;
$udata[41]++;
for ($u=0; $u<$config_userprofkey; $u++){
$utext.=$udata[$u].':||:';}
if($udata[0]!="" && $udata[1]!="" && $udata[4]!="" && $utext!=""){
$fp=fopen(BASEDIR."local/profil/$log.prof","a+");
flock($fp,LOCK_EX);   
ftruncate($fp,0);                                                                 
fputs($fp,$utext);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);  
unset($utext);
}
header("location: lj.php?action=komm&did=$did&fid=$fid&".SID); 

}else{echo'Вы не можете комментировать т.к. никто еще не читал статью';}
}else{echo'Вы не написали комментарий или он слишком короткий'; }
echo'<br/><a href="?action=komm&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">Вернуться к комментариям</a>';
echo'<br/><a href="?action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">Вернуться к описанию</a>';
}}

if($action=="ob"){
if(!empty($did)  && !empty($fid)){ 
if($lj_cht==0){
if ($udata[0]=="" && $udata[1]=="") { echo'<b>Чтение гостям запрещенно АДМИНИСТРАТОРОМ!!!<br>Авторизируйся и заходи!</b><li><a href="../index.php">Главная</a></li>';include_once"../themes/$config_themes/foot.php"; exit;}}
$opis = file("$did/$fid");
$total =count($opis);

echo '<font color="red"><b>'.$opis[0].'</b></font><br>'.$opis[2].'<br>'.$opis[3].'<hr>';
if (empty($_GET['start'])) $start = 5;
else $start = $_GET['start'];
if ($total < $start + $config_libpost){ $end = $total; }
else {$end = $start + $config_libpost; }
for ($i = $start; $i < $end; $i++){
if (!empty($opis[$i])){   
$opis[$i]=str_replace ("&lt;br&gt;","\r\n",$opis[$i]);
$opis[$i]=str_replace ("<br>","\r\n",$opis[$i]);
$opis[$i]=str_replace ("\r\n","<br>",$opis[$i]);

$al.=$opis[$i];	}}
echo bb_code($al);
echo '</div> <br>';
if($total>0){
$ba=ceil($total/$config_libpost);
$ba2=$ba*$config_libpost-$config_libpost;
echo '<div class="b">Страницы:';
$asd=$start-($config_libpost*4);
$asd2=$start+($config_libpost*5);
if($asd<$total && $asd>0){echo ' <a href="lj.php?start=0&amp;action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">1</a> ... ';}
for($i=$asd; $i<$asd2;){
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_libpost);
if ($start==$i) {
echo ' <b>'.$ii.'</b>';}else {
echo ' <a href="lj.php?start='.$i.'&amp;action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">'.$ii.'</a>';}}
$i=$i+$config_libpost;}
if($asd2<$total){echo ' ... <a href="lj.php?start='.$ba2.'&amp;action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">'.$ba.'</a>';}}

echo'</div>';
$opis[2]=str_replace (" ","",$opis[2]);
$opis[2]=str_replace ("Автор:","",$opis[2]);
if ($lj_admin==1){
if ($dostup==101 || $dostup==102 || $dostup==103){
echo"<form action=\"../$config_mpanel/ljfile.php?action=index&numkat=$did&namefile[0]=$fid&chel=$opis[2]\" method=\"post\">";
 echo'<font color="red">Админ-ние:</font><br> <select name="deifile" title="select">
              <option value="3">Редактировать</option>
              <option value="4">Удалить</option>
              </select>';
              echo'<br><input type="submit" name="anti" value="Выполнить">';}}
$te = file("../local/datalj/$fid.dat"); 
$u = explode("|",$te[0]);
if($u[0]==""){$u[0]="0";}
$file = @file("../local/datalj/$fid.dat");
$total = count($file);
$total = $total - 1;

$data1 = explode("|",$file[$total]);
if (!ctype_digit($data1[5])){$data1[5]="0";}
if($lj_kom==1){	echo'<br/><img src="../images/img/dot.gif" alt="">';

echo' <b><a href="lj.php?action=komm&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">Комментарии</a> ('.$data1[5].')</b><br>';}
echo'<img src="../images/img/dot.gif" alt=""><b> Прочитали: '.$u[0].'</b><br>';
if($lj_gol==1){
$tit=round($u[2]/$u[1]/2,1);
if($u[1]==""){$u[1]="0";}
echo '<br>Оценка: '.raiting_vote($tit).'<br>';
echo 'Всего оценок: <b>'.$u[1].'</b><br>';

echo'<form action="lj.php?action=vote&amp;fid='.$fid.'&amp;did='.$did.'&amp;'.SID.'" method="post" name="vote">';
echo'<select name="ocenka">';
echo'<option value="10">Отлично</option>';
echo'<option value="8">Хорошо</option>';
echo'<option value="6">Нормально</option>';
echo'<option value="4">Плохо</option>';
echo'<option value="2">Отстой</option>';
echo'</select>';
echo'<input type="submit" value="Ok"/></form><hr>';}
}else{
echo'Произошла ошибка! Не выбрана категория или статья<br>';}
echo'<img src="../images/img/dot.gif" alt=""> <a href="lj.php?did='.$did.'&amp;'.SID.'">Вернуться</a>'; }
}else{echo'Пашшол нахуй!';} 
echo'<br><img src="../images/img/dot.gif" alt=""> <a href="index.php?'.SID.'">К категориям</a><br>';	
echo'<img src="../images/img/homepage.gif" alt=""> <a href="../index.php?'.SID.'">На главную</a><br/>';

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