Файл РУБРИК несуществует! Зайдите в админку и создайте рубрики!");} if (!isset($_GET['fid'])) { include "$topurl"; addtop(); // подключаем ШАПКУ // Выводим qq сообщений на текущей странице $lines=file("$datadir/$datafile"); $i=count($lines); if ($i==0) {exit("

ошибка :-(. Файл $datafile пуст!!!

");} $n="0"; $a1="-1"; $u=$i-1; $total="0"; $i="0"; $cm="0"; $si="0"; $fid="0"; $itogo="0"; $itogos="0"; $itogop="0"; print"
"; do {$a1++; $dt=explode("|", $lines[$a1]); $fid="$dt[0]"; $url="index.php?fid=$fid"; $it=$dt[2]+$dt[3]; if ($dt[1]=="R" and $i>"1") {print"
"; if ($si=="3" and $i>"1") {print""; $si=0;} else {print"";} } if ($dt[1]=="R") {$si++; $cm++; print"
$dt[2]
"; // Название тем печатаем } else { if (($dt[2]+$dt[3])>"0") {$ok="have.gif";} else {$ok="nohave.gif";} print"\r\n";} $i++; $itogo=$itogo+$it; } while($a1 < $u); // закрываем центральную таблицу и др. print"
 $dt[1]$it
Всего объявлений в базе: $itogo

"; // Выводим 10-20 последних объявлений $shapka20=""; $shapka10="
"; if (is_file("$datadir/newmsg.dat") and $showten>="1") { // проверяем есть ли такой файл $linesn = file("$datadir/newmsg.dat"); $in=count($linesn); if ($in > 0) { $newdat=file("$datadir/newmsg.dat"); $in=count($newdat)-1; $iall=$in; $ia=$in+1; print"
"; if ($showten=="20") {print ""; $in--; } while($in >"-1"); } print"
Последние $ia объявлений:
$shapka20";} else {print "
 ";} do {$dtn=explode("|", $newdat[$in]); $tdt=explode("[ktname]", $dtn[1]); if (!isset($tdt[1])) {$tdt[1]="";} // удалить ДЛЯ тех, кто не конвертирует БД $url="index.php?fid=$dtn[8]&id=$dtn[10]"; $dtn[5]=substr($dtn[5],0,150); // образаем сообщение до 150 символов $dtn[5]=str_replace("
","\r\n",$dtn[5]); $dtn[7]=date("H:i",$dtn[7]); if ($dtn[4]=="П") {$colorsp="#ff3333";} else {$colorsp="#1414CD";} if (round($iall/2)==($in+1) & $showten>10) {print"
Последние $ia объявлений:
$shapka10";} if ($dtn[9]=="vip") {$st1=""; $st2="VIP-объявление \r\n";} else {$st1=""; $st2="";} print"
$dtn[4] $dtn[7] $st1$dtn[3] перейти
"; } } // конец главной страницы // СПИСОК ОБЯВЛЕНИЙ (ЛЕВЕЛ 2) if (isset($_GET['fid']) and !isset($_GET['id'])) { $fid=$_GET['fid']; $addbutton="Добавить объявление в этот раздел"; // Защиты $deleted="$back. Файл рубрики НЕ существует! Возможно администратор удалил данную рубрику."; if (!ctype_digit($fid)) {exit("

Попытка взлома. Хакерам здесь не место.

");} $imax=count(file("$datadir/$datafile")); if (($fid>200) or (strlen($fid)==0)) {exit("$deleted");} if (!is_file("$datadir/$fid.dat")) {print"$deleted"; exit;} // проверяем есть ли такой файл else { $lines=file("$datadir/$fid.dat"); $itogo=count($lines); $n="0"; if ($itogo > 0) { // функция АВТОУДАЛЕНИЯ здесь! $tekdate=mktime(); $i=$itogo; $newi="-1"; $pred="0"; $spros="0"; $todelete="0"; $itogos="0"; do {$i--; $dt=explode("|",$lines[$i]); if ($dt[4]!="П") {$itogos++;} // строка посчитывает кол-во объявлений Спрос/Предложение if ($dt[7]<$tekdate) {$todelete++; if ($dt[4]=="П") {$pred++;} else {$spros++;}} else {$newi++; $newlines[$newi]=$lines[$i];} } while($i>0); // $newlines - массив с данными, в которых уже нет просроченных объявлений if (isset($newlines)) {$newitogo=count($newlines)-1;} else {$newitogo="0"; $newlines[0]="";} //print "$todelete - todelete; $newitogo/$itogo - newitogo/itogo"; // Если в БД были объявления, которые необходимо удалить, то удаляем ИХ ВСЕ! // Блок используется для УДАЛЕНИЯ / АВТОУДАЛЕНИЯ выбранного ОБЪЯВЛЕНИЯ if ($todelete>"0") { // записываем в файл БД данные в которых уже НЕТ ПРОСРОЧЕННЫХ ОБЪЯВЛЕНИЙ $fp=fopen("$datadir/$fid.dat","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА for ($i=0; $i <= $newitogo; $i++) {fputs($fp,$newlines[$i]);} flock ($fp,LOCK_UN); fclose($fp); // Блок вычитает единицу из кол-ва объявлений в рубрике - если разрешено if (!isset($flagm1)) {$flagm1=1;} if ($flagm1=="1") { $lines = file("$datadir/$datafile"); $i=count($lines); do {$i--; $dt=explode("|", $lines[$i]); // находим в БД раздел, соответствующий разделу, в котором мы сейчас находимся if ($fid==$dt[0]) { $dt[2]=$dt[2]-$pred; if ($dt[2]<"0") {$dt[2]="0";} $dt[3]=$dt[3]-$spros; if ($dt[3]<"0") {$dt[3]="0";} if ($newitogo==0) {$dt[2]="0"; $dt[3]="0";} $text="$fid|$dt[1]|$dt[2]|$dt[3]|"; $file=file("$datadir/$datafile"); $fp=fopen("$datadir/$datafile","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА for ($ii=0;$ii< sizeof($file);$ii++) {if ($i!=$ii) {fputs($fp,$file[$ii]);} else {fputs($fp,"$text\r\n");}} fflush ($fp);//очищение файлового буфера flock ($fp,LOCK_UN); fclose($fp); } } while($i > 0); } // конец если разрешено отнимать единицу // считываем данные раздела в память вновь - так как мы удалили просроченные $lines = file("$datadir/$fid.dat"); $itogo=count($lines); $i=$itogo; } // if ($todelete > 0) } // if ($itogo > 0) // функция АВТОУДАЛЕНИЯ выше! if ($itogo > 0) {$i=$itogo; $lt=explode("|",$lines[0]); $tdt=explode("[ktname]", $lt[1]); if (!isset($tdt[1])) {$tdt[1]="";} // удалить кто не использует конветер! $razdel=$tdt[1]; $rubrika="$tdt[0] .:. $tdt[1]"; include "$topurl"; addtop(); // подключаем ШАПКУ $rubrika="$tdt[0]"; // Выводим qqmain объявлений на текущей странице if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";} if ($page>=$i) {$page=$i-1;} // Исключаем ошибку вызова несуществующей страницы if ($i-$page-$qq>=0) {$a1=$i-$page; $u=$a1-$qq;} else {$a1=$i-$page; $u=0;} $num=0; $ivip=0; $itogos=0; print""; // Показываем QQ ОБЪЯВЛЕНИЙ do {$a1--; $dt=explode("|", $lines[$a1]); $num++; $url="index.php?fid=$fid&id=$dt[10]"; if ($dt[4]=="П") {$colorsp="#ff3333";} else {$colorsp="#1414CD";} $deldate=date("d.m.Y",$dt[7]); // конверируем дату удаления в человеческий формат $tekdt=mktime(); $deldays=round(($dt[7]-$tekdt)/86400); // Дата удаления $dt[5]=str_replace("
", "\r\n", $dt[5]); // приводим слово ДЕНЬ/ДНЯ/ДНЕЙ - к нужному типу $dney="дней"; if ($deldays=="0") {$deldays=1;} if ($deldays>20) {$ddays=substr($deldays,-1);} else {$ddays=$deldays;} if ($ddays=="1") {$dney="день";} if ($ddays=="2" or $ddays=="3" or $ddays=="4") {$dney="дня";} if ($dt[9]=="vip") {print "";} else {print "";} if (stristr($dt[2],"[email]")) {$tdt=explode("[email]", $dt[2]); $dt[2]="$tdt[0]"; $usdat=" $usdat"; if (($dt[9]=="vip") and ($ivip==1)) {print"";} $ivip--; } while($a1 > $u); $itogop=$i-$itogos; // выводим список доступных страниц print "
$razdel --> $rubrika
Т Заголовок Имя Дата подачи Дата удаления
$dt[2]";} else {$usdat="$dt[2]";} print" $num $dt[4] $dt[3] $dt[6] $deldate - через $deldays $dney
 

Страницы:  "; for($pi="0"; $pi<$i;) {$ii=1+$pi/$qq; if ($page==$pi) {$addp="class=sel";} else {$addp="";} print "$ii  "; $pi=$pi+$qq;} print "
Всего объявлений: $i. Из них: Спрос - $itogos Предложение - $itogop.
$addbutton"; } else {$rubrika=""; include "$topurl"; addtop(); print"





Уважаемый посетитель!

В данном разделе в настоящее время объявлений нет.

Вы можете $addbutton или

перейти на главную страницу доски по этой ссылке.










";} } print "
"; } // ПОКАЗЫВАЕМ ТЕКУЩЕЕ ОБЪЯВЛЕНИЕ (ЛЕВЕЛ 3) if (isset($_GET['fid']) and isset($_GET['id'])) { $fid=$_GET['fid']; $error="Ошибка скрипта! Обратитесь к администратору - $adminemail"; $deleted="$back. Файл рубрики НЕ существует! Возможно администратор удалил данную рубрику."; if (!isset($_GET['id'])) {print"$error"; exit;} $id=$_GET['id']; if ($_GET['id']==="") {print "$error"; exit;} if (is_file("$datadir/$fid.dat")) {$lines=file("$datadir/$fid.dat");} $cy=count($lines)-1; $itogo=$cy; $i=$itogo; if ($cy>=0) {unset($number); do {$dt=explode("|",$lines[$i]); if ($dt[10]==$id) {$number=$i;} $i--;} while ($i >= 0);} if (!isset($number)) {include "$topurl"; addtop(); print"




Уважаемый посетитель!

Извините, но запрашиваемое Вами объявление недоступно.

Скорее всего, закончился срок его показа, и оно было удалено с доски.

Вы можете перейти в раздел где было размещено объявление.
Возможно, Вы найдёте похожее объявление в этом разделе.

Перейти на главную страницу доски можно по этой ссылке








"; } else { $dt=explode("|",$lines[$number]); // формируем содержимое тега title для страницы $rub=$dt[3]; if (strlen($rub)>98) {$rub=substr($rub,0,98); $rub.="...";} $tdt=explode("[ktname]", $dt[1]); if (!isset($tdt[1])) {$tdt[1]="";} // удалить кто не использует конветер! $razdel=$tdt[1]; $rubrika="$rub .:. $tdt[0] .:. $tdt[1]"; include "$topurl"; addtop(); // подключаем ШАПКУ $rubrika=$tdt[0]; // считываем данные о пользователе, оставившем сообщение $userline=file("$datadir/usersdat.php"); $i=count($userline); $usernum=""; // проходим по всем юзерам и сверяем данные do {$i--; $rdt=explode("|", $userline[$i]); if ($dt[2]==$rdt[0]) { $usernum="$i";} } while($i > "1"); if ($usernum!="") {$rdt = explode("|", $userline[$usernum]);} else {$rdt[0]="";$rdt[2]="";$rdt[3]="";$rdt[4]="";$rdt[5]="";$rdt[6]="";} $deldate=date("d.m.Y",$dt[7]); // конверируем дату удаления в человеческий формат $tekdt=mktime(); $deldays=round(($dt[7]-$tekdt)/86400); // через сколько дней будет удалено объявление $dt[7]=date("H:i:s",$dt[7]); $mstek=$number+1; $numtek=$cy-$number+1; // приводим слово ДЕНЬ/ДНЯ/ДНЕЙ - к нужному типу $dney="дней"; if ($