View file lib/index.php

File size: 12.92Kb
<?php
#Made By: AngelOfFaith
#ICQ: 410755038
#Email: [email protected]
#Url: http://coder-lib.ru
#Все права на скрипт принадлежат автору! Тоесть мне! Скрипт запрещено распространять и/или продавать без согласия автора!
require_once('inc/fnc.php');
require_once('inc/db.php');
require_once('../sys/system.php');




$act=bug($_GET['act']);
whereis($udata['name'],'Библиотека');

switch ($act){
////////////////////////Выводим разделы///////////////////////
default:
$TIT='Библиотека';
require_once('inc/head.php');
$x=mysql_query("SELECT * FROM `l_razd` ORDER BY `r_id`");
$adm=($udata['level']==7) ? '<br/><a href="'.BASE.ACP.'?act=addlibrazd">Добавить раздела</a><br/>' : '';
if(!mysql_num_rows($x)){textwrite('Разделы пока не созданы!'.$adm);break;};
$arrdata=array();
while($row=mysql_fetch_assoc($x)){
$arrdata[]=$row;
};
$total=mysql_result(mysql_query("SELECT count(*) FROM `l_stat`"),0);
$smarty->assign('DATA',$arrdata);
$smarty->assign('total',$total);
break;


////////////////Выводим категории в разделе///////////////////
case 'r':
$id=intval($_GET['id']);
if(!$id){require_once('inc/head.php');textwrite('Пустые параметры!');break;};
$tl=mysql_query("SELECT `r_name` FROM `l_razd` WHERE `r_id`='$id'");
if(!mysql_num_rows($tl)){require_once('inc/head.php');textwrite('Такого раздела не существует!');break;};
$tl=mysql_fetch_assoc($tl);
$TITLE='Библиотека | '.$tl['r_name'];
$TIT='Библиотека -> '.$tl['r_name'];
require_once('inc/head.php');
$smarty->assign('id',$id);

$x=mysql_query("SELECT * FROM `l_kateg` WHERE `r_id`='$id' ORDER BY `k_id`");
$adm=($udata['level']==7) ? '<br/><a href="'.BASE.ACP.'?act=addlibkat&amp;id='.$id.'">Добавить категорию</a>' : '';
if(!mysql_num_rows($x)){textwrite('Раздел пустой!'.$adm);break;};
$arrdata=array();
$totalstat=array();
while($row=mysql_fetch_assoc($x)){
$arrdata[]=$row;
$totalstat[]=mysql_result(mysql_query("SELECT count(*) FROM `l_stat` WHERE `k_id`='".$row['k_id']."'"),0);
};
$smarty->assign('DATA',$arrdata);
$smarty->assign('totalstat',$totalstat);
break;


///////////////////Выводим статьи в разделе///////////////////
case 'k':
$id=intval($_GET['id']);
if(!$id){require_once('inc/head.php');textwrite('Пустые параметры!');break;};
$tl=mysql_query("SELECT `k_name`,`r_id` FROM `l_kateg` WHERE `k_id`='$id'");
if(!mysql_num_rows($tl)){require_once('inc/head.php');textwrite('Такой категории не существует!');break;};
$tl=mysql_fetch_assoc($tl);
$TITLE='Библиотека | '.$tl['k_name'];
$TIT='Библиотека -> '.$tl['k_name'];
require_once('inc/head.php');
$smarty->assign('id',$id);
$smarty->assign('rid',$tl['r_id']);

$sort=bug($_GET['sort']);
if(!$sort){$sort='name';};
if($sort=='name'){$sorted='s_name ASC';};
if($sort=='date'){$sorted='s_id DESC';};
if($sort=='reit'){$sorted='s_reit DESC';};
if($sort=='read'){$sorted='s_read DESC';};
$num=mysql_result(mysql_query("SELECT count(*) FROM `l_stat` WHERE `k_id`='$id'"),0);
$adm=($udata['level']==4 || $udata['level']==7) ? '<br/><a href="'.BASE.ACP.'?act=addlibstat&amp;id='.$id.'">Добавить статью</a>' : '';
if(!$num){textwrite('Пусто!'.$adm);break;};
$allpage=ceil($num/$onpage);
if($page>$allpage){$page=$allpage;};
$start=($page-1)*$onpage;
$x=mysql_query("SELECT * FROM `l_stat` WHERE `k_id`='$id' ORDER BY $sorted LIMIT $start,$onpage");
$arrdata=array();
$komm=array();
while($row=mysql_fetch_assoc($x)){
$arrdata[]=$row;
$komm[]=mysql_result(mysql_query("SELECT count(*) FROM `l_komm` WHERE `s_id`='".$row['s_id']."'"),0);
};
pagenavig($allpage,$page,'act=k&amp;id='.$id.'&amp;sort='.$sort);
$smarty->assign('DATA',$arrdata);
$smarty->assign('komm',$komm);
break;


///////////////////Выводим саму статью///////////////////////
case 's':
$id=intval($_GET['id']);
if(!$id){require_once('inc/head.php');textwrite('Пустые параметры!');break;};

$tl=mysql_query("SELECT `s_stat`,`s_name`,`k_id` FROM `l_stat` WHERE `s_id`='$id'");
if(!mysql_num_rows($tl)){require_once('inc/head.php');echo 'Статьи не существует!<br/>';break;};
$tl=mysql_fetch_assoc($tl);
$TITLE='Библиотека | '.$tl['s_name'];
$TIT=$tl['s_name'];
require_once('inc/head.php');

if($page==1){mysql_query("UPDATE `l_stat` SET `s_read`=`s_read`+1 WHERE `s_id`='$id'");};

$onpage=$onpage*10;
$text=str_replace("\n",'<br/>',$tl['s_stat']);
$file=explode(' ',$text);
$num=count($file);
$allpage=ceil($num/$onpage);
$start=($page-1)*$onpage;
$end=$start+$onpage;
if($end>$num){$end=$num;};
$text='';
for($i=$start;$i<$end;$i++){
$text.=str_replace('&lt;br/&gt;','<br/>',htmlspecialchars($file[$i])).' ';
};
pagenavig($allpage,$page,'act=s&amp;id='.$id);
$smarty->assign('text',str_replace('&lt;br/&gt;','<br/>',htmlspecialchars($text)));
$smarty->assign('kid',$tl['k_id']);
break;


/////////////////////////Сортировка//////////////////////////////
case 'top':
$TITLE='Библиотека | Лучшие статьи';
$TIT='Лучшие статьи';
require_once('inc/head.php');

$order=bug($_GET['order']);
$smarty->assign('order',$order);
if(!empty($order)){
if($order=='new'){$by='s_id DESC';$slog='новых';}
elseif($order=='read'){$by='s_read DESC';$slog='читаемых';}
else{$by='s_reit DESC';$slog='рейтинговых';};
$smarty->assign('slog',$slog);
$x=mysql_query("SELECT * FROM `l_stat` ORDER BY $by  LIMIT 25");
if(!mysql_num_rows($x)){textwrite('Нет статей');break;};
$arrdata=array();
$katname=array();
$razdname=array();
$komm=array();
while($row=mysql_fetch_assoc($x)){
$arrdata[]=$row;
$kname=mysql_query("SELECT * FROM `l_kateg` WHERE `k_id`='".$row['k_id']."'");
$kname=mysql_fetch_assoc($kname);
$katname[]=$kname;
$rname=mysql_query("SELECT * FROM `l_razd` WHERE `r_id`='".$kname['r_id']."'");
$razdname[]=mysql_fetch_assoc($rname);
$komm[]=mysql_result(mysql_query("SELECT count(*) FROM `l_komm` WHERE s_id='".$row['s_id']."'"),0);
};
$smarty->assign('DATA',$arrdata);
$smarty->assign('katname',$katname);
$smarty->assign('razdname',$razdname);
$smarty->assign('komm',$komm);
};
break;


////////////////////Вывод коментариев////////////////////////////
case 'komm':
whereis($udata['name'],'Коментарии библиотеки');
$sid=bug($_GET['sid']);
if(!$sid || $sid<0){require_once('inc/head.php');echo 'Пустые параметры!<br/>';break;};
$tl=mysql_query("SELECT `s_name` FROM `l_stat` WHERE `s_id`='$sid'");
if(!mysql_num_rows($tl)){require_once('inc/head.php');echo 'Статьи не существует!<br/>';break;};
$tl=mysql_fetch_assoc($tl);

$TITLE='Библиотека | Коментарии к статье: '.$tl['s_name'];
$TIT='Комментарии';
require_once('inc/head.php');
$_SESSION['code']=rand(1111,9999);
$num=mysql_result(mysql_query("SELECT count(*) FROM `l_komm` WHERE `s_id`='$sid'"),0);
$smarty->assign('sid',$sid);
$smarty->assign('num',$num);
if($num){
$allpage=ceil($num/$onpage);
if($page>$allpage){$page=$allpage;};
$start=($page-1)*$onpage;
$x=mysql_query("SELECT * FROM `l_komm` WHERE `s_id`='$sid' ORDER BY `komm_id` DESC LIMIT $start,$onpage");
$arrdata=array();
$isus=array();
$ava=array();
$isonline=array();
while($row=mysql_fetch_assoc($x)){
$isus[]=mysql_result(mysql_query("SELECT count(*) FROM `user` WHERE name='".bug($row['komm_name'])."'"),0);
$arrdata[]=$row;
$ava[]=ava($row['komm_name']);
$isonline[]=isonline($row['komm_name']);
};
pagenavig($allpage,$page,'act=komm&amp;sid='.$sid);
$smarty->assign('DATA',$arrdata);
$smarty->assign('ava',$ava);
$smarty->assign('isonline',$isonline);
$smarty->assign('isus',$isus);
};
break;



///////////////////////Добавление коментариев//////////////////////
case 'addkomm':
whereis($udata['name'],'Добавление коментария в библиотеку');
if($avt!=1 && $sysconf['g_write']!=1){$TIT='Комментарии';require_once('inc/head.php');textwrite('Гости не могут писать!');break;};
$sid=intval($_POST['sid']);
if(!$sid){$TIT='Комментарии';require_once('inc/head.php');textwrite('Пустые параметры!');break;};
$isstat=mysql_query("SELECT * FROM `l_stat` WHERE `s_id`='$sid' LIMIT 1");
if(!mysql_num_rows($isstat)){$TIT='Комментарии';require_once('inc/head.php');textwrite('Такой статьи не существует!');break;};
$TITLE='Библиотека | Коментарии к статье: '.$tl['s_name'];
$TIT='Комментарии';
require_once('inc/head.php');

if($avt!=1){
$code=$_POST['code'];
if(!$code || $code!=$_SESSION['code']){textwrite('Не правильный код!');unset($_SESSION['code']);break;};
};
unset($_SESSION['code']);
$name=($avt==1) ? $udata['name'] : bug($_POST['name']);
if(!$name || !$_POST['msg']){textwrite('Пустые поля!');break;};
$msg=antimat(bbcode(smile(bug($_POST['msg']))));

$last=mysql_query("SELECT `komm_msg` FROM `l_komm` ORDER BY `komm_id` DESC LIMIT 0,1");
$last=mysql_fetch_assoc($last);
if($msg==$last['msg'] || $_SESSION['flud']>time()){textwrite('Не пишите так быстро!');break;};

mysql_query("INSERT INTO `l_komm` (`s_id`,`komm_name`,`komm_msg`,`komm_date`,`ip`,`brows`)VALUES('$sid','$name','$msg','".time()."','$ip','$brows')");
if($avt==1){
mysql_query("UPDATE `user` SET `bal`=`bal`+'".$sysconf['balforlibkomm']."',`komm_lib`=`komm_lib`+1 WHERE name='".$udata['name']."'");
};
$_SESSION['flud']=time()+$sysconf['flud'];
$smarty->assign('sid',$sid);
break;


//////////////////////Скачивание статьи///////////////////////////
case 'down':
$id=intval($_GET['id']);
$tl=mysql_query("SELECT `s_name`,`s_stat` FROM `l_stat` WHERE `s_id`='$id'");
if(!mysql_num_rows($tl)){require_once('inc/head.php');textwrite('Статьи не существует!');break;};
$tl=mysql_fetch_array($tl);
$TITLE='Библиотека | Скачать: '.$tl['s_name'];
$TIT='Скачивание статьи';
require_once('inc/head.php');
if(file_exists("txt/$id.txt")){
$z=1;
}else{
$c=fopen("txt/$id.txt", "w+");
fputs($c,$tl['s_stat']);
fclose($c);
};
$smarty->assign('z',$z);
$smarty->assign('id',$id);
break;


//////////////////////////////Форма для поиска///////////////////////
case 'search':
$TITLE='Библиотека | Поиск';
$TIT='Поиск';
require_once('inc/head.php');
$_SESSION['code']=rand(1111,9999);
break;


//////////////////////////////////Поиск////////////////////////////////
case 'searchgo':
$TITLE='Библиотека | Поиск';
$TIT='Поиск';
require_once('inc/head.php');

$code=(!$_POST['code']) ? (int)$_GET['code'] : (int)$_POST['code'];
if(!$code || $code!=$_SESSION['code']){textwrite('Не правильный код!');unset($_SESSION['code']);break;};
$text=bug($_POST['str']);
$sin=bug($_POST['sin']);
if(!$text){$text=bug($_GET['text']);}
if(!$sin){$sin=bug($_GET['sin']);};
if(!$sin || !$text || strlen($text)<3){textwrite('Пустые параметры!');break;};
if($sin=='title'){$sins='s_name';}
if($sin=='text'){$sins='s_stat';};
$num=mysql_result(mysql_query("SELECT count(*) FROM `l_stat` WHERE $sins LIKE '%$text%'"),0);
if(!$num){textwrite('Нет совпадений!');break;};
$allpage=ceil($num/$onpage);
if($page>$allpage){$page=$allpage;};
$start=($page-1)*$onpage;
$smarty->assign('num',$num);
$x=mysql_query("SELECT `s_id`,`s_name` FROM `l_stat` WHERE $sins LIKE '%$text%' LIMIT $start,$onpage");
$arrdata=array();
while($row=mysql_fetch_assoc($x)){
$arrdata[]=$row;
};
$smarty->assign('DATA',$arrdata);
pagenavig($allpage,$page,'act=searchgo&amp;sin='.$sin.'&amp;text='.$text.'&amp;code='.$code);
break;


////////////////////////////Скачивание в zip////////////////////////////
case 'downzip':
$id=(int)$_GET['id'];
$tl=mysql_query("SELECT `s_name` FROM `l_stat` WHERE `s_id`='$id'");
if(!mysql_num_rows($tl)){require_once('inc/head.php');echo 'Такой статьи не существует!<br/>';break;};
$tl=mysql_fetch_assoc($tl);
$TITLE='Библиотека | Скачать в zip: '.$tl['s_name'];
$TIT='Скачивание статьи в zip';
require_once('inc/head.php');

if(file_exists("zip/$id.zip")){
$z=1;
}else{
if(!file_exists("txt/$id.txt")){
$c=fopen("txt/$id.txt", "w+");
fputs($c,$tl['s_stat']);
fclose($c);};
$zip=new ziparchive();
$file="zip/$id.zip";
if($zip->open($file, ZIPARCHIVE::CREATE)!==true){die('error');};
if($zip->addfile("txt/$id.txt")){
}else{textwrite('Ошибка при создании архива!');};
$zip->close();
};
$smarty->assign('z',$z);
$smarty->assign('id',$id);
break;
};
$smarty->display('library.tpl');
?>