define('GAME',true);
include('_incl_data/__config.php');
include('_incl_data/class/__db_connect.php');
include('_incl_data/class/__chat_class.php');
include('_incl_data/class/__filter_class.php');
function getIp() {
$keys = [
'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED_FOR',
'REMOTE_ADDR'
];
foreach ($keys as $key) {
if (!empty($_SERVER[$key])) {
$ip = trim(end(explode(',', $_SERVER[$key])));
if (filter_var($ip, FILTER_VALIDATE_IP)) {
return $ip;
}
}
}
}
function add_effn($uid,$id)
{
$g = array(0=>0,1=>'');
$eff = mysql_fetch_array(mysql_query('SELECT * FROM `eff_main` WHERE `id2` = "'.$id.'" LIMIT 1'));
if(isset($eff['id2']))
{
$n = $eff['mname'];
$d = $eff['mdata'];
$ins = mysql_query('INSERT INTO `eff_users` (`overType`,`id_eff`,`uid`,`name`,`timeUse`,`data`) VALUES ("'.$eff['oneType'].'","'.$eff['id2'].'","'.$uid.'","'.$n.'","'.time().'","'.$d.'")');
if($ins)
{
$g[0] = 1;
$g[1] = '...';
}
}
return $g;
}
function send_mime_mail($name_from, // имя отправителя
$email_from, // email отправителя
$name_to, // имя получателя
$email_to, // email получателя
$data_charset, // кодировка переданных данных
$send_charset, // кодировка письма
$subject, // тема письма
$body // текст письма
)
{
$to = mime_header_encode($name_to, $data_charset, $send_charset)
. ' <' . $email_to . '>';
$subject = mime_header_encode($subject, $data_charset, $send_charset);
$from = mime_header_encode($name_from, $data_charset, $send_charset)
.' <' . $email_from . '>';
if($data_charset != $send_charset) {
$body = iconv($data_charset, $send_charset, $body);
}
/*$headers = "From: $from\r\n";
$headers .= "Content-type: text/html; charset=$send_charset\r\n";*/
$headers = array ('From' => $email_from, 'Content-type' => 'text/html; charset='.$send_charset.'\r\n', 'To' => $to, 'Subject' => $subject, 'Reply-To' => $email_from);
//error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_STRICT);
set_include_path("." . PATH_SEPARATOR . ($UserDir = dirname($_SERVER['DOCUMENT_ROOT'])) . "/pear/php" . PATH_SEPARATOR . get_include_path());
require_once "/usr/local/lib/php/Mail.php"; // /usr/local/lib/php/Mail.php
$smtp = Mail::factory('smtp', array(
'host' => 'smtp.gmail.com',
'port' => '587',
'auth' => true,
'username' => 'newcombats22@gmail.com', //your gmail account
'password' => 'newcombats1974' // your password
));
$mail = $smtp->send($to, $headers, $body);
/*
if (PEAR::isError($mail)) {
echo("
" . $mail->getMessage() . "
"); die;
} else {
echo("Message successfully sent!
"); die;
}
*/
return $mail;
}
function mime_header_encode($str, $data_charset, $send_charset) {
if($data_charset != $send_charset) {
$str = iconv($data_charset, $send_charset, $str);
}
return '=?' . $send_charset . '?B?' . base64_encode($str) . '?=';
}
function send_mail($to,$to_name,$from = 'newcombats22@gmail.com',$name = 'Бойцовский Клуб 2',$title,$text) {
send_mime_mail($name,
$from,
$to_name,
$to,
'CP1251', // кодировка, в которой находятся передаваемые строки
'KOI8-R', // кодировка, в которой будет отправлено письмо
$title,
$text); // \r\n
}
function en_ru($txt)
{
$g = false;
$en = preg_match("/^(([0-9a-zA-Z _-])+)$/i", $txt);
$ru = preg_match("/^(([0-9а-яА-Я _-])+)$/i", $txt);
if(($ru && $en) || (!$ru && !$en))
{
$g = true;
}
return $g;
}
function error_check($id,$str_u,$name = 0)
{
//***************************************************
session_start();
$error="";
if ($id==1 && !empty($str_u)) // Проверка логина
{
$nologin = array(0=>'ангел',1=>'angel',2=>'администрация',3=>'administration',4=>'Комментатор',5=>'Мироздатель',6=>'Мусорщик',7=>'Падальщик',8=>'Повелитель',9=>'Архивариус',10=>'Пересмешник',11=>'Волынщик',12=>'Лорд Разрушитель',13=>'Милосердие',14=>'Справедливость',15=>'Искушение',16=>'Вознесение');
$i = 0;
while($i20)
{
$error = 'Логин должен содержать не более 20 символов.';
$error = $error.'
Пример правильного никнейма: Петя Убиватор, Коля, xalop.
Пример неправильного никнейма: )))), kolя)=-/.';
}
if(strlen($str_u)<4)
{
$error = 'Логин должен содержать не менее 4 символов.';
$error = $error.'
Пример правильного никнейма: Петя Убиватор, Коля, xalop.
Пример неправильного никнейма: )))), kolя)=-/.';
}
//Один алфавит
$er = en_ru($str_u);
if($er==true)
{
$error = 'В логине разрешено использовать только буквы одного алфавита русского или английского. Нельзя смешивать.';
$error = $error.'
Пример правильного никнейма: Петя Убиватор, Коля, xalop.
Пример неправильного никнейма: )))), kolя)=-/.';
}
//Запрещенный символы
if(strpos($sr,$str_u))
{
$error = 'Логин содержит запрещенные символы.';
$error = $error.'
Пример правильного никнейма: Петя Убиватор, Коля, xalop.
Пример неправильного никнейма: )))), kolя)=-/.';
}
//Персонажи в базе
$log = mysql_fetch_array(mysql_query('SELECT `id` from `users` where `login`="'.mysql_real_escape_string($str_u).'" LIMIT 1'));
$log2 = mysql_fetch_array(mysql_query('SELECT `id` from `lastNames` where `login`="'.mysql_real_escape_string($str_u).'" LIMIT 1'));
if(isset($log['id']) || isset($log2['id']))
{
$error = 'Логин '.$str_u.' уже занят, выберите другой.';
}
//Разделители
if(substr_count($str_u,' ')+substr_count($str_u,'-')+substr_count($str_u,'_')>2)
{
$error = 'Не более двух разделителей одновременно (пробел, тире, нижнее подчеркивание).';
$error = $error.'
Пример правильного никнейма: Петя Убиватор, Коля, xalop.
Пример неправильного никнейма: )))), kolя)=-/.';
}
}
if ($id==2 && !empty($str_u)) //проверка емаила
{
if(strlen($str_u)<6 || strlen($str_u)>50)
{
$error = 'E-mail не может быть короче 6-х символов и длинее 50-ти.';
}
else
{
$testEREm = mysql_fetch_array(mysql_query('SELECT `mail` FROM `users` WHERE `mail` LIKE "'.$str_u.'" LIMIT 1'));
$emails = mysql_fetch_array(mysql_query('SELECT * FROM `ban_email` WHERE `email` LIKE "'.$str_u.'" LIMIT 1'));
if (isset($testEREm['mail']))
{
$error = 'E-mail уже занят.';
}
if (isset($emails['email']))
{
$error = 'E-mail заблокирован свяжитесь с Администрацией.';
}
$x=1;
$i=1;
$tx='
Возможно использовать только сервисы почты:
';
$sp = mysql_query('SELECT * FROM `trust_email`');
while($pl = mysql_fetch_array($sp))
{
$emailtest=$pl['email'];
if(!preg_match("/".$emailtest."/i",$str_u))
{
$i++;
}
$tx=$tx.$pl['email'].' ';
$x++;
}
if ($i==$x)
{
$error='Данный почтовый сервис использовать нельзя.'.$tx;
}
}
if(!preg_match('#^[a-z0-9.!\#$%&\'*+-/=?^_`{|}~]+@([0-9.]+|([^\s]+\.+[a-z]{2,6}))$#si', $str_u))
{
$error = 'Вы указали явно ошибочный E-mail.
';
}
if($error != '') {
$gd[4] = $error;
$good = 0;
}else{
$gd[4] = 1;
}
}
if ($id==3 && !empty($str_u)&& !empty($name)) //отсылка емаила при удачном емаиле str_u -> mail name -> nickname
{
if (empty($str_u) || empty($name)) {$error = 'Емеил или Логин пуст.';}
$code=rand(10000000,99999999);
mysql_query('INSERT INTO `secure_code`(`email`, `code`, `time`) VALUES ("'.$str_u.'","'.$code.'","'.time().'");');
$title = 'Секретный Код - Новый Бойцовский Клуб'.$name;
$txt .= 'Секретный Код: '.$code;
if(send_mime_mail('Бойцовский Клуб - Support',
'newcombats22@gmail.com',
''.$name.'',
$str_u,
'CP1251', // кодировка, в которой находятся передаваемые строки
'KOI8-R', // кодировка, в которой будет отправлено письмо
$title,
$txt))
{
}else{
$error = 'Не удалось отправить сообщение. Попробуйте позже.';
}
}
if ($id==4 && !empty($str_u)&& !empty($name)) //проверка кода безопасности str_u -> введенный код name -> email
{
$testcode = mysql_fetch_array(mysql_query('SELECT * FROM `secure_code` WHERE `email` = "'.$name.'" ORDER BY `secure_code`.`time` DESC LIMIT 1'));
if ($testcode['code']<>$str_u)
{
$error = 'Неверный код безопасности (Проверте пробелы и сам код в последнем емеиле)';
}
}
if ($id==5 && !empty($str_u)&& !empty($name)) //проверка пароля str_u -> p1 код name -> p2
{
if(strlen($str_u)<8 || strlen($str_u)>30)
{
$error = 'Длина пароля не может быть меньше 8 символов или более 30 символов.';
$error = $error.'
Пример правильного пароля: Parol228, Kotik111, Pswerd112.
Пример неправильного пароля: parol228, kotik.';
}
if($str_u!=$name)
{
$error = 'В анкете пароль нужно ввести дважды, для проверки. Во второй раз вы его ввели неверно, будьте внимательнее.';
$error = $error.'
Пример правильного пароля: Parol228, Kotik111, Pswerd112.
Пример неправильного пароля: parol228, kotik.';
}
if (!preg_match('/[a-zа-я]+/', $str_u))
{
$error = 'Пароль не содержит букв нижнего регитра а..я/a..z.';
$error = $error.'
Пример правильного пароля: Parol228, Kotik111, Pswerd112.
Пример неправильного пароля: parol228, kotik.';
}
elseif (!preg_match('/[A-ZА-Я]+/', $str_u))
{
$error = 'Пароль не содержит букв верхнего регитра А..Я/A..Z .';
$error = $error.'
Пример правильного пароля: Parol228, Kotik111, Pswerd112.
Пример неправильного пароля: parol228, kotik.';
}
else
{
if (!preg_match('/[0-9]+/', $str_u))
{
$error = 'Пароль не содержит цифр.';
$error = $error.'
Пример правильного пароля: Parol228, Kotik111, Pswerd112.
Пример неправильного пароля: parol228, kotik.';
}
}
}
//***************************************************
return $error;
}
if ($_SERVER['HTTP_USER_AGENT']!='' &&
$_SERVER['HTTP_USER_AGENT']!='Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0'&&
$_SERVER['HTTP_USER_AGENT']!='Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0' &&
$_SERVER['HTTP_USER_AGENT']!='Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0'
)
{
?>
Регистрация - создай персонажа в игре Новый «Бойцовский клуб»
}
}
?>