// WR-Znakomstva v 1.0.5 // 16.05.10 г. // Miha-ingener@yandex.ru
error_reporting (E_ALL);
include "config.php";
$valid_types=array("zip","rar","7z","jpg","jpeg","bmp","gif","png"); // допустимые расширения загружаемых файлов!
$shapka="
";
function prcmp ($a, $b) {if ($a==$b) return 0; if ($a<$b) return -1; return 1;} // Функция сортировки
function replacer ($text) { // ФУНКЦИЯ очистки кода
$text=str_replace(" ",' ',$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);
if (get_magic_quotes_gpc()) {
$text=str_replace("\"",'"',$text);
$text=str_replace("\'",'\'',$text);
$text=str_replace("\\",'\',$text);
} // если magic_quotes включена - чистим везде СЛЭШи в этих случаях:
// одиночные (') и двойные кавычки ("), обратный слеш (\)
$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; }
function nospam() { global $max_key,$rand_key; // Функция АНТИСПАМ
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'
Защитный код:
';
for ($i=0; $i<$max_key; $i++) {
$snum[$i]=mt_rand(0,9); $psnum=md5($snum[$i]+$rand_key+$dopkod);
echo "\n";
$xkey=$xkey.$snum[$i];}
$xkey=md5("$xkey+$rand_key+$dopkod"); //число + ключ из config.dbf + код меняющийся кажые 24 часа
print" (введите число, указанное на картинке)
";
return; }
if (isset($_GET['event'])) { $event=replacer($_GET['event']);
if ($event=="add") { // ДОБАВЛЕНИЕ АНКЕТЫ
// Получаем данные из формы при registr_globals=off
if (isset($_POST['login'])) $login=$_POST['login']; else $login="";
if (isset($_POST['name'])) $name=$_POST['name']; else $name="";
if (isset($_POST['familiya'])) $familiya=$_POST['familiya']; else $familiya="";
if (isset($_POST['email'])) $email=$_POST['email']; else $email="";
if (isset($_POST['day1'])) $day1=$_POST['day1']; else $day1="0";
if (isset($_POST['day2'])) $day2=$_POST['day2']; else $day2="0";
if (isset($_POST['day3'])) $day3=$_POST['day3']; else $day3="0";
if (isset($_POST['pol'])) $pol=$_POST['pol']; else $pol="0";
if (isset($_POST['rost'])) $rost=$_POST['rost']; else $rost="0";
if (isset($_POST['ves'])) $ves=$_POST['ves']; else $ves="0";
if (isset($_POST['city'])) $city=$_POST['city']; else $city="0";
$newcityadd=FALSE; if (isset($_POST['newcity'])) {if (strlen($_POST['newcity'])>3) {$newcityadd=TRUE; $city=$_POST['newcity'];}}
if ($city=="0") $city="не выбран";
if (isset($_POST['why'])) $why=$_POST['why']; else $why="0";
if (isset($_POST['spirt'])) $spirt=$_POST['spirt']; else $spirt="0";
if (isset($_POST['kurivo'])) $kurivo=$_POST['kurivo']; else $kurivo="0";
if (isset($_POST['deti'])) $deti=$_POST['deti']; else $deti="0";
if (isset($_POST['work'])) $work=$_POST['work']; else $work="";
if (isset($_POST['url'])) $url=$_POST['url']; else $url="";
if (isset($_POST['icq'])) $icq=$_POST['icq']; else $icq="";
if (isset($_POST['msg'])) $msg=$_POST['msg']; else $msg="";
if (isset($_POST['telefon'])) $telefon=$_POST['telefon']; else $telefon="";
if (isset($_POST['want'])) $want=$_POST['want']; else $want="0";
// чтоб БД не "уронили"
$login=str_replace("|","|",$login);
$name=str_replace("|","|",$name);
$familiya=str_replace("|","|",$familiya);
$email=str_replace("|","|",$email);
do $pass=mt_rand(100000,999999); while (file_exists("data/$pass.dat")); // Генерируем рандомный ПАРОЛЬ
$login=trim($login); $email=trim($email);
$login=stripslashes($login); $login=htmlspecialchars($login);
$pass=stripslashes($pass); $pass=htmlspecialchars($pass);
if ($antispam==TRUE) {
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 (strlen($login)<2 || strlen($login)>50) exit("$shapka $back логин должен быть от 2 до 50 символов!");
if (strlen($pass)<2 || strlen($pass)>50) exit("$shapka $back Вы не ввели пароль, либо пароль превышает 50 символов!");
if (strlen($name)<2 || strlen($name)>50) exit("$shapka $back ваше имя или пустое, или превышает 50 символов!");
//if (strlen($familiya)<2 || strlen($familiya)>50) exit("$shapka $back фамилия может содержать от 2 до 50 символов!");
if(!preg_match("/^[a-z0-9\.\-_]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is", $_POST['email']) or $_POST['email']=="") exit("$shapka $back и введите корректный E-mail адрес!");
if (strlen($city)>50 || strlen($work)>50 || strlen($url)>50 || strlen($icq)>50 || strlen($telefon)>50) exit("$shapka $back вы ввели слишком длинное название - $city $work $url $icq, что превышает 50 символов!");
if (strlen($msg)>$maxmsg) exit("$shapka $back ваше сообщение превышает $maxmsg символов!");
if(isset($_FILES['file'])) $fotoname = $_FILES['file']['name']; // определяем имя файла
if (strlen($fotoname)>2){
$fotosize=$_FILES['file']['size']; // Запоминаем размер файла
// проверяем расширение файла
$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|gif|png|)+$/is",$fotoname)) {print "Запрещено использовать РУССКИЕ буквы в имени файла!"; exit;}
// 4. Проверяем, может быть файл с таким именем уже есть на сервере
if (file_exists("$datadir/$fotoname")) {print "Файл с таким именем уже существует на сервере! Измините имя на другое!"; exit;}
// Конец защит по имени файла
$fotoksize=round($fotosize/10.24)/100; // размер ЗАГРУЖАЕМОГО ФОТО в Кб.
$fotomax=round($max_file_size/10.24)/100; // максимальный размер фото в Кб.
if ($fotoksize>$fotomax) {print"Вы превысили допустимый размер фото! Максимально допустимый размер фото: $fotomax Кб. Вы пытаетесь загрузить изображение: $fotoksize Кб!"; exit;}
if ($fotosize>"0" and $fotosize<$max_file_size) {
copy($_FILES['file']['tmp_name'], $datadir."/".$fotoname);
print "
Фото УСПЕШНО загружено: $fotoname (Размер: $fotosize байт)";}
else { print "Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!"; exit;}
$size=getimagesize("$datadir/$fotoname");
// Проверяем размер фото. Если "габариты" меньше заданный в админке 150 х 120 - то ничего с ним не делаем
// блок делает мальное изображение исходной фотки - в качестве превьюшки
$size0=$size[0]; $size1=$size[1];
if ($size[0]>$smwidth or $size[1]>$smheight) {
$smallfoto="sm-$fotoname";
require ('tumbmaker.php');
if (img_resize("$datadir/$fotoname", "$datadir/$smallfoto", $smwidth, $smheight)) echo 'Изображение масштабировано успешно.'; else echo 'Ошибка МАСШАБИРОВАНИЯ фото! Поблемы с GD-библиотекой! Обратитесь к Администратору';
} else {$smallfoto="$fotoname";}
} else {
$smallfoto="nopol.gif"; $fotoname="nopol.gif";
if ($pol=="1") {$smallfoto="m_no.gif"; $fotoname="m_no.gif"; if ($want=="0") {$want="Её";}}
if ($pol=="2") {$smallfoto="g_no.gif"; $fotoname="g_no.gif"; if ($want=="0") {$want="Его";}}
$fotoksize="0"; $size0="0"; $size1="0"; }
// Обработка поля цель знакомства
if ($why!="1" and $why!="2" and $why!="3" and $why!="4" and $why!="0") {print"$back ошибочно введены данные цели знакомства!"; exit;}
// Обработка поля отношение к СПИРТНОМУ
if ($spirt!="1" and $spirt!="2" and $spirt!="3") {$spirt="не выбрано";}
if ($spirt=="1") {$spirt="Терпеть не могу";}
if ($spirt=="2") {$spirt="Редко";}
if ($spirt=="3") {$spirt="Часто";}
// Обработка поля отношение к КУРЕНИЮ
if ($kurivo!="1" and $kurivo!="2" and $kurivo!="3") {$kurivo="не выбрано";}
if ($kurivo=="1") {$kurivo="Терпеть не могу";}
if ($kurivo=="2") {$kurivo="Редко";}
if ($kurivo=="3") {$kurivo="Часто";}
// Обработка поля ДЕТИ
//if ($deti=="1") {$deti="да";} else {$deti="нет";}
// Обработка полей РОСТ и ВЕС
//if ($rost=="0") {$rost="средний";} if ($ves=="0") {$ves="нормальный";}
// пробегаем по файлу с номерами анкет - ищем наибольшее и добавляем +1
$key="0";
if (is_file("$datafile")) { $lines=file("$datafile"); $imax=count($lines); $i=1; do {$dt=explode("|", $lines[$i]); if ($key<$dt[0]) {$key=$dt[0];} $i++; } while($i < $imax); $key++;}
$delta=0; // Защита по времени
if (!ctype_digit($day1) or !ctype_digit($day2) or !ctype_digit($day3)) {exit(" $back. Попытка взлома. Хакерам здесь не место.");}
if ($day1>"0" and $day2>"0" and $day3>"0") {if (strlen($day1)<3 and strlen($day2)<3 and strlen($day3)==4)
$day3old=$day3; if ($day3<1971) {$delta=(1971-$day3)*31510800; $day3=1971;} // Так как ВИНДА И PHP 4 не поддерживает UNIX-время с минусом, мутим...
{ $dayx=mktime(0,0,0,$day2,$day1,$day3);}} // Преобразуем дату рождения в UNIX-формат
if (!isset($dayx)) {print"$back введите ДАТУ рождения"; exit;}
if ($delta!=0) {$dayx=$dayx-$delta;}
$regdate=mktime(); // текущая дата - дата регистрации
// собираем дату рождения
$datar=""; if (strlen($day1)<2) $datar="0"; $datar.="$day1."; if (strlen($day2)<2) $datar.="0"; $datar.="$day2.$day3old";
// Данные: UID-записи|логин|пароль|имя|емайл|деньUNIX|UNIX-время|пол|рост|вес|город|ЦЕЛЬ|СПИРТ|КУРИВО|дети|работа|УРЛ|ICQ|телефон|о_себе|фото_малое|фото_большое|размер_Кб|ширина|высота|КОГО_ИЩУ|ДАТА<1970|Дата рождения ДД.ММ.ГГГГ||||
$text="$key|$login|$pass|$name|$email|$dayx|$regdate|$pol|$rost|$ves|$city|$why|$spirt|$kurivo|$deti|$work|$url|$icq|$telefon|$msg|$smallfoto|$fotoname|$fotoksize|$size0|$size1|$want|$day1.$day2.$day3old|$datar|$familiya||";
/*
$id - $dt[0]
$login - Логин $dt[1]
$pass - Пароль $dt[2]
$name - Имя $dt[3]
$email - e-mail $dt[4]
$dayx - Дата рождения в UNIX-формате $dt[5]
$date - дата время регистрации анкеты UNIX $dt[6]
$pol - Пол: Мальчик/Девочка / Мужчина/Женщина $dt[7]
$rost - Рост: $dt[8]
$ves - Вес: $dt[9]
$city - Город: $dt[10]
$why - Цель: серьёзные отношения / флирт / друг по переписке / просто секс $dt[11]
$spirt - Отношение к спиртому: Терпеть не могу/часто/редко $dt[12]
$kurivo - Отношение к курению: Терпеть не могу/часто/редко $dt[13]
$deti - Дети: да/нет $dt[14]
$work - Род деятельности: поле ввода $dt[15]
$url - Сайт $dt[16]
$icq - ICQ $dt[17]
$telefon - $dt[18]
$msg - кратенько О себе $dt[19]
$file - Фото - $smallfoto - $dt[20] $fotoname - $dt[21] $fotoksize - $dt[22] $size0 - $dt[23] $size1 - $dt[24]
$want - Ищу: Его/Её/Его + Её - $dt[25]
$familya - ФАМИЛИЯ - $dt[28]
*/
$text=replacer($text);
$fp=fopen($datafile,"a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$datafile", 0644);
if ($newcityadd==TRUE) { // добавляем город в файл с городами - city.dat (если введён свой)
$fp=fopen("data/city.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"999|$city|\r\n");
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("data/city.dat", 0644);}
// Возвращаем переменные
$tdt=explode("|", $text); $name=$tdt[1]; $email=$tdt[4];
$key="0";
// запись данных в файл НОВЫХ АНКЕТ
$fp=fopen("data/newdat.php","a+");
flock ($fp,LOCK_EX);//блокировка файла
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);//снятие блокировки
fclose($fp);
@chmod("$fp", 0644);
if ($sendmail=="1") { // отправка СООБЩЕНИЯ ПОЛЬЗОВАТЕЛЮ на мыло
$headers=null;
$headers.="From: Администратор <".$adminemail.">\n";
$headers.="X-Mailer: PHP/".phpversion()."\n";
$headers.="Content-Type: text/html; charset=windows-1251";
$host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"]; $mturl="http://$host$self";
$allmsg="
";
$dt=explode("|",$text); $msnum=$dt[0];
if ($dt[7]=="0") {$dt[7]="#008800>не скажу";} if ($dt[7]=="1") {$dt[7]="blue>Мужчина";} if ($dt[7]=="2") {$dt[7]="red>Женщина";}
if ($dt[8]=="1") {$dt[8]="менее 140";} if ($dt[8]=="2") {$dt[8]="более 200";} if ($dt[9]=="1") {$dt[9]="менее 40";} if ($dt[9]=="2") {$dt[9]="более 120";}
if ($dt[11]=="1") {$dt[11]=$why1;} if ($dt[11]=="2") {$dt[11]=$why2;} if ($dt[11]=="3") {$dt[11]=$why3;} if ($dt[11]=="4") {$dt[11]=$why4;} if ($dt[11]=="0") {$dt[11]=$why0;}
if ($dt[12]=="1") {$dt[12]="Терпеть не могу";} if ($dt[12]=="2") {$dt[12]="Часто";} if ($dt[12]=="3") {$dt[12]="Редко";}
if ($dt[13]=="1") {$dt[13]="Терпеть не могу";} if ($dt[13]=="2") {$dt[13]="Часто";} if ($dt[13]=="3") {$dt[13]="Редко";}
$vozrast=intval((mktime()-$dt[5])/31536000); $dater=date("d.m.Y",$dt[6]); $dney="лет";
if ($vozrast>20) {$ddays=substr($vozrast,-1);} else {$ddays=$vozrast;}
if ($ddays=="1") {$dney="год";} if ($ddays=="2" or $ddays=="3" or $ddays=="4") {$dney="года";}
$allmsg.="
* Если Вы ошиблись в воде анкеты, то удалить анкету Вы можете, перейдя по этой ссылке!
";
mail("$dt[4]", "Ваша анкета на сайте - $mtname", $allmsg, $headers);
} // if $sendmail=="1"
// удаление последней строки
$lines=file("data/newdat.php"); $i=count($lines)-1; $aitogo=$i-1;
if ($i>$maxnewadmin) {
if ($sendmailadmin==TRUE) { // отправка СООБЩЕНИЯ админу и на мыло
$headers=null;
$headers.="From: ".$name." <".$email.">\n";
$headers.="X-Mailer: PHP/".phpversion()."\n";
$headers.="Content-Type: text/html; charset=windows-1251";
$host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"]; $mturl="http://$host$self";
$allmsg="
";
do {$i--; $dt=explode("|", $lines[$i]); $msnum=$dt[0];
if ($dt[7]=="0") {$dt[7]="#008800>не скажу";} if ($dt[7]=="1") {$dt[7]="blue>Мужчина";} if ($dt[7]=="2") {$dt[7]="red>Женщина";}
if ($dt[8]=="1") {$dt[8]="менее 140";} if ($dt[8]=="2") {$dt[8]="более 200";} if ($dt[9]=="1") {$dt[9]="менее 40";} if ($dt[9]=="2") {$dt[9]="более 120";}
if ($dt[11]=="1") {$dt[11]=$why1;} if ($dt[11]=="2") {$dt[11]=$why2;} if ($dt[11]=="3") {$dt[11]=$why3;} if ($dt[11]=="4") {$dt[11]=$why4;} if ($dt[11]=="0") {$dt[11]=$why0;}
if ($dt[12]=="1") {$dt[12]="Терпеть не могу";} if ($dt[12]=="2") {$dt[12]="Часто";} if ($dt[12]=="3") {$dt[12]="Редко";}
if ($dt[13]=="1") {$dt[13]="Терпеть не могу";} if ($dt[13]=="2") {$dt[13]="Часто";} if ($dt[13]=="3") {$dt[13]="Редко";}
$vozrast=intval((mktime()-$dt[5])/31536000); $dater=date("d.m.Y",$dt[6]); $dney="лет";
if ($vozrast>20) {$ddays=substr($vozrast,-1);} else {$ddays=$vozrast;}
if ($ddays=="1") {$dney="год";} if ($ddays=="2" or $ddays=="3" or $ddays=="4") {$dney="года";}
$allmsg.="
Спасибо $name, Ваше фото успешно добавлено. Через несколько секунд Вы будете перемещены на главную страницу каталога знакомств.
Если этого не происходит, то для продолжения нажмите здесь
";
exit; }
if ($event=="delanket") { // ЕСЛИ пользователь перешёл по ссылке - УДАЛИТЬ анкету
$lines=file($datafile); $maxi=count($lines);
if (isset($_GET['delanket'])) $delanket=$_GET['delanket']; else exit('ошибочный запрос!');
if (isset($_GET['nik'])) $nik=$_GET['nik']; else exit('ошибочный запрос!');
if (isset($_GET['pass'])) $pass=$_GET['pass']; else exit('ошибочный запрос!');
if ($maxi<3) exit("$back. Нужно оставить хотябы одну анкету!");
$number=FALSE; for($i=0; $i<$maxi;) { $dt=explode("|",$lines[$i]);
if ($dt[1]==$nik and $dt[2]==$pass) {$number=$i; $i=$maxi;}
$i++;}
if ($number!=FALSE) { // ЕСЛИ есть такой пользователь в базе
if (is_file("$datadir/$dt[5]")) unlink ("$datadir/$dt[5]"); // УДАЛЯЕМ малое изображение
if (is_file("$datadir/$dt[6]")) unlink ("$datadir/$dt[6]"); // УДАЛЯЕМ большое изображение
if (is_file("$datadir/$dt[10].dat")) unlink ("$datadir/$dt[10].dat"); // УДАЛЯЕМ файл с комментариями
$fp=fopen($datafile,"w");
flock ($fp,LOCK_EX);
for ($i=0;$ifunction reload() {location = 'index.php'}; setTimeout('reload()', 2500);
$addtext Через несколько секунд Вы будете перемещены на главную страницу каталога знакомств.
Если этого не происходит, то для продолжения нажмите здесь
";
exit;
} // if $event==delanket
if ($event=="addform") { // Выводим ФОРМУ ДЛЯ ЗАПОЛНЕНИЯ АНКЕТЫ
include "$zskin/top.html";
$fotomax=round($max_file_size/10.24)/100; // максимальный размер фото в Кб.
print "$shapka
"
; }
} while($i < $maxi);
//if is_file("$datadir/$msnum.dat")
} // $event=="coment"
if ($event=="help") { // ЧАВО - правила заполнения анкеты
include "$zskin/top.html";
print"
Часто задаваемые вопросы при заполнении анкеты
Логин: обязателен, пишиться латиницей, не менее 2 символов и не превышать 25 символов.
Фамилия: обязательно, пишеться любыми буквами, цифрами, не менее 2 символов и не превышать 25 символов.
Имя: обязательно, пишеться любыми буквами, цифрами, не менее 2 символов и не превышать 25 символов.
Е-майл: обязателен, пишиться латиницей, должен иметь корректный вид к примеру: email@email.ru
ICQ: не обезателен, пишеться по желанию.
Телефон: не обезателен, пишеться по желанию.
Сайт: не обезателен, пишеться по желанию.
Дата рождения: обязательна.
Род деятельности: не обязательно.
Прикрепить фото: максимально разрешённый размер фото: 500 Кб, должен иметь формат gif, jpg, png, jpeg. Имя фото должно быть написано латиницей: primer.jpg , а не пример.jpg
Кратко о себе:обязательно, пишеться любыми символами, менее 300 символов.
";
include "$zskin/bottom.html"; exit;} // КОНЕЦ ЧАВО
} //if isset($event)
if (isset($_GET['anketa'])) { // показываем АНКЕТУ ЦЕЛИКОМ
if ((ctype_digit($_GET['anketa'])) and (strlen($_GET['anketa'])<10)) {
$msnum=$_GET['anketa']; $msnum=trim($msnum);
if (!ctype_digit($msnum) or strlen($msnum)>5) exit("$back. Попытка взлома. Хакерам здесь не место.");
$lines=file($datafile); $maxi=count($lines); $i="0"; $pred="";
do {$dt=explode("|", $lines[$i]); $i++;
if ($dt[0]=== $msnum) {
$number=$i; $numtek=$maxi-$number+1; // ДЛЯ ДВИЖЕНИЯ по записям используется
include "$zskin/top.html"; $ok="1";
// расчёт возраста и преобразование к нужному типу
$vozrast=intval((mktime()-$dt[7])/31536000);
if ($dt[5]>=1) {$dayx=date("d.m.Y",$dt[7]);} else {$dayx=$dt[7];}
$dater=date("d.m.Y",$dt[7]); $dney="лет";
if ($vozrast>20) {$ddays=substr($vozrast,-1);} else {$ddays=$vozrast;}
if ($ddays=="1") {$dney="год";}
if ($ddays=="2" or $ddays=="3" or $ddays=="4") {$dney="года";}
print"
$dt[1]
Анкета $numtek
";
//if (strlen($dt[17]>3)) {print"";}
print"
Фамилия: $dt[2]
Имя: $dt[4]
Пол: $dt[6]
Город: $dt[3]
Возраст: $vozrast $dney
Рост: $dt[8] см.
Вес: $dt[9] кг.
$dt[11]
$dt[12]
";
if (is_file("data/links.html")) { $lines_url=file("data/links.html");
if (count($lines_url) != 0)
{
include error_reporting(0);
if ($number<$maxi) {$next=$number-1; $dtlast_x=explode("|",$lines_url[$next]);
print "
$dtlast_x[1]
";
}
}
}
if (!isset($ok)) exit("
$back.
Данной анкеты нет в базе, возможно, её удалил админ.
");
include ("$zskin/bottom.html");
print "
";
exit;
}
} // if isset($event)
if (!isset($_GET['event']) and !isset($_GET['anketa'])) { // ГЛАВНАЯ страница
include "$zskin/top.html";
if (is_file($datafile)) { $lines=file($datafile);
$maxi=count($lines)-1; $itogo=$maxi; $itogom="0"; $itogog="0"; $i="0";
// ПРОБЕГАЕМ - считаем М и Ж
do {$i++; $rdt = explode("|", $lines[$i]); if ($rdt[6]=="1") {$itogom++;} if ($rdt[6]=="2") {$itogog++;} } while($i<$maxi);
if ($itogom=="0") {$itogom="нет";} if ($itogog=="0") {$itogog="нет";}
if ($maxi>=0) {
if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="1";}
if ($page<="0" or !ctype_digit($page)) {$page="1";}
// Выводим qq фото на текущей странице
$maxpage=ceil(($maxi)/$qq); if ($page>$maxpage) {$page=$maxpage;}
$fm=$maxi-$qq*($page-1); if ($fm<"0") {$fm=$qq;}
$lm=$fm-$qq; if ($lm<"0") {$lm="0";}
print"
";
do {$dt=explode("|", $lines[$fm]); $msnum=$dt[0];
$fm--;
$tp=$fm; $teknum=$maxi-$tp;
// Обработка поля ПОЛ Мужчина/Женщина 1/2 0 - хакер
if ($dt[6]=="0") {$dt[6]="#008800>не скажу";}
if ($dt[6]=="1") {$dt[6]="blue>Мужской";}
if ($dt[6]=="2") {$dt[6]="red>Женский";}
// обработка полей РОСТ и ВЕС
if ($dt[8]=="1") {$dt[9]="менее 140";}
if ($dt[8]=="2") {$dt[9]="более 200";}
if ($dt[9]=="1") {$dt[9]="менее 40";}
if ($dt[9]=="2") {$dt[9]="более 120";}
// Обработка поля ЦЕЛЬ знакомства
if ($dt[11]=="1") {$dt[11]=$why1;} if ($dt[11]=="2") {$dt[11]=$why2;} if ($dt[11]=="3") {$dt[11]=$why3;} if ($dt[11]=="4") {$dt[11]=$why4;} if ($dt[11]=="0") {$dt[11]=$why0;}
// расчёт возраста и преобразование к нужному типу
$vozrast=intval((mktime()-$dt[7])/31536000);
$dater=date("d.m.Y",$dt[7]);
$dney="лет";
if ($vozrast>20) {$ddays=substr($vozrast,-1);} else {$ddays=$vozrast;}
if ($ddays=="1") {$dney="год";}
if ($ddays=="2" or $ddays=="3" or $ddays=="4") {$dney="года";}
print"
Анкета $teknum
Ник: $dt[1]
Фамилия: $dt[4]
Имя: $dt[2]
Пол: $dt[6]
Город: $dt[3]
Возраст: $vozrast $dney
Рост: $dt[8] см.
Вес: $dt[9] кг.
";
$msnum=trim($msnum);
if (!ctype_digit($msnum) or strlen($msnum)>5) exit("$back. Попытка взлома. Хакерам здесь не место.");
if (is_file("$datadir/$msnum.dat")) {
$rlines=file("$datadir/$msnum.dat"); $ri=count($rlines); $ritogo=$ri; $bals=0; $all=0;
do {$ri--; $edt=explode("|",$rlines[$ri]); $edt[3]=date("d.m.Y H:i:s",$edt[3]); if ($edt[4]!=0) {$bals=$bals+$edt[4]; $all++;} else $edt[4]="-"; } while($ri>0);
if ($ritogo=="0") {$ritogo="1";}
if ($bals==0) {$itogobals="+";} else {$itogobals=round($bals*10/$all)/10; $itogobals.="";}
print "
";
} else {print"
";}
print"
";
$cm=1; // додумать! // ДЕЛИМ ВСЕ РУБРИКИ на столбцы
$zz=$maxi-$fm/$colrubperpage;
if ((round(($maxi-$fm)/$colrubperpage))==(($maxi-$fm)/$colrubperpage)) {$cm++; print "
";
/* пока ещё в разработке
// СТАТИСТИКА -=ДНИ РОЖДЕНИЯ=-
if (is_file("$datafile")) { // считываем всех юзеров, ищем дни варения
$userlines=file("$datafile");
$usercount=count($userlines); $ui=$usercount-1; $t_people=""; $z_people=""; $s_p="0"; $s_people=""; $p_people="";
do {$udt=explode("|", $userlines[$ui]);
if (isset($udt[1])) {
$udt[27]=substr("$udt[27]",0, 10); // обрезаем дату рождения по формату
if (preg_match("(\d{2}\.\d{2}\.\d{4})",$udt[27])) { // соответствует шаблону ДД.ММ.ГГГГ
$bday=substr("$udt[27]",0, -5);
$dmtoday=date("d.m");
$todaydt=explode(".",$dmtoday);
$codename=urlencode($udt[0]);
if ($bday==$dmtoday) {$t_people.="$udt[0], ";}
$dt=explode(".",$udt[27]);
if ($dt[1]==12) {$year=1972;} else {$year=1973;} // для того, чтобы верно считать с декабря по январь
$newdate=mktime(0,0,0,$dt[1],$dt[0],$year); // для дня рождения
$tekdt=mktime(0,0,0,$todaydt[1],$todaydt[0],$year); // текущую дату переводим в этот формат
$deystodate=round(($newdate-$tekdt)/86400); // через сколько дней наступит событие
// собираем для ВЧЕРАШНИХ
if ($deystodate=="-1") {$z_people.="$udt[0], ";}
// собираем ПРИБЛИЖАЮЩИХСЯ в массив (БОЛЬШЕ 1 и МЕНЬШЕ 7 дней)
if ($deystodate>1 and $deystodate<7) {if ($deystodate<10) $deystodate="0$deystodate"; $s_peo[$s_p]="$deystodate|$udt[0]|"; $s_p++;}
} // if указан день варения в переменной $udt[5]
} // if iiset($udt[1])
$ui--;
} while ($ui>0);
$today=mktime();
}
if (isset($s_peo)) {
usort($s_peo,"prcmp"); // сортируем дни по возрастанию
$i=0; do {$sdt=explode("|",$s_peo[$i]);
$sdt[0]=intval($sdt[0]); // преобразуем строку в число, чтобы отбросить 0 в начале
$codename=urlencode($sdt[1]);
$s_people.="$sdt[1] ($sdt[0] дн.), "; $i++;
} while ($i<$s_p);
} // ЕСЛИ есть у кого-нибудь дни варения
// На тот случай, если дней рождения нет, делаем заглушки
if (strlen($t_people)>1) {$t_people="$t_peopleискренне поздравляю!";} else {$t_people="нет.";}
if (strlen($z_people)>1) {$z_people="$z_people поздравляем с Днём варения!";} else {$z_people="нет.";}
if (strlen($s_people)>1) {$s_people="$s_people совсем скоро день варения!";} else {$s_people="Не придвидится.";}
print"
";
*/
/* в разработке!!!!!!!!
// СТАТИСТИКА -= Последние Анкеты в базе =-
if (is_file("data/newdat.php")) { $newmessfile="data/newdat.php";
$lines=file($newmessfile); $i=count($lines); //if ($i>10) $i=10; (РАСКОМЕНТИРУЙ - ВОТ ГДЕ СИЛА!!! ;-))
if ($i>1) {
echo('
Свежие анкеты
');
$a1=$i-1;$u="-1"; // выводим данные по возрастанию или убыванию
do {$dt=explode("|", $lines[$a1]); $a1--;
// Данные: UID-записи|логин|пароль|имя|емайл|деньUNIX|UNIX-время|пол|рост|вес|город|ЦЕЛЬ|СПИРТ|КУРИВО|дети|работа|УРЛ|ICQ|телефон|о_себе|фото_малое|фото_большое|размер_Кб|ширина|высота|КОГО_ИЩУ|ДАТА<1970|Дата рождения ДД.ММ.ГГГГ||||
//$text="$key|$login|$pass|$name|$email|$dayx|$regdate|$pol|$rost|$ves|$city|$why|$spirt|$kurivo|$deti|$work|$url|$icq|$telefon|$msg|$smallfoto|$fotoname|$fotoksize|$size0|$size1|$want|$day1.$day2.$day3old|$datar|||";
if (isset($dt[1])) { // Если строчка потерялась в скрипте (пустая строка) - то просто её НЕ выводим
$dt[6]=htmlspecialchars($dt[6]);
$dt[6]=str_replace("[b] "," ",$dt[6]);
$dt[6]=str_replace("[/b]"," ",$dt[6]);
$dt[6]=str_replace("[RB] "," ",$dt[6]);
$dt[6]=str_replace("[/RB]"," ",$dt[6]);
$dt[6]=str_replace("[Code] "," ",$dt[6]);
$dt[6]=str_replace("[/Code]"," ",$dt[6]);
$dt[6]=str_replace("[Quote] "," ",$dt[6]);
$dt[6]=str_replace("[/Quote]"," ",$dt[6]);
$dt[6]=str_replace(" ","\r\n", $dt[6]);
$dt[2]=str_replace(".200",".0", $dt[2]);
$dt[2]=substr($dt[2],0,8);
$dt[3]=substr($dt[3],0,5);
if ($dt[8]>$qq) {$page=ceil($dt[8]/$qq);} else {$page=1;} // Считаем страницу
// Обработка поля отношение к СПИРТНОМУ
$spirt=$dt[12];
if ($spirt!="1" and $spirt!="2" and $spirt!="3") {$spirt="пью";}
if ($spirt=="1") {$spirt="Не пью";}
if ($spirt=="2") {$spirt="Пью редко";}
if ($spirt=="3") {$spirt="Пью часто";}
// Обработка поля отношение к КУРЕНИЮ
$kurivo=$dt[13];
if ($kurivo!="1" and $kurivo!="2" and $kurivo!="3") {$kurivo="курю";}
if ($kurivo=="1") {$kurivo="Не курю";}
if ($kurivo=="2") {$kurivo="Курю редко";}
if ($kurivo=="3") {$kurivo="Курю часто";}
$vozrast=intval((mktime()-$dt[5])/31536000); $dater=date("d.m.Y",$dt[6]); $dney="лет";
if ($vozrast>20) {$ddays=substr($vozrast,-1);} else {$ddays=$vozrast;}
if ($ddays=="1") {$dney="год";} if ($ddays=="2" or $ddays=="3" or $ddays=="4") {$dney="года";}
if ($dt[7]=="1") {$pol="M";} else {$pol="Д";}
print"$pol...$dt[1]...$vozrast $dney...$dt[8]...$dt[9]...$dt[10]...$kurivo...$spirt ";
} // если строчка потерялась
$a11=$u; $u11=$a1;
} while($a11 < $u11);
echo'
';}
} // Конец блока последних сообщений
*/
} // конец if (statistika==1)
// выводим СПИСОК СТРАНИЦ ВНИЗУ
print"