2022-06-06 21:30:34 +00:00
|
|
|
|
<?
|
|
|
|
|
if(!defined('GAME'))
|
|
|
|
|
{
|
|
|
|
|
die();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($p['nick']==1)
|
|
|
|
|
{
|
|
|
|
|
$uu = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `login` = "'.mysql_real_escape_string($_POST['logingo']).'" LIMIT 1'));
|
|
|
|
|
if(isset($uu['id']))
|
|
|
|
|
{
|
|
|
|
|
if($uu['align']>1 && $uu['align']<2 && $u->info['admin']==0)
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Вы не можете использовать данное заклятие на Паладинов.<br>';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}elseif($uu['align']>3 && $uu['align']<4 && $u->info['admin']==0)
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Вы не можете использовать данное заклятие на Тарманов.<br>';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}elseif($uu['battle']>0)
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Персонаж находится в поединке.<br>';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}elseif($uu['admin']>0 && $u->info['admin']==0)
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Вы не можете накладывать снятие запрета передач на Ангелов';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}elseif($uu['city']!=$u->info['city'] && $p['citym1']==0){
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Персонаж находится в другом городе';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}elseif($uu['id']==$u->info['id'] && $u->info['admin']==0){
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Вы не можете сменить логин самому себе';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}else{
|
|
|
|
|
function en_ru($txt)
|
|
|
|
|
{
|
|
|
|
|
$g = false;
|
|
|
|
|
$en = preg_match("/^(([a-zA-Z _-])+)$/i", $txt);
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$ru = preg_match("/^(([а-яА-Я _-])+)$/i", $txt);
|
2022-06-06 21:30:34 +00:00
|
|
|
|
if(($ru && $en) || (!$ru && !$en))
|
|
|
|
|
{
|
|
|
|
|
$g = true;
|
|
|
|
|
}
|
|
|
|
|
return $g;
|
|
|
|
|
}
|
|
|
|
|
function test_login($login,$test) {
|
|
|
|
|
$r = false;
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$blacklist = "!@#$%^&*()\+Ёё|/'`\"";
|
|
|
|
|
$sr = '_-йцукенгшщзхъфывапролджэячсмитьбюё1234567890';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
$i = 0;
|
|
|
|
|
while($i<count($nologin))
|
|
|
|
|
{
|
|
|
|
|
if(preg_match("/".$nologin[$i]."/i",$filter->mystr($login)))
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$error = 'Выберите, пожалуйста, другой ник.'; $_POST['step'] = 1; $i = count($nologin);
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
|
|
|
|
$i++;
|
|
|
|
|
}
|
|
|
|
|
$login = str_replace(' ',' ',$login);
|
2023-01-10 16:29:32 +00:00
|
|
|
|
//Логин от 2 до 20 символов
|
2022-06-06 21:30:34 +00:00
|
|
|
|
if(strlen($login)>20)
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$error = 'Логин должен содержать не более 20 символов.'; $_POST['step'] = 1;
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
|
|
|
|
if(strlen($login)<2)
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$error = 'Логин должен содержать не менее 2 символов.'; $_POST['step'] = 1;
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
2023-01-10 16:29:32 +00:00
|
|
|
|
//Один алфавит
|
2022-06-06 21:30:34 +00:00
|
|
|
|
$er = en_ru($login);
|
|
|
|
|
if($er==true)
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$error = 'В логине разрешено использовать только буквы одного алфавита русского или английского. Нельзя смешивать.'; $_POST['step'] = 1;
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
2023-01-10 16:29:32 +00:00
|
|
|
|
//Запрещенный символы
|
2022-06-06 21:30:34 +00:00
|
|
|
|
if(strpos($sr,$login))
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$error = 'Логин содержит запрещенные символы.'; $_POST['step'] = 1;
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
2023-01-10 16:29:32 +00:00
|
|
|
|
//Персонажи в базе
|
2022-06-06 21:30:34 +00:00
|
|
|
|
$log = mysql_fetch_array(mysql_query('SELECT `id` from `users` where `login`="'.mysql_real_escape_string($login).'" LIMIT 1'));
|
|
|
|
|
$log2 = mysql_fetch_array(mysql_query('SELECT `id` from `lastNames` where `login`="'.mysql_real_escape_string($login).'" LIMIT 1'));
|
|
|
|
|
if(isset($log['id']) || isset($log2['id']))
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$error = 'Логин '.$login.' уже занят, выберите другой.'; $_POST['step'] = 1;
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
2023-01-10 16:29:32 +00:00
|
|
|
|
//Разделители
|
2022-06-06 21:30:34 +00:00
|
|
|
|
if(substr_count($login,' ')+substr_count($login,'-')+substr_count($login,'_')>2)
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$error = 'Не более двух разделителей одновременно (пробел, тире, нижнее подчеркивание).'; $_POST['step'] = 1;
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
|
|
|
|
$login = trim($login,' ');
|
|
|
|
|
if($error != '') {
|
|
|
|
|
$r = $error;
|
|
|
|
|
}else{
|
|
|
|
|
$r = 'good';
|
|
|
|
|
}
|
|
|
|
|
if( $test == true ) {
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
$r = $login;
|
|
|
|
|
}
|
|
|
|
|
return $r;
|
|
|
|
|
}
|
|
|
|
|
$uu['login_new'] = $_POST['logingo2'];
|
|
|
|
|
if(test_login($uu['login_new'],true) == 'good') {
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Вы успешно сменили логин';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
$uu['login_last'] = $uu['login'];
|
|
|
|
|
$uu['login'] = test_login($uu['login_new'],false);
|
|
|
|
|
$upd = mysql_query('UPDATE `users` SET `login` = "'.$uu['login'].'" WHERE `id` = "'.$uu['id'].'" LIMIT 1');
|
|
|
|
|
if($upd)
|
|
|
|
|
{
|
|
|
|
|
$sp = mysql_query('SELECT * FROM `items_users` WHERE `data` LIKE "%sudba='.mysql_real_escape_string($uu['login_last']).'%"');
|
|
|
|
|
while( $pl = mysql_fetch_array($sp) ) {
|
|
|
|
|
$pl['data'] = str_replace('sudba='.$uu['login_last'].'','sudba='.$uu['login'].'',$pl['data']);
|
|
|
|
|
mysql_query('UPDATE `items_users` SET `data` = "'.$pl['data'].'" WHERE `id` = "'.$pl['id'].'" LIMIT 1');
|
|
|
|
|
}
|
|
|
|
|
$sx = '';
|
|
|
|
|
if($u->info['sex']==1)
|
|
|
|
|
{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$sx = 'а';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$rtxt = '[img[items/nick.gif]] '.$rang.' "'.$u->info['cast_login'].'" сменил'.$sx.' логин персонажа "'.$uu['login_last'].'" на "'.$uu['login'].'"';
|
2023-01-28 02:24:37 +00:00
|
|
|
|
|
|
|
|
|
$cmsg = new ChatMessage();
|
|
|
|
|
$cmsg->setCity($u->info['city']);
|
|
|
|
|
$cmsg->setRoom($u->info['room']);
|
|
|
|
|
$cmsg->setText($rtxt);
|
|
|
|
|
$cmsg->setType(6);
|
|
|
|
|
$cmsg->setTypeTime(1);
|
|
|
|
|
(new Chat())->sendMsg($cmsg);
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$rtxt = $rang.' "'.$u->info['login'].'" сменил'.$sx.' логин сперсонажа с "'.$uu['login_last'].'" на "'.$uu['login'].'".';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
mysql_query("INSERT INTO `users_delo` (`uid`,`ip`,`city`,`time`,`text`,`login`,`type`) VALUES ('".$uu['id']."','".$_SERVER['REMOTE_ADDR']."','".$u->info['city']."','".time()."','".$rtxt."','".$u->info['login']."',0)");
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Вы успешно сменили логин персонажа "'.$uu['login_last'].'" на '.$uu['login'].'.';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
mysql_query('INSERT INTO `lastnames` (`uid`,`login`,`newlogin`,`time`) VALUES (
|
|
|
|
|
"'.$uu['id'].'","'.$uu['login_last'].'","'.$uu['login'].'","'.time().'"
|
|
|
|
|
)');
|
|
|
|
|
}else{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Не удалось использовать данное заклятие';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
|
|
|
|
}else{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Не удалось сменить логин: '.test_login($uu['login_new']);
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'Персонаж не найден в этом городе';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
|
|
|
|
}else{
|
2023-01-10 16:29:32 +00:00
|
|
|
|
$uer = 'У Вас нет прав на использование данного заклятия';
|
2022-06-06 21:30:34 +00:00
|
|
|
|
}
|
|
|
|
|
?>
|