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 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 hasGoodCode($code, $email)
{
$q = 'select 1 from secure_code where `code` = %d and email = %s order by id desc limit 1';
$check = mysql_fetch_row(mysql_query(sprintf($q, (int)$code, $email)));
if ($check[0] !== 1) {
return 'Неверный код безопасности (Проверте пробелы и сам код в последнем емеиле)';
}
return 1;
}
function error_check($id, $str_u, $name = 0)
{
//***************************************************
session_start();
$error = '';
if ($id == 1 && !empty($str_u)) // Проверка логина
{
$nologin = [
0 => 'ангел',
1 => 'angel',
2 => 'администрация',
3 => 'administration',
4 => 'Комментатор',
5 => 'Мироздатель',
6 => 'Мусорщик',
7 => 'Падальщик',
8 => 'Повелитель',
9 => 'Архивариус',
10 => 'Пересмешник',
11 => 'Волынщик',
12 => 'Лорд Разрушитель',
13 => 'Милосердие',
14 => 'Справедливость',
15 => 'Искушение',
16 => 'Вознесение',
];
$i = 0;
while ($i < count($nologin)) {
if (preg_match("/" . $nologin[$i] . "/i", $str_u)) {
$error = 'Выберите, пожалуйста, другой ник.';
$i = count($nologin);
}
$i++;
}
$str_u = str_replace(' ', ' ', $str_u);
//Логин от 4 до 20 символов
if (strlen($str_u) > 20) {
$error = 'Логин должен содержать не более 20 символов.';
$error = $error . '
Пример правильного никнейма: Петя Убиватор, Коля, xalop.
Пример неправильного никнейма: )))), kolя)=-/.';
}
if (strlen($str_u) < 4) {
$error = 'Логин должен содержать не менее 4 символов.';
$error = $error . '
Пример правильного никнейма: Петя Убиватор, Коля, xalop.
Пример неправильного никнейма: )))), kolя)=-/.';
}
//Один алфавит
$er = en_ru($str_u);
if ($er) {
$error = 'В логине разрешено использовать только буквы одного алфавита русского или английского. Нельзя смешивать.';
$error = $error . '
Пример правильного никнейма: Петя Убиватор, Коля, xalop.
Пример неправильного никнейма: )))), kolя)=-/.';
}
//Разделители
if (substr_count($str_u, ' ') + substr_count($str_u, '-') + substr_count($str_u, '_') > 2) {
$error = 'Не более двух разделителей одновременно (пробел, тире, нижнее подчеркивание).';
$error = $error . '
Пример правильного никнейма: Петя Убиватор, Коля, xalop.
Пример неправильного никнейма: )))), kolя)=-/.';
}
//Персонажи в базе
$q = mysql_query('SELECT `id` from `users` where `login`="' . mysql_real_escape_string($str_u) . '" LIMIT 1');
if ($q) {
$log = mysql_fetch_array($q);
unset($q);
}
$q = mysql_query(
'SELECT `id` from `lastnames` where `login`="' . mysql_real_escape_string($str_u) . '" LIMIT 1'
);
if ($q) {
$log2 = mysql_fetch_array($q);
unset($q);
}
if (isset($log['id']) || isset($log2['id'])) {
$error = 'Логин ' . $str_u . ' уже занят, выберите другой.';
}
}
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
{
$code = rand(10000000, 99999999);
mysql_query(
'INSERT INTO `secure_code`(`email`, `code`, `time`) VALUES ("' . $str_u . '","' . $code . '","' . time(
) . '");'
);
Mail::send($str_u, 'Секретный Код: ' . $code, 'Секретный Код - Новый Бойцовский Клуб ' . $name);
//mails($str_u, 'Секретный Код: ' . $code, 'Секретный Код - Новый Бойцовский Клуб ' . $name);
}
if ($id == 4 && !empty($str_u) && !empty($name)) //проверка кода безопасности str_u -> введенный код name -> email
{
$testcode = mysql_fetch_array(
mysql_query('SELECT code FROM `secure_code` WHERE `email` = "' . $name . '" ORDER BY id 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'
) {
?>