Просмотр файла mpanel/boards.php

Размер файла: 16.26Kb
<?php
///////////////////////////////////////////////////////////////////////////////////////////
/////
/////                        ********* WAP-MOTORS *********
/////
/////                            Made by   :  VANTUZ
/////                              E-mail  :  [email protected]
/////                                Site  :  http://pizdec.ru
/////                            WAP-Site  :  http://visavi.net 
/////                                 ICQ  :  36-44-66
/////
//////////////////////////////////////////////////////////////////////////////////////////////
//      ВЫ НЕ ИМЕЕТЕ ПРАВО ВНОСИТ ИЗМЕНЕНИЯ В КОД СКРИПТА ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ   //
//////////////////////////////////////////////////////////////////////////////////////////////	
Error_Reporting(E_ALL & ~E_NOTICE);
Error_Reporting (ERROR | WARNING);
function myErrorHandler ($errno, $errstr, $errfile, $errline) {}
set_error_handler("myErrorHandler"); 
extract($HTTP_GET_VARS);
extract($HTTP_POST_VARS);
extract($HTTP_COOKIE_VARS);
extract($HTTP_SERVER_VARS);
extract($HTTP_SESSION_VARS);
//////////////////////////////////////////////////////////////////////////////////////
ini_set('arg_separator.output','&amp;');
session_name("SID");
session_start();
require_once"../config.php";
require_once"../template/regglobals.php";
//////////////////////////////////////////////////////////////////////////////////////
if(@file("../themes/$themes.php"))
{include_once"../themes/$themes.php";}else{$themes="default"; include_once"../themes/$themes.php";}
//////////////////////////////////////////////////////////////////////////////////////
$text = @file("../local/profil/$log.prof"); 
if ($text!=""){
$udata = explode(":||:",$text[0]);
$provlog=trim($udata[0]);
$provpar=trim($udata[1]);}

$moder = @file("../local/status.dat"); 
if ($moder!=""){
$ud = explode("|",$moder[0]);
$moder1=trim($ud[21]);
$moder2=trim($ud[23]);
$moder3=trim($ud[25]);}
if (($nikname!=="" && $_SESSION[log]!=="" &&  $provlog!=="" && $provpar!=="" && $_SESSION[par]!=="" && $nikname == $_SESSION[log]  && $provlog ==$_SESSION[log] && $provlog ==$nikname  && $provpar ==md5($_SESSION[par])) || 
( $provpar ==md5($_SESSION[par]) && $_SESSION[log]!=="" &&  $provlog!=="" && $provpar!=="" && $_SESSION[par]!=="" &&  $moder3 == $_SESSION[log] && $provlog ==$_SESSION[log] && $provlog ==$moder3 )|| 
( $provpar ==md5($_SESSION[par]) && $_SESSION[log]!=="" &&  $provlog!=="" && $provpar!=="" && $_SESSION[par]!=="" &&  $moder2 == $_SESSION[log] && $provlog ==$_SESSION[log] && $provlog ==$moder2 ) || 
( $provpar ==md5($_SESSION[par]) && $_SESSION[log]!=="" &&  $provlog!=="" && $provpar!=="" && $_SESSION[par]!=="" &&  $moder1 == $_SESSION[log] && $provlog ==$_SESSION[log] && $provlog ==$moder1 )){

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

echo 'Сегодня <b>'.$date.'</b><br><a href="boards.php">Админка</a>';
if($event=="topic"){
echo' | <a href="boards.php?event=dob&amp;id='.$id.'&amp;topicrd='.$a1.'">Добавить</a>'; }

echo'<hr>';
// Общие действия - ничего не выбрано
if (!isset($_GET['event']))
{
// Выводим qq объявлений на текущей странице.
$lines = file("../local/databoard/database.dat");
$data1size = sizeof($lines);
$i = count($lines);

if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";}
if ($i-$page-"100">="0") {$a1=$i-$page; $u=$a1-"100";} else {$a1=$i-$page; $u=0;}

do {$a1--;  $dt = explode("|", $lines[$a1]);

if ($a1>=0) 
$file = file("../local/databoard/$dt[3].dat");
$total =0;
if(!$file==""){
$total = count($file);  }
{echo'</div><div class=b><img src="../images/forums.gif" alt=""> <a href="boards.php?event=topic&amp;id='.$dt[3].'">
'.$dt[0].'</a> <a href="boards.php?rd='.$a1.'">[Edit]</a><a href="boards.php?event=delrub&amp;xd='.$a1.'">[Del]</a></div><div>'.$dt[1].' ('.$total.')';}
} while($a1 > $u);


// если выбрана метка .P. - редактирование рубрики, то ищем её и выводим в форму
if (isset($_GET['rd']))  {
$rd=$_GET['rd'];
$a1=$rd+1; $u=$a1+1;
do {$a1--;  $dt = explode("|", $lines[$a1]);
$dt[1]=str_replace("<br>", "\r\n", $dt[1]);
} while($a1 > $u);
echo '<hr><form action="boards.php?event=add&amp;rd='.$rd.'" method="post" name="REPLIER">
Рубрика:<br><input type="text"  value="'.$dt[0].'" name="zag"><br>
Описание: <br>
<textarea cols="25" rows="3" name="msg">'.$dt[1].'</textarea>
<input type="hidden" name="flinks" value="'.$dt[2].'">
<input type="hidden" name="idtopic" value="'.$dt[3].'">
<input type="hidden" name="fnomer" value="'.$rd.'">
<br><input type="submit"  value="Изменить рубрику"></form>';
}


// иначе выводим пустую форму для добавления рубрики
else 
{
echo '<hr><form action="boards.php?event=add" method="post" name="REPLIER">
Рубрика:<br><input type="text"  value="" name="zag"><br>
Описание:<br><textarea cols="25" rows="3" name="msg"></textarea>
<br><input type="submit"  value="Добавить рубрику"></form>';
}
}




// Добавление объявления в текущую рубрику
if (isset($event)) {
if ($event =="topic")  {

if ($id == "") { echo "error"; exit; }

if (is_file("../local/databoard/$id.dat"))  {  // проверяем есть ли такой файл
$lines = file("../local/databoard/$id.dat");
$itogo=count($lines); $i=$itogo;

if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";}
if ($i-$page-$boards>="0") {$a1=$i-$page; $u=$a1-$boards;} else {$a1=$i-$page; $u=0;}

do {$a1--; $dt = explode("|", $lines[$a1]);


$deldate=date("d.m.Y h:i:s",$dt[6]);  // конверируем дату удаления в человеческий формат
$tekdt=mktime();
$num=$i-$a1;
if (isset($m)) {echo"<br>Объявления в рубрике"; $m=1;}

if ($dt[6]<$tekdt) {$topicxd="$a1";}

echo'</div><div class=b><img src="../images/forums.gif" alt="">  '.$num.  $dt[0].' 
<a href="boards.php?event=topic&amp;id='.$id.'&amp;topicrd='.$a1.'">[Edit]</a>
<a href="boards.php?event=dellink&amp;id='.$id.'&amp;topicxd='.$a1.'">[Del]</a></div><div>'.$dt[4].'
<a href="'.$dt[1].'">'.$dt[1].'</a>
<a href="mailto:'.$dt[3].'"> '.$dt[2].'</a>
<br>Размещено: '.$dt[5].' <br> дата удаления: '.$deldate;


} while($a1 > $u);


// выводим список доступных страниц
$lines = file("../local/databoard/$id.dat");
$a = count($lines);
$i=0;
echo '<hr>Страницы: ';
for($i = 0; $i < $a;) 
{$ii=1+$i/$boards; 

echo ' <a href="boards.php?event=topic&amp;id='.$id.'&amp;page='.$i.'">'.$ii.'</a> '; $i=$i+$boards;}
echo '<hr>';

// редактирование объявления
// ищем объявление для редактирования и выводим его в форму
if (isset($_GET['topicrd']))  {
$topicrd=$_GET['topicrd'];
$lines = file("../local/databoard/$id.dat");
$a1=$topicrd+1;
$u=$a1+1;
do {$a1--; $dt=explode("|", $lines[$a1]);

$dt[4]=str_replace("<br>", "\r\n", $dt[4]);

} while($a1 > $u);

$tekdt=mktime();  // конверитруем сегодняшнюю дату в UNIX-формат
$dtend=round(($dt[6]-$tekdt)/86400); // получаем из UNIX-формы числа кол-во дней, оставшихся до удаления объявления


echo '<form action="boards.php?event=addlink&amp;topicrd='.$topicrd.'" method="post" name="REPLIER">
<b>Заголовок</b><br><input type="text" value="'.$dt[0].'" name="zag"><br>
URL<br><input type=text value="'.$dt[1].'" name="url"><br>
<b>Ваше имя</b><br><input type="text" value="'.$dt[2].'" name="name"><br>
<b>E-mail</b><br><input type=text value="'.$dt[3].'" name="email"><br>
<b>Объявление</b><br><textarea cols="25" rows="3" name="msg">'.$dt[4].'</textarea><br>
<b>Срок показа</b><br><input type="text" value="'.$dtend.'" name="days"> (Масимальный срок в днях - '.$maxdays.')
<input type="hidden" name="reiting" value="'.$dt[5].'">
<input type="hidden" name="id" value="'.$id.'">
<input type="hidden" name="fnomer" value="'.$topicrd.'">
<br><input type="submit" value="Изменить и сохранить"></form>';
}


}   // if is_file("$id.dat")

} //  if $event=="topic"

} // if (isset($event))
if ($_GET['event']=="dob")  // Добавление РУБРИКИ
{ 
echo '<form action="boards.php?event=addlink" method="post" name="REPLIER">
<b>Заголовок</b><br><input type="text" name="zag"><br>
URL<br><input type=text value="http://" name="url"><br>
<b>Ваше имя</b><br><input type="text" name="name"><br>
<b>E-mail</b><br><input type="text" name="email"><br>
<b>Объявление</b><br><textarea cols="25" rows="3" name="msg"></textarea><br>
<b>Срок показа</b><br><input type="text" name="days"><br> (Масимальный срок в днях - '.$maxdays.')
<input type="hidden" name="id" value="'.$id.'"><br>
<input type="submit" value="Добавить"></form>';
}



// Добавление(редактирование) темы или топика. блок редактирования и удаления
if (isset($event)) {
if (($event =="add") or ($event =="addlink"))  {


//echo"$_GET[rd] - GETrd - $rd - rd"; exit;
// если выбрано - редактирование РУБРИК. $fnomer - номер ячейки, которую необходимо заменить.
if (isset($_GET['rd']))   { 
$fnomer=$_GET['rd'];
$msg=str_replace("\r\n","<br>",$msg);
$text="$zag|$msg|$flinks|$idtopic|";

$file=file("../local/databoard/database.dat");
$fp=fopen("../local/databoard/database.dat","a+");
flock ($fp,LOCK_EX);//блокировка
ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ
for ($i=0;$i< sizeof($file);$i++) {if ($fnomer!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$text\r\n");}}
fflush ($fp);//очищение файлового буфера
flock ($fp,LOCK_UN);
fclose($fp);
echo'Рубрика изменена успешно!';
require_once"../template/foot.php";

exit;

}



// если выбрано - редактирование ОБЪЯВЛЕНИЯ в РУБРИКЕ
if (isset($_GET['topicrd']))  {
$deldt=mktime()+$days*86400; // формируем дату удаления объявления
$msg=str_replace("|","I",$msg);
$text="$zag|$url|$name|$email|$msg|$date|$deldt|$id|";

// обрезаем лишние символы во всех введённых данных
$text=stripslashes($text);
$text=htmlspecialchars($text);
$text=str_replace("\r\n", "<br>", $text);

$file=file("../local/databoard/$id.dat");
$fp=fopen("../local/databoard/$id.dat","a+");
flock ($fp,LOCK_EX);//блокировка файла 
ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА 
for ($i=0;$i< sizeof($file);$i++) 
{   if ($fnomer!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$text\r\n");}    }
fflush ($fp);//очищение файлового буфера и записьв файл 
flock ($fp,LOCK_UN);//снятие блокировки 
fclose($fp);
@chmod($fp, 0666);
$fnomer="";   // $fnomer - номер ячейки, которую необходимо заменить.
$topicrd ="";
$event="";
echo'Объявление успешно отредактировано!';
require_once"../template/foot.php";
exit;
}


}



if ($_GET['event']=="add")  // Добавление РУБРИКИ
{ 
// ГЕНЕРИРУЕМ ИМЯ файлу с объявлениями
$tt=explode(' ',microtime()); $ttt="$tt[1]"+"$tt[0]"; $ttf=str_replace(".","",$ttt); $id=$ttf;
$msg=str_replace("|","I",$msg);
$text="$zag|$msg|0|$id|";
$text=stripslashes($text);
$text=htmlspecialchars($text);
$text=str_replace("\r\n", "<br>", $text);

$fp=fopen("../local/databoard/database.dat","a+");
flock ($fp,LOCK_EX);//блокировка файла 
fputs($fp,"$text\r\n");
fflush ($fp);//очищение файлового буфера и записьв файл 
flock ($fp,LOCK_UN);//снятие блокировки 
fclose($fp);
$fp=fopen("../local/databoard/$id.dat","a+");
fflush ($fp);//очищение файлового буфера и записьв файл 
flock ($fp,LOCK_UN);//снятие блокировки 
fclose($fp);
@chmod($fp, 0666);
echo'Рубрика успешно добавлена!';
require_once"../template/foot.php";
exit;
}





if ($_GET['event']=="addlink")  //добавление объявления
{
if ($zag == "" || strlen($zag) > 80) {echo "Вернитесь вы не ввели заголовок объявления, или он превышает 40 символов!";
require_once"../template/foot.php"; exit;}
if ($name == "" || strlen($name) > 60) {echo "Вернитесь назад ваше имя пустое, или превышает 30 символов!";
require_once"../template/foot.php"; exit;}
if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$",$email))
{echo "Вернитесь назад и введите корректный E-mail адрес!"; require_once"../template/foot.php"; exit;}
if ($msg == "" || strlen($msg) > 1500) {echo "Вернитесь назад ваше объявление пустое или превышает 750 символов.";
require_once"../template/foot.php"; exit;}
if ($days == "" || $days > $maxdays) {echo 'Вернитесь назад срок размещения объявления пуст или превышает '.$maxdays.' дней';
require_once"../template/foot.php"; exit;}


$deldt=mktime()+$days*86400; // формируем дату удаления объявления
$msg=str_replace("|","I",$msg);
$text="$zag|$url|$name|$email|$msg|$date|$deldt|$id|";
$text=stripslashes($text);
$text=htmlspecialchars($text);
$text=str_replace("\r\n", "<br>", $text);

$fp=fopen("../local/databoard/$id.dat","a+");
flock ($fp,LOCK_EX);//блокировка файла 
fputs($fp,"$text\r\n");
fflush ($fp);//очищение файлового буфера
flock ($fp,LOCK_UN);//снятие блокировки 
fclose($fp);
@chmod($fp, 0666);

echo '<br><br><br>
Спасибо <b>'.$name.'</b>, Ваше объявление успешно добавлено!<br>
<a href="boards.php?event=topic&amp;id='.$id.'"> Продолжить</a></b><br><br><br>';
}




} // if (isset($event))        - уточнить туда ли воткнул



// Блок используется для удаления РУБРИКИ
if ($_GET['event']=="delrub"){
$file=file("../local/databoard/database.dat");

// выбираем файл с темой и удаляем его
$dt = explode("|", $file[$xd]);
$delf = str_replace("\r\n", "", $dt[3]);
unlink ("../local/databoard/$delf.dat"); 

// удаляем строку, соответствующую теме в файле со всеми темами
$fp=fopen("../local/databoard/database.dat","w");
flock ($fp,LOCK_EX);//блокировка файла 
for ($i=0;$i< sizeof($file);$i++) { if ($i==$xd) {unset($file[$i]);} }
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);//снятие блокировки 
fclose($fp);
$xd ="";
echo'Рубрика успешно удалена!<br>';
}




// Блок используется для УДАЛЕНИЯ выбранного ОБЪЯВЛЕНИЯ
if ($_GET['event']=="dellink"){

$file=file("../local/databoard/$id.dat");

// удаляем строку, соответствующую текущего объявления
$fp=fopen("../local/databoard/$id.dat","w");
flock ($fp,LOCK_EX);//блокировка файла 

for ($i=0; $i< sizeof($file); $i++) { if ($i==$topicxd) {unset($file[$i]);} }
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);//снятие блокировки 
fclose($fp);
@chmod($fp, 0666);
$topicxd ="";
 echo'Объявление успешно удалено!';

 }
echo'<br><br>';
if($nikname == $_SESSION[log]){ echo'<a href="admin.php">Файл-менеджер</a><br>';}
echo'<a href="adminka.php">В админку</a><br>';

}else{echo'ПАШШОЛ НАХУЙ!<br>Пароль не верен';}
require_once"../template/foot.php";
?>