View file library/lib.php

File size: 20.63Kb
<?php
#-----------------------------------------------------#
#          ********* WAP-MOTORS *********             #
#             Made by   :  VANTUZ                     #
#               E-mail  :  [email protected]             #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#-----------------------------------------------------#	
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";

require_once"../template/isset.php";

$text = file("../local/profil/$log.prof"); 
if ($text!=""){
$udata = explode(":||:",$text[0]);
$provlog=trim($udata[0]);
$provpar=trim($udata[1]);
$privat=trim($udata[10]);}

$did=$_GET['did']; $fid=$_GET['fid'];
if(!eregi("[^a-z0-9_@+-]",$did) && (!eregi("[^a-z0-9_@!+.-]",$fid))){	
$did=check($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/mail.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 '<img src="../images/img/partners.gif" alt=""> <b><font color="#FFFF00">Библиотека</font></b><br><br>';


$dir = opendir ($did); #открываем текущую директорию
while ($file = readdir ($dir)) 
{if (ereg(".txt$", $file)) // эти файлы не игнорируем
{$a[]=$file;}}   #записываем все что есть в массив
closedir ($dir);  #Закрываем 

	
sort($a);  #сортируем
$b=$a;

$lib_name=file_get_contents("$did/name.dat");

echo'<img src="../images/img/opendir.gif" alt=""> <b>'.$lib_name.'</b><br><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);  //Сколько статью считать новым сейчас уст. на 5 суток
$ttime=time();

echo"</div><div class=b>";

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



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

echo'<a href="lib.php?action=count&amp;did='.$did.'&amp;fid='.$b[$i].'&amp;'.SID.'">'.$st_name[0].'</a> ('.$stranicy_lib.' стр.)<br>';


$te = file("../local/datalib/$b[$i].dat"); 
$u = explode("|",$te[0]);
if($u[0]==""){$u[0]="0";}
echo '</div><div>Прочитали: '.(int)$u[0];

$tit=round($u[2]/$u[1]/2,1);
if($u[1]==""){$u[1]="0";}
echo '<br>Оценка: '.$tit.'/<b>'.$u[1].'</b>';

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

echo'<hr>';  

 

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


if($total>0){

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

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

if($asd<$total && $asd>0){echo ' <a href="lib.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="lib.php?start='.$i.'&amp;did='.$did.'&amp;'.SID.'">'.$ii.'</a>';
                     }}


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

echo '<br><br>Всего статей: '.$total.'<br>';




}else{
echo'Произошла ошибка! Не выбрана категория';}
}


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

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

unset($_SESSION['votus']);

if(file("../local/datalib/$fid.dat")){
if(file ("$did/$fid")){
	
$f = file("../local/datalib/$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/datalib/$fid.dat");
$fp=fopen("../local/datalib/$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/datalib/$fid.dat", 0777);       
$ocenka2=round($ocenka/2);
echo'<br>Спасибо ваша оценка: <b>"'.$ocenka2.'"</b> принята<br>';  
 
$_SESSION['votus']=$fid;

$te = file("../local/datalib/$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="lib.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="lib.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 (!$log=="" && !md5($par)=="" && md5($par)==$provpar && $log==$provlog ){
	
$st_name=file("$did/$fid");
	
echo'<img src="../images/img/messages.gif" alt=""> Комментарии к статье '.$st_name[0].'<br><br>';

if($config_themes!=="wml"){	
echo'<form action="lib.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>';

}else{

echo'<br>Сообщение:<br>';
echo'<input name="msg" /><br>';

if($config_translit=="1"){
echo'Транслит: <select name="trans"><option value="0">Нет</option>';
echo'<option value="y">Да</option>';
echo'</select><br>';}

echo'<anchor>Написать';
echo'<go href="lib.php?action=addkomm&amp;fid='.$fid.'&amp;did='.$did.'&amp;'.SID.'" method="post">';
echo'<postfield name="msg" value="$(msg)"/>';
echo'<postfield name="trans" value="$(trans)"/>';
echo'</go></anchor><br>--------------------<br>';
}
}else{
echo'Вы не авторизованы,<br> для добавления сообщения необходимо <a href="../pages/vhod.php?'.SID.'"> авторизоваться</a><br> или сперва <a href="../pages/registration.php?'.SID.'"> зарегистрироваться</a><br>'; }

$file = file("../local/datalib/$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><div class=b> ';
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/edit.gif" alt=""> <b><a href="../pages/anketa.php?uz='.$data[3].'&amp;'.SID.'"> '.$data[3].' </a></b> '.$statwho;}		
	
echo'<small> ('.$data[2].' - '.$data[1].')</small></div><div>'.$data[0].'<br>'; 

}
echo'<hr>';
if ($start != 0) {echo '<a href="lib.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="lib.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="lib.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="lib.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="lib.php?action=komm&amp;did='.$did.'&amp;fid='.$fid.'&amp;start='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}
}
}




//------------------------------- Запись комментариев ---------------------------------// 
if($action=="addkomm"){

$str=strlen($msg);
if($msg!="" && $str>6){
if(file("../local/datalib/$fid.dat")){


//--------------------- Новый антифлуд -----------------------------//
if($config_floodstime > 0){
if(flooder($ip, $php_self) == TRUE ){header ("Location: lib.php?action=komm&did=$did&fid=$fid&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);   
}


if ($_SESSION['log']!="" && md5($_SESSION['par'])!="" && md5($_SESSION['par'])==$provpar && $_SESSION['log']==$provlog ) {
$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/datalib/$fid.dat");
$total = count($file);
$total = $total - 1;

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

$fp=fopen("../local/datalib/$fid.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);
fclose($fp);
chmod("$fp", 0777);
chmod("../local/datalib/$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/datalib/$fid.dat"); $i = count($file);
if ($i>=$config_maxpostdown) {
$fp=fopen("../local/datalib/$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/datalib/$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: lib.php?action=komm&did=$did&fid=$fid&".SID); 

}else{echo'Вы не можете комментировать т.к. никто еще не читал статью';}
}else{echo'Вы не написали комментарий или он слишком короткий'; }


echo'<br><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)){ 

////////////////////////////

$opis = file("$did/$fid");
$total =count($opis);

echo '<b>'.$opis[0].'</b><br><br>';



if (empty($_GET['start'])) $start = 1;
else $start = $_GET['start'];
if ($total < $start + $config_libpost){ $end = $total; }
else {$end = $start + $config_libpost; }
for ($i = $start; $i < $end; $i++){


echo check($opis[$i]).'<br>';

}

echo'<hr>'; 
if ($start != 1) {echo '<a href="lib.php?start='.($start - $config_libpost).'&amp;action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">&lt;-Назад </a> ';}else{echo'&lt;-Назад ';}
echo'|'; 
if ($total > $start + $config_libpost) {echo ' <a href="lib.php?start='.($start + $config_libpost).'&amp;action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'"> Далее-&gt;</a>';}else{echo' Далее-&gt;';}

if($total>0){

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

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

if($asd<$total && $asd>0){echo ' <a href="lib.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="lib.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="lib.php?start='.$ba2.'&amp;action=ob&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">'.$ba.'</a>';}
}



//////////////////////////////////////



//$siz= filesize("$did/$fid"); 
//$siz= round($siz/1024,2);

echo'<hr>';

$te = file("../local/datalib/$fid.dat"); 
$u = explode("|",$te[0]);
if($u[0]==""){$u[0]="0";}
$file = @file("../local/datalib/$fid.dat");
$total = count($file);
$total = $total - 1;

$data1 = explode("|",$file[$total]);
if (!ctype_digit($data1[4])){$data1[4]="0";}
echo'<br><img src="../images/img/files.gif" alt="">';
echo' <b><a href="lib.php?action=komm&amp;did='.$did.'&amp;fid='.$fid.'&amp;'.SID.'">Комментарии</a> ('.$data1[4].')</b><br>';

echo'<img src="../images/img/search.gif" alt=""><b> Прочитали: '.$u[0].'</b><br>';

$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'<br>Оценить ';

if($config_themes!=="wml"){
echo'<form action="lib.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="Oценить" /></form><hr>';

}else{

echo'<br><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><br>';

echo'<anchor>Oценить';
echo'<go href="lib.php?action=vote&amp;fid='.$fid.'&amp;did='.$did.'&amp;'.SID.'" method="post">';
echo'<postfield name="ocenka" value="$(ocenka)"/>';
echo'</go></anchor>';

}
}else{
echo'Произошла ошибка! Не выбрана категория или статья<br>'; 
}
echo'<br><img src="../images/img/back.gif" alt=""> <a href="lib.php?did='.$did.'&amp;'.SID.'">Вернуться</a>'; 
}

}else{echo'Пашшол нахуй!';} 

echo'<br><img src="../images/img/panel.gif" alt=""> <a href="index.php?'.SID.'">К категориям</a><br>';	
echo'<img src="../images/img/homepage.gif" alt=""> <a href="../index.php?'.SID.'">На главную</a>';
include_once"../themes/$config_themes/foot.php";
?>