"; function nospam() { global $max_key,$rand_key; // Функция АНТИСПАМ 2011 ! if (array_key_exists("image", $_REQUEST)) { $num=replacer($_REQUEST["image"]); for ($i=0; $i<10; $i++) {if (md5("$i+$rand_key")==$num) {imgwr($st,$i); die();}} } $xkey=""; mt_srand(time()+(double)microtime()*1000000); $dopkod=mktime(0,0,0,date("m"),date("d"),date("Y")); // доп.код: меняется каждые 24 часа $stime=md5("$dopkod+$rand_key");// доп.код echo''; $nummax=0; for ($i=0; $i<=$max_key; $i++) { $snum[$i]=mt_rand(0,9); $psnum=md5($snum[$i]+$rand_key+$dopkod); $secret=mt_rand(0,1); $styles='bgcolor=#FFFF00'; if ($nummax<3) { if ($secret==1 or $i==0) {$styles='bgcolor=#6CFF86'; $xkey=$xkey.$snum[$i]; $nummax++;}} echo "\r\n";} $xkey=md5("$xkey+$rand_key+$dopkod"); //число + ключ из config.php + код меняющийся кажые 24 часа print"
Защитный код: (введите цифры, которые на зелёном фоне)
"; return; } /*********************************************************************************** Функция img_resize(): генерация thumbnails Параметры: $src - имя исходного файла $dest - имя генерируемого файла $width, $height - ширина и высота генерируемого изображения, в пикселях Необязательные параметры: $rgb - цвет фона, по умолчанию - белый $quality - качество генерируемого JPEG, по умолчанию - максимальное (100) ***********************************************************************************/ function img_resize($src, $dest, $width, $height, $rgb=0xFFFFFF, $quality=100) { if (!file_exists($src)) return false; $size = getimagesize($src); if ($size === false) return false; // Определяем исходный формат по MIME-информации, предоставленной // функцией getimagesize, и выбираем соответствующую формату // imagecreatefrom-функцию. $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1)); $icfunc = "imagecreatefrom" . $format; if (!function_exists($icfunc)) return false; $x_ratio = $width / $size[0]; $y_ratio = $height / $size[1]; $ratio = min($x_ratio, $y_ratio); $use_x_ratio = ($x_ratio == $ratio); $new_width = $use_x_ratio ? $width : floor($size[0] * $ratio); $new_height = !$use_x_ratio ? $height : floor($size[1] * $ratio); $new_left = $use_x_ratio ? 0 : floor(($width - $new_width) / 2); $new_top = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2); $isrc = $icfunc($src); $idest = imagecreatetruecolor($width, $height); imagefill($idest, 0, 0, $rgb); imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]); imagejpeg($idest, $dest, $quality); imagedestroy($isrc); imagedestroy($idest); return true;} // Функция "ПРОДОЛЖЕНИЕ ШАПКИ" - закрывает ВСЕ таблицы function addtop($brdskin) { global $wrbname, $wrbpass; if (isset($_COOKIE['wrbcookies'])) {// ищем В КУКАХ wrbcookies чтобы вывести ИМЯ $wrbc=$_COOKIE['wrbcookies']; $wrbc=htmlspecialchars($wrbc); $wrbc=stripslashes($wrbc); $wrbc=explode("|", $wrbc); $wrbname=$wrbc[0]; $wrbpass=$wrbc[1];} else {$wrbname=null; $wrbpass=null;} echo''; if ($wrbname!=null) {print "Личный кабинет  Выход [$wrbname] ";} else {print "вход в систему | регистрация ";} print"
"; return true;} function replacer ($text) { // ФУНКЦИЯ очистки кода $text=str_replace(" ",' ',$text); $text=str_replace(">",'>',$text); $text=str_replace("<",'<',$text); $text=str_replace("\"",'"',$text); $text=preg_replace("/\n\n/",'

',$text); $text=preg_replace("/\n/",'
',$text); $text=preg_replace("/\\\$/",'$',$text); $text=preg_replace("/\r/",'',$text); $text=preg_replace("/\\\/",'\',$text); $text=str_replace("\r\n","
",$text); $text=str_replace("\n\n",'

',$text); $text=str_replace("\n",'
',$text); $text=str_replace("\t",'',$text); $text=str_replace("\r",'',$text); $text=str_replace(' ',' ',$text); return $text; } if (!is_file("$brdskin/top.html")) $topurl="$brdskin/top.html"; else $topurl="$brdskin/top.html"; if (isset($_GET['id']) and isset($_GET['coment'])) { $id=$_GET['id']; if (!ctype_alnum($id)) exit("$back. Попытка взлома. Хакерам здесь не место."); if (is_file("$datadir/$id.dat")) { $linesn = file("$datadir/$id.dat"); $in=count($linesn); if ($in > 15) exit("$back более 15 комментариев к объявления добавлять запещено.");} // Событие добавления сообщения if(isset($_GET['add'])) { if (!isset($_COOKIE['wrbcookies'])) exit("


Добавление коментариев
разрешено только ЗАРЕГИСТРИРОВАННЫМ участникам!!!



"); if (isset($_POST['name'])) {$name=$_POST['name'];} else {$name="";} if (strlen($name)<1 || strlen($name) > $maxname) exit("$back Ваше имя пустое, или превышает $maxname символов!"); $name=str_replace("|","I",$name); if (isset($_POST['type'])) {$type=$_POST['type'];} else {$type="0";} if (strlen($type)>2) exit("$back. Оценка может состоять только из двух цифр!"); if (!ctype_alnum($type)) exit("$back. Попытка взлома. Хакерам здесь не место."); $msg=$_POST['msg']; if ($msg=="" || strlen($msg) > $maxmsg) {exit("$back Ваш комментарий пуст или превышает $maxmsg символов.");} $msg=str_replace("|","I",$msg); if (isset($_POST['email'])) {$email=$_POST['email'];} else {$email="";} $email=str_replace("|","I",$email); $day=mktime(); $text="$name|$email|$msg|$day|$type|"; $text=replacer($text); $text=str_replace("\r\n","
",$text); if ($antiflud=="1") { // функция АНТИФЛУД здесь! if (is_file("$datadir/$id.dat")) { // проверяем есть ли такой файл $linesn = file("$datadir/$id.dat"); $in=count($linesn); if ($in > 0) { $lines=file("$datadir/$id.dat"); $i=count($lines)-1; $itogo=$i; $dtf=explode("|",$lines[$i]); $txtback="$dtf[0]|$dtf[1]|$dtf[2]|$dtf[3]|$dtf[4]|"; if ($text==$txtback) exit("$back Данный комментарий уже размещён! Флудить на доске запрещено!"); } }} if (is_file("$datadir/$id.dat")) { $lines = file("$datadir/$id.dat"); $itogo=count($lines);} else {$itogo=0;} $lines[$itogo]="$text\r\n"; $p=$itogo+1; $fp=fopen("$datadir/$id.dat","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА for ($i=0; $i<$p; $i++) {fputs($fp,"$lines[$i]");} fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); print ""; exit; } $rubrika="Добавление комментария к объявлению"; include "$topurl"; addtop($brdskin); // подключаем ШАПКУ if (isset($wrbname)) { print"



$rubrika
Ваше имя: *
Емайл:
Текст комментария: *
Оценить важность
объявления:
    1   2   3   4   5



"; } else {echo'


Добавление коментариев
разрешено только ЗАРЕГИСТРИРОВАННЫМ участникам!!!



';} exit;} //Проверка ЗАПРЕТА IP-пользователя на добавление объявлений (файл bad_ip.dat) $ip=$_SERVER['REMOTE_ADDR']; // определяем IP юзера if (is_file("$datadir/bad_ip.dat")) { $lines=file("$datadir/bad_ip.dat"); $i=count($lines); if ($i>0) {do {$i--; $idt=explode("|", $lines[$i]); if ($idt[0]===$ip) exit("


Админитратор заблокировал для Вашего IP: $ip
возможность добавлять объявления по следующей причине:

$idt[1].

Вам разрешено просматривать объявления,
а вот ДОБАВЛЯТЬ ОБЪЯВЛЕНИЯ категорически ЗАПРЕЩЕНО!
"); } while($i > "1");} unset($lines);} // Событие добавления сообщения // if(isset($_GET['event'])) { if ($_GET['event'] =="add") { if (!isset($_POST['rules'])) exit("$back. Вам необходимо согласиться с правилами."); //--А-Н-Т-И-С-П-А-М--проверка кода-- if ($antispam==TRUE and !isset($_COOKIE['wrbcookies'])) { if (!isset($_POST['usernum']) or !isset($_POST['xkey']) or !isset($_POST['stime']) ) exit("данные из формы не поступили!"); $usernum=replacer($_POST['usernum']); $xkey=replacer($_POST['xkey']); $stime=replacer($_POST['stime']); $dopkod=mktime(0,0,0,date("m"),date("d"),date("Y")); // доп.код. Меняется каждые 24 часа $usertime=md5("$dopkod+$rand_key");// доп.код $userkey=md5("$usernum+$rand_key+$dopkod"); if (($usertime!=$stime) or ($userkey!=$xkey)) exit("введён ОШИБОЧНЫЙ код!");} // проверка Логина/Пароля юзера. Может он хакер, тогда облом ему if (isset($_POST['who'])) {$who=$_POST['who'];} else {$who=null;} if (isset($_COOKIE['wrbcookies'])) { // Этап 1 $wrfc=$_COOKIE['wrbcookies']; $wrfc=htmlspecialchars($wrfc); $wrfc=stripslashes($wrfc); $wrfc=explode("|", $wrfc); $wrfname=$wrfc[0]; $wrfpass=$wrfc[1]; } else {$who=null; $wrfname=null; $wrfpass=null;} $ok=null; if ($who!=null) { // Этап 2 if ($wrfname!=null & $wrfpass!=null) { $lines=file("$datadir/usersdat.php"); $i=count($lines); do {$i--; $rdt=explode("|", $lines[$i]); if (isset($rdt[1])) { $realname=strtolower($rdt[0]); if (strtolower($wrfname)===$realname & $wrfpass===$rdt[1]) {$ok="$i";}} } while($i > "1"); if ($ok==null) {setcookie("wrbcookies","",time()); exit("Ошибка при работе с КУКИ! Вы не сможете оставить сообщение, попробуйте подать его как гость. Ваш логин и пароль не найдены в базе данных, попробуйте зайти на доску вновь. Если ошибка повторяется - обратитесь к администратору доски.");} }} if (isset($_POST['name'])) {$name=$_POST['name'];} else {$name="";} if (isset($_POST['email'])) { $email=replacer($_POST['email']); $email=str_replace("|","I",$email); if ($mailmustbe==TRUE) { if (!preg_match("/^[a-z0-9\.\-_]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is", $email) or $email=="") exit("$back и введите корректный E-mail адрес!
");} $nameonly=$name; $name.="[email]".$email;} $dtemp=explode("|", $_POST['rubrika']); if (!isset($dtemp[1])) exit("$back и выбирете категорию!"); $katnumber=$dtemp[0]; $rname=$dtemp[2]; $katname=$dtemp[3]; $fid=$dtemp[1]; $days=$_POST['days']; $katname.="[ktname]".$rname; if (!ctype_alnum($fid)) exit("$back и выбирете категорию!"); if ($katnumber=="0") {exit("$back и выбирете категорию!");} if ($name == "" || strlen($name) > $maxname) {exit("$back Ваше имя пустое, или превышает $maxname символов!
");} $zag=replacer($_POST['zag']); if ($zag == "" || strlen($zag) > $maxzag) {exit("$back Вы не ввели заголовок объявления, или он превышает $maxzag символов!");} if (isset($_POST['type'])) {$type=$_POST['type'];} else {$type="";} if ($type == "") {exit("$back и выбирите тип объявления (Спрос или Предложение).");} if ($type!="С" and $type!="П") {$type="П";} $msg=$_POST['msg']; if ($msg == "" || strlen($msg) > $maxmsg) exit("$back Ваше описание пустое или превышает $maxmsg символов."); $newcityadd=FALSE; if (isset($_POST['city'])) $city=$_POST['city']; if (isset($_POST['newcity'])) {if (strlen($_POST['newcity'])>3) {$newcityadd=TRUE; $city=$_POST['newcity'];}} if (isset($_POST['phone'])) $phone=$_POST['phone']; else $phone=""; // Фильтруем цену if (isset($_POST['price'])) $price=replacer($_POST['price']); else $price=""; if (strlen($price)>7) exit("Цена товара должна содержать менее 7 символов!"); if ($days>$maxdays or !ctype_alnum($days)) $days=$maxdays; $deldt=mktime()+$deltahour*3600+$days*86400; // формируем дату удаления объявления $msg=str_replace("|","I",$msg); $msg=replacer($msg); $zag=str_replace("|","I",$zag); $today=mktime()+$deltahour*3600; // запрашивать дату изменения файла $timer<10 - 10 секунд защита от флуда $timetek=time(); $timefile=filemtime("$datadir/$fid.dat"); $timer=$timetek-$timefile; // узнаем сколько прошло времени (в секундах) if ($timer<10 and $timer>0) {exit("$back рубрика была активна менее $timer секунд назад.
Подождите Ещё несколько секунд и повторите отправку объявления.");} // Сравниваем имя подавшего объявления с зарегистрированными $flag="0"; $status="no"; $namesm=strtolower($name); $lines=file("$datadir/usersdat.php"); $i=count($lines); do {$i--; $rdt=explode("|", $lines[$i]); $rdt[0]=strtolower($rdt[0]); if ($rdt[0]==$namesm) {$email="$rdt[2]"; $flag="yes"; if ($rdt[12]>0) {$vipdays=round(($rdt[12]-$today)/86400);} else {$vipdays="999";} if ($rdt[10]==="vip" and $vipdays>0) {$status="vip";}} } while($i > "1"); if (!isset($_COOKIE['wrbcookies']) and $flag=="yes") exit("$back к сожалению, участник с таким именем уже зарегистрирован на доске и
Вы не можете подать объявление под таким именем."); if ($antiflud!="0") { // функция АНТИФЛУД часть 1 - проверка на наличие в текущей рубрике // АНТИФЛУД по ДУБЛЯМ размещения require('antiflud.php'); if($result) exit("$back Ваше объявление на $koefmes% похоже на другие объявления ($double шт.), которые уже есть на этой Доске объявлений.
Попробуйте написать объявление используя другие словосочетания"); $linesn = file("$datadir/$fid.dat"); $in=count($linesn); if ($in > 0) { $lines=file("$datadir/$fid.dat"); $i=count($lines)-1; $itogo=$i; $dtf=explode("|",$lines[$i]); $txtback="$dtf[0]|$dtf[1]|$dtf[2]|$dtf[3]|$dtf[4]|$dtf[5]|"; $txtflud="$katnumber|$katname|$name|$zag|$type|$msg|"; $txtflud=htmlspecialchars($txtflud); $txtflud=stripslashes($txtflud); $txtflud=str_replace("\r\n","
",$txtflud); if ($txtflud==$txtback) {exit("$back Данное объявление уже размещено на доске. Флудить на доске запрещено!");}} // часть 2 - проверка на наличие объявления в последней 10-20ке // Проверяем есть ли объявление с такой темой а одного и того же автора есть в последних добавленных сообщениях unset($lines); $lines=file("$datadir/newmsg.dat"); $max=count($lines); $i=$max-1; if ($max > 0) { do { $dtf=explode("|",$lines[$i]); $text1="$dtf[3]"; if ($text1==$msg and $dtf[2]==$name) exit("$back Данное объявление уже размещено на доске. Флудить на доске запрещено!"); $i--; } while($i>-1); } } //if $antiflud!=0 // БЛОК ГЕНЕРИРУЕТ СЛЕДУЮЩИЙ ПО ПОРЯДКУ НОМЕР ОБЪЯВЛЕНИЮ // считываем весь файл в объявлениями в память $allid=null; $records=file("$datadir/$fid.dat"); $imax=count($records); $i=$imax; if ($i > 0) { do {$i--; $rd=explode("|",$records[$i]); $allid[$i]=$rd[10]; } while($i>0); //natcasesort($allid); // сортируем по возрастанию $id=1000; $id="$fid$id"; do { $id++; if (is_file("$datadir/$fid$id.dat")) $id++; } while(in_array($id,$allid)); } else $id=$fid."1000"; // if ($i > 0) //print"
"; print_r($allid); print "$id - $fid";


// блок отключен, так как из-за этой системы проблемы с индексацией страниц
// КОЛДУЕМ рандомный КОД объявления
//$add=null; $z=null; 
//do { $id=mt_rand(1000,9999); if ($fid<10) $add="0"; 
//if (!is_file("$datadir/$add$fid$id.dat") and strlen($id)==4) $z++;
//} while ($z<1); $id="$add$fid$id";

if (strlen($id)>8) exit("$back. Номер объявления должен быть числом. Критическая ошибка скрипта или попытка взлома");

$text="$katnumber|$katname|$name|$zag|$type|$msg|$date|$deldt|$fid|$status|$id|$today|$city|$phone||||||$rname|$ok|$ip|$price|||||";

$foto=""; $fotoksize=""; $size[0]=""; $size[1]="";
/// Добавляем ФОТО к объявлению!
if ($fotoadd==TRUE) { if (isset($_COOKIE['wrbcookies']) or $fotoaddany==TRUE) {

$allfotoname="";

$filename=$_FILES["file1"]['name']; // определяем имя ЗАГРУЖАЕМОГО файла

if (strlen($filename)>2) {

$fotoname=$_FILES["file1"]['name']; // определяем имя файла
$foto=$fotoname;

$fotosize=$_FILES["file1"]['size']; // Запоминаем размер файла

// проверяем расширение файла
$valid_types = array("gif","jpg","png","jpeg");  // допустимые расширения
$ext = strtolower(substr($fotoname, 1 + strrpos($fotoname, ".")));
if (!in_array($ext, $valid_types)) {echo 'ФАЙЛ НЕ загружен. Возможные причины:
- разрешена загрузка только файлов с такими расширениями: gif, jpg, jpeg, png
- Вы пытаетесь загрузить не графический файл;
- неверно введён адрес или выбран файл;
'; exit;} // ЗАЩИТЫ от ВЗЛОМА (ФОТО) // 1. считаем кол-во точек в выражении - если большей одной - СВОБОДЕН! $findtchka=substr_count($fotoname, "."); if ($findtchka>1) {echo "ТОЧКА встречается в имени файла $findtchka раз(а). Это ЗАПРЕЩЕНО!
\r\n";} // 2. если в имени есть .php, .html, .htm - свободен! $bago="Извините. В имени ФАйла запрещено использовать .php, .html, .htm"; if (preg_match("/\.php/i",$fotoname)) {echo "Вхождение \".php\" найдено. $bago"; exit;} if (preg_match("/\.html/i",$fotoname)) {echo "Вхождение \".html\" найдено. $bago"; exit;} if (preg_match("/\.htm/i",$fotoname)) {echo "Вхождение \".htm\" найдено. $bago"; exit;} // 3. защищаем от РУССКИХ букв в имени файла и проверяем расширение файла if (!preg_match("/^[a-z0-9\.\-_]+\.(jpg|jpeg|gif|png|)+$/is",$fotoname)) {exit("Запрещено использовать РУССКИЕ буквы в имени файла!");} // 4. Проверяем, может быть файл с таким именем уже есть на сервере if (file_exists("$fotodir/$foto")) {exit("Файл с таким именем уже существует на сервере! Измините имя на другое!");} // Конец защит по имени файла $fotoksize=round($fotosize/10.24)/100; // размер ЗАГРУЖАЕМОГО ФОТО в Кб. $fotomax=round($max_file_size/10.24)/100; // максимальный размер фото в Кб. if ($fotoksize>$fotomax) {exit("Вы превысили допустимый размер фото!
Максимально допустимый размер фото: $fotomax Кб.
Вы пытаетесь загрузить изображение: $fotoksize Кб!");} if ($fotosize>"0" and $fotosize<$max_file_size) { copy($_FILES["file1"]['tmp_name'], "$fotodir/$fotoname"); print "

Фото УСПЕШНО загружено: $fotoname (Размер: $fotosize байт)";} else {exit("Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!");} // Проверяем размер фото. Если "габариты" меньше 100 х 100 - то ничего с ним не делаем $size = getimagesize("$fotodir/$foto"); // блок делает мальное изображение исходной фотки - в качестве превьюшки $smallfoto="$foto"; if ($size[0]>100 or $size[1]>100) { $smallfoto="sm-$foto"; if (img_resize("$fotodir/$foto", "$fotodir/$smallfoto", 150, 120)) echo 'Изображение масштабировано успешно'; else echo 'Масштабирование невозможно - ошибка на хостинге!'; } } else $smallfoto=""; $allfotoname.="$filename|"; /// Конец блока добавления ФОТО // text с фото. Добавлено - фото_малое|фото_большое|размер|разрешение_длина|разрешение_ширина| $text="$katnumber|$katname|$name|$zag|$type|$msg|$date|$deldt|$fid|$status|$id|$today|$city|$phone|$smallfoto|$foto|$fotoksize|$size[0]|$size[1]|$rname|$ok|$ip|$price|$allfotoname||||"; }} // Возвращаем ОЧИЩЕННЫЕ от тегов данные!! $textdt=explode("|", $text); $katnumber=$textdt[0]; $tdt=explode("[ktname]", $textdt[1]); $katname="$tdt[0]"; $name=$textdt[2]; $zag=$textdt[3]; $type=$textdt[4]; $msg=$textdt[5]; $date=$textdt[6]; $deldt=$textdt[7]; $fid=$textdt[8]; $status=$textdt[9]; $today=$textdt[11]; $city=$textdt[12]; $phone=$textdt[13]; $smallfoto=$textdt[14]; $foto=$textdt[15]; $fotoksize=$textdt[16]; if (!isset($email)) {$email="";} // запись данных в файл НОВЫХ обяъвлений - будет мылится админу $fp=fopen("$datadir/adminmail.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$text\r\n"); flock ($fp,LOCK_UN); fclose($fp); // удаление последней строки $lines=file("$datadir/adminmail.dat"); $i=count($lines); $aitogo=$i-1; if ($i>$maxnewadmin) { if ($sendmailadmin =="1") { // отправка СООБЩЕНИЯ админу на мыло $headers=null; $headers.="From: $name <$email>\n"; $headers.="X-Mailer: PHP/".phpversion()."\n"; $headers.="Content-Type: text/html; charset=windows-1251"; $deldate=date("d.m.Y",$deldt); // конвертируем дату удаления в человеческий формат if (isset($nameonly)) {$name=$nameonly;} // Что не отправлять юзеру СПЕЦКОД [email] вместо имени // подготавливаем данные для отправки на емайл и вывода на экран if ($type=="С") {$sptype="Спрос";} else {$sptype="Предложение";} $msg=str_replace("\r\n", "
", $msg); $host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"]; $boardurl="http://$host$self"; $boardurl=str_replace("add.php", "index.php", $boardurl); $boardadm=str_replace("index.php", "admin.php", $boardurl); $allmsg="

$aitogo новых объявлений

$brdname ($boardurl)
"; do {$i--; $dt=explode("|", $lines[$i]); $msnum=$dt[0]; $zdt=explode("[ktname]",$dt[1]); $zdt2=explode("[email]",$dt[2]); if (!isset($zdt2[1])) $zdt2[1]=""; $dt[7]=date("d.m.Y",$dt[7]); // конверируем дату удаления в человеческий формат // Собираем всю информацию в теле письма $allmsg.="
Рубрика:  $zdt[0] >> $zdt[1] >> $dt[4]
Имя: $zdt2[0]Заголовок: $dt[3]
Е-майл: $zdt2[1]$dt[5]
Дата подачи: $dt[6] г.
Дата удаления: $dt[7] г.
Править ( редактировать * / удалить *)
Перейти в рубрику $zdt[1]

"; } while($i>"1"); $allmsg.=" * для редактирования / удаления объявлений зайдите в админку, авторизируйтесь. Не закрывая окно браузера, перейдите в это письмо и Вы сможете править объявления прямо отсюда.


** Это сообщение сгенерировано и отправлено роботом с доски объявлений. Отвечать на него не нужно. Если Вы получили это письмо, значит Ваш емайл указан в панели администратора и включена отправка последних объявлений на емайл."; mail("$adminemail", "$brdname ($aitogo новых объявлений на Вашей доске объявлений) по состоянию на $date $time", $allmsg, $headers); } $fp=fopen("$datadir/adminmail.dat","w+"); flock ($fp,LOCK_EX); fputs($fp,""); flock ($fp,LOCK_UN); fclose($fp);} // Конец блока отправки админу сообщений на мыло $fp=fopen("$datadir/$fid.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$text\r\n"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); // Блок добавляет единицы к кол-ву объявлений в категории $realbase="1"; if (is_file("$datadir/$datafile")) $lines=file("$datadir/$datafile"); if (!isset($lines)) $datasize=0; else $datasize=sizeof($lines); if ($datasize<=0) {if (is_file("$datadir/copy.dat")) {$realbase="0"; $lines=file("$datadir/copy.dat"); $datasize=sizeof($lines);}} if ($datasize<=0) exit("$back. Проблемы с Базой данных, файл данных пуст - обратитесь к администратору.
Файл РУБРИК несуществует! Зайдите в админку и создайте рубрики!"); $i=count($lines); $itogo=$i; $ok=null; do {$i--; $dt=explode("|",$lines[$i]); $lines[$i]=$lines[$i]; if ($fid==$dt[0]) {$ok=1; if ($type=="С") {$dt[3]++;} else {$dt[2]++;} $lines[$i]="$fid|$dt[1]|$dt[2]|$dt[3]|\r\n";} if ($ok!=null) {if ($dt[1]=="R") {$ok=null; $dt[3]++; $lines[$i]="$dt[0]|R|$dt[2]|$dt[3]|\r\n";}} } while($i > 0); $file=file("$datadir/$datafile"); $fp=fopen("$datadir/$datafile","a+"); flock ($fp,LOCK_EX); ftruncate ($fp,0); for ($i=0;$i<$itogo;$i++) {fputs($fp,$lines[$i]);} fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); // добавляем данные в СТАТИСТИКУ $fp=fopen("$datadir/stat.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$today|$deldt|$type|\r\n"); flock ($fp,LOCK_UN); fclose($fp); if ($newcityadd==TRUE) { // добавляем город в файл с городами - city.dat (если введён свой) $fp=fopen("$datadir/city.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"999|$city|\r\n"); flock ($fp,LOCK_UN); fclose($fp); } // добавляем в 10-20-ку новых объявлений $newmessfile="$datadir/newmsg.dat"; if (is_file($newmessfile)) { $file=file($newmessfile); $i=count($file); if ($showten>"0" & $i<$showten) { $fp=fopen("$newmessfile","a+"); flock ($fp,LOCK_EX); fputs($fp,"$text\r\n"); flock ($fp,LOCK_UN); fclose($fp); } else { $fp=fopen($newmessfile,"w"); flock ($fp,LOCK_EX); ftruncate ($fp,0); for ($ii=1;$ii<$showten; $ii++) {fputs($fp,$file[$ii]);} fputs($fp,"$text\r\n"); flock ($fp,LOCK_UN); fclose($fp);} } if (isset($_POST['idmsg'])) { // Если выбрано ПРОДЛЕНИЕ объявления unset($lines); $lines=file("$datadir/wait.dat"); $itogo=count($lines)-1; $i=$itogo; $k=null; do {$dt=explode("|",$lines[$i]); if ($dt[10]!=$id) {$newlines[$k]=$lines[$i]; $k++;} $i--; } while ($i>="0"); $itogo=count($newlines); $fp=fopen("$datadir/wait.dat","w"); flock ($fp,LOCK_EX); ftruncate ($fp,0); for ($i=1;$i<$itogo; $i++) {fputs($fp,$newlines[$i]);} flock ($fp,LOCK_UN); fclose($fp); } // отправка админу и юзеру сообщения о добавлении объявления $headers=null; // Настройки для отправки писем $headers.="From: робот-администратор <$adminemail>\n"; $headers.="X-Mailer: PHP/".phpversion()."\n"; $headers.="Content-Type: text/html; charset=windows-1251"; $deldate=date("d.m.Y",$deldt); // конвертируем дату удаления в человеческий формат if (isset($nameonly)) {$name=$nameonly;} // Что не отправлять юзеру СПЕЦКОД [email] вместо имени // подготавливаем данные для отправки на емайл и вывода на экран if ($type=="С") {$sptype="Спрос";} else {$sptype="Предложение";} $msg=str_replace("\r\n", "
", $msg); $host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"]; $boardurl="http://$host$self"; $boardurl=str_replace("add.php", "index.php", $boardurl); $remurl=str_replace("index.php", "tools.php", $boardurl); // Собираем всю информацию в теле письма $allmsg=" Ваше объявление добавлено
Доска объявлений \"$boardurl\"$brdname

Ваше объявление успешно добавлено

Ваше имя: $name
ID: $id    Расположение:   $rname >> $katname >> $sptype
Добавлено $date г. - $time     Срок размещения: $days дн.     Дата удаления: $deldate г.
Город: $city Тел: $phone
E-mail: $email
Заголовок объявления: $zag
$msg

Просмотреть объявление
Вернуться в рубрику $katname

    $boardurl - $brdname
    Связаться с Администратором доски"; $printmsg="$allmsg "; $kompr=file_get_contents("$datadir/msg.html"); // Считываем содержимое файла комерческого предложения в переменную $kompr.="

    * Это сообщение сгенерировано и отправлено роботом с доски объявлений. Отвечать на него не нужно."; $allmsg.=$kompr; if ($sendmail=="1") { // Отправляем ПИСЬМА если разрешена отправка if (isset($email) & $flag=="yes") { mail("$email", "Объявление ID-$id ($brdname)", $allmsg, $headers);} } // Cтрока удаляет КУКУ на компе юзера если он удалён в админке if (!isset($flag) and $onlyregistr==1) { if (isset($_COOKIE['wrbcookies'])) {setcookie("wrbcookies", "", time());}} print "$printmsg"; exit; } } //} // if is_file($fid.dat) if (!isset($_GET['event']) and !isset($_GET['fid'])) { // ГЛАВНАЯ СТРАНИЦА $rubrika="Добавление объявления"; include "$topurl"; addtop($brdskin); // подключаем ШАПКУ if ($onlyregistr=="1" and !isset($wrbname)) { print"




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

    На нашей доске размещение объявления

    без регистрации запрещено!

    Зарегистрироваться можно по этой ссылке










    "; } else { if (isset($_GET['fid'])) {$fid=$_GET['fid'];} else {$fid="";} $today=mktime()+$deltahour*3600; // обнуляем переменные на всякий случай (защита от взлома) $zag=null; $msg=null; $t1=null;$t2=null; $name=null; $email=null; $city=null; $phone=null; $info=null; $addpole=null; // Если выбрано ПРОДЛЕНИЕ объявления if (isset($_GET['id']) and !isset($_GET['coment'])) { $id=$_GET['id']; $stop=0; $num=null; $info="

    Пожалуйста, проверьте достоверность объявления.
    Если есть неточности - поправьте, сделайте выбор:

    - срока размещения;
    - введите защитный код;
    - согласитесь с правилами;
    - нажмите сохранить.

    "; $lines=file("data/wait.dat"); $itogo=count($lines)-1; $i=$itogo; // Считываем все объявления в память do {$dt=explode("|",$lines[$i]); if ($dt[10]==$id) {$num=$i; $i="0";} $i--; } while ($i>="0"); if ($num!=null) { $dto=explode("|",$lines[$num]); $tdw=explode("[ktname]", $dto[1]); $addpole=""; $zag=$dto[3]; // тема $msg=$dto[5]; // текст if ($dto[4]=="П") {$t1="checked"; $t2="";} else {$t2="checked"; $t1="";} // тип $city=$dto[12]; // город $phone=$dto[13]; // телефон if (stristr($dto[2],"[email]")) {$tdt=explode("[email]", $dto[2]); $name=$tdt[0]; $email=$tdt[1];} else {$name="$dt[2]"; $email="$dt[2]";} $fid=$dto[8];} else (exit("


    Такого объявления уже нет в базе.
    Рекомендую разместить его снова.
    Для этого перейдите по ссылке Разместить новое объявление")); } //конец блока ПРОДЛЕНИЕ объявления print"
    "; echo'"; } else { print " * ";} echo''; if ($antispam==TRUE and !isset($wrbname)) {print""; if (!isset($wrbname)) { print""; } // if !isset($wrfname) if ($fotoadd==TRUE) { if (isset($_COOKIE['wrbcookies']) or $fotoaddany==TRUE) { $maxfile=round($max_file_size/10.24)/100; print""; } } echo'
    $rubrika$info
    Категория:
    Тема объявления:*
    (не более $maxzag символов)
    Текст объявления:


    Выделить текст:    
    Цена: $valuta
    Тип объявления:* Предложение Спрос
    Город:  Другой:
    * если вашего города нет в списке введите его в поле справа
    Ваше имя:$addpole"; if (isset($wrbname)) { print "$wrbname
    Ваш Е-майл:*
    Телефон:
    (по шаблону: (495) 344356)
    Срок хранения объявления:
    АНТИСПАМ"; nospam();} // АНТИСПАМ ! print"
    С правилами ознакомлен
    Прикрепить фото:
    (допустимые типы: gif, jpg, png,
    размер менее $maxfile Кб.)
    *
    * Фото будет масштабировано до разрешения
    145 х 120 для отображения в рубрикаторе

    '; } } if (is_file("$brdskin/bottom.html")) include "$brdskin/bottom.html"; ?>
    Powered by WR-Board © 1.7.5 Lite