dev-moderation #66

Merged
lopar merged 29 commits from dev-moderation into dev 2023-12-09 14:14:38 +00:00
12 changed files with 150 additions and 536 deletions
Showing only changes of commit 580de8ea3f - Show all commits

View File

@ -0,0 +1,99 @@
<?php
namespace Moderation;
use Core\Db;
use Delo;
use User;
class AdmFactory
{
public readonly string $status;
private array $targetUser;
public function __construct(
private readonly string $targetLogin,
)
{
$this->targetUser = User::getInfo($this->targetLogin);
}
public function addmoderator(): void
{
Moderator::add($this->targetUser['id']);
Delo::add(
10,
'moderation.addmoderator',
$this->targetUser['id'],
'Íàçíà÷åí íà ïîñò ìîäåðàòîðà.'
);
}
public function removemoderator(): void
{
Moderator::remove($this->targetUser['id']);
Delo::add(
10,
'moderation.removemoderator',
$this->targetUser['id'],
'Óâîëåí ñ ïîñòà ìîäåðàòîðà.'
);
}
public function changegender(): void
{
$changeto = $this->targetUser['sex'] == 0 ? 1 : 0;
Db::sql('update users set sex = ? where id = ?', [$changeto, $this->targetUser['id']]);
Delo::add(
10,
'moderation.changegender',
$this->targetUser['id'],
'Èçìåíåí ïîë ïåðñîíàæà.'
);
}
public function changelogin(string $login): void
{
$newlogin = strip_tags($login);
if (empty($newlogin)) {
return;
}
Db::sql('update users set login = ? where login = ?', [strip_tags($login), $this->targetLogin]);
Delo::add(
10,
'moderation.changelogin',
$this->targetUser['id'],
"Èçìåíåí ëîãèí ïåðñîíàæà. $this->targetLogin => " . strip_tags($login)
);
}
public function toggleinvisibility(): void
{
$changeto = $this->targetUser['invis'] == 0 ? 1 : 0;
Db::sql('update users set invis = ? where id = ?', [$changeto, $this->targetUser['id']]);
}
public function additem(int $itemId): void
{
if ($itemId < 1) {
return;
}
User\ItemsModel::addItem($itemId, $this->targetUser['id']);
}
public function kickfrombattle(): void
{
if (empty($this->targetUser['battle'])) {
$this->status = 'Ïåðñîíàæ íå â ïîåäèíêå.';
return;
}
Db::sql('update users left join stats on users.id = stats.id
set
battle = default,
team = default,
battle_yron = default,
battle_exp = default
where id = ?', [$this->targetUser['id']]);
// Â îðèãèíàëå òóò åù¸ ïèñàëàñü çàïèñü â ëîã áîÿ, íî íóæíà ëè îíà?
}
}

View File

@ -36,7 +36,6 @@ class ModFactory
$this->msg->setRoom($moderatorsRoom);
$this->time = new DateTime();
$this->moderation = new Moderation($this->targetUser['id']);
}
public function silence(int $minutes): void

View File

@ -41,7 +41,7 @@ readonly class Moderator
Db::sql('update moderators set can_block_users = ?, is_admin = ? where uid = ?', [(int)$allowBlock, (int)$adminRights, $uid]);
}
public static function delete(int $uid): void
public static function remove(int $uid): void
{
Db::sql('delete from moderators where uid = ?', [$uid]);
}

View File

@ -0,0 +1,14 @@
<?php
namespace Moderation;
class SocialFactory
{
public function marry(): void
{
}
public function unmarry(): void
{
}
}

View File

@ -1,5 +1,6 @@
<?php
use Moderation\AdmFactory;
use Moderation\Announcement;
use Moderation\Moderator;
use Moderation\ModFactory;
@ -37,10 +38,13 @@ $uer = '';
if (!empty($_POST['logingo'])) {
$moderation = new ModFactory(
$_POST['logingo'],
strip_tags($_POST['logingo']),
empty($_POST['modReason']) ? '' : $_POST['modReason'],
$u->info['room'],
);
$administration = new AdmFactory(
strip_tags($_POST['logingo'])
);
if (!empty($_POST['silence']) && !empty($_POST['time'])) {
$moderation->silence($_POST['time']);
@ -58,12 +62,38 @@ if (!empty($_POST['logingo'])) {
$moderation->ban();
} elseif (!empty($_POST['unban'])) {
$moderation->unban();
} elseif (!empty($_POST['addmoderator'])) {
$administration->addmoderator();
} elseif (!empty($_POST['deletemoderator'])) {
$administration->removemoderator();
} elseif (!empty($_POST['changegender'])) {
$administration->changegender();
} elseif (!empty($_POST['changelogin']) && !empty($_POST['newLogin'])) {
$administration->changelogin($_POST['newLogin']);
} elseif (!empty($_POST['giveitem']) && !empty($_POST['itemId'])) {
$administration->additem((int)$_POST['itemId']);
} elseif (!empty($_POST['kickfrombattle'])) {
$administration->kickfrombattle();
} elseif (!empty($_POST['toggleinvisibility'])) {
$administration->toggleinvisibility();
}
$uer = $moderation->status;
if (!empty($moderation->status)) {
$uer = $moderation->status;
} elseif (!empty($administration->status)) {
$uer = $administration->status;
}
}
if (!empty($_POST['marrypartner1']) && !empty($_POST['marrypartner2'])) {
if (!empty($_POST['marry'])) {
$uer = 'marry: Not available';
} elseif (!empty($_POST['unmarry'])) {
$uer = 'unmarry: Not available';
}
}
//возможности (перечисляем)
$vz_id = [
@ -872,28 +902,14 @@ if ($go == 3 && $u->info['admin'] > 0) {
if (isset($_POST['usevampir'])) {
require_once('moder/usevampir.php');
} elseif (isset($_POST['usem2'])) {
require_once('moder/usem2.php');
} elseif (isset($_POST['teleport'])) {
require_once('moder/teleport.php');
} elseif (isset($_POST['teleport-cometome'])) {
require_once('moder/teleport-cometome.php');
} elseif (isset($_POST['unmoder'])) {
require_once('moder/unmoder.php');
} elseif (isset($_POST['gomoder'])) {
require_once('moder/moder.php');
} elseif (isset($_POST['usemarry'])) {
require_once('moder/usemarry.php');
} elseif (isset($_POST['useunmarry'])) {
require_once('moder/useunmarry.php');
} elseif (isset($_POST['usenevid'])) {
require_once('moder/usenevid.php');
} elseif (isset($_POST['useunfight'])) {
require_once('moder/useunfight.php');
} elseif (isset($_POST['usesex'])) {
require_once('moder/usesex.php');
} elseif (isset($_POST['uselogin'])) {
require_once('moder/uselogin.php');
} elseif (isset($_POST['useuntravm'])) {
require_once('moder/useuntravm.php');
} elseif (isset($_POST['useatack'])) {
@ -975,10 +991,10 @@ if ($go == 3 && $u->info['admin'] > 0) {
<input type="submit" name="undepersonalize" value="❌ Раскрыть профиль" form="moderation"><br>
<form method="post">
<label for="logingo">Партнёр 1</label>
<input type="text" id="logingo" name="logingo">
<label for="logingo2">Партнёр 2</label>
<input type="text" id="logingo2" name="logingo2">
<label for="marrypartner1">Партнёр 1</label>
<input type="text" id="marrypartner1" name="logingo">
<label for="marrypartner2">Партнёр 2</label>
<input type="text" id="marrypartner2" name="logingo2">
<input type="submit" name="marry" value="💘 Свадьба!">
<input type="submit" name="unmarry" value="💔 Развод!">
</form>

View File

@ -1,107 +0,0 @@
<?php
if(!defined('GAME'))
{
die();
}
if($p['priemIskl']==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']!=0 && ($uu['align']<=1 || $uu['align']>=2)) || $uu['clan']>0)
{
$uer = 'Персонаж находится в клане или у него уже есть склонность';
}else{
if( $a == 1 ) {
$nalign = 1.1;
if($_POST['zvanie']==1.4)
{
$nalign = 1.4;
}elseif($_POST['zvanie']==1.5)
{
$nalign = 1.5;
}elseif($_POST['zvanie']==1.6)
{
$nalign = 1.6;
}elseif($_POST['zvanie']==1.7)
{
$nalign = 1.7;
}elseif($_POST['zvanie']==1.75)
{
$nalign = 1.75;
}elseif($_POST['zvanie']==1.9)
{
$nalign = 1.9;
}elseif($_POST['zvanie']==1.91)
{
$nalign = 1.91;
}elseif($_POST['zvanie']==1.92)
{
$nalign = 1.92;
}
}elseif( $a == 3 ) {
$nalign = 3.01;
if($_POST['zvanie']==3.05)
{
$nalign = 3.05;
}elseif($_POST['zvanie']==3.06)
{
$nalign = 3.06;
}elseif($_POST['zvanie']==3.07)
{
$nalign = 3.07;
}elseif($_POST['zvanie']==3.075)
{
$nalign = 3.075;
}elseif($_POST['zvanie']==3.09)
{
$nalign = 3.09;
}elseif($_POST['zvanie']==3.091)
{
$nalign = 3.091;
}
}
if( $nalign > 0 ) {
$upd = mysql_query('UPDATE `users` SET `align` = "'.$nalign.'" WHERE `id` = "'.$uu['id'].'" LIMIT 1');
if($upd && $nalign!=$uu['align'])
{
$sx = '';
if($u->info['sex']==1)
{
$sx = 'а';
}
mysql_query('UPDATE `users_delo` SET `hb` = "0" WHERE `uid` = "'.$uu['id'].'" AND `hb`!="0"');
if( $a == 1 ) {
$rtxt = $rang.' &quot;'.$u->info['login'].'&quot; принял'.$sx.' персонажа в Орден Света (align'.$nalign.').';
}elseif( $a == 3 ) {
$rtxt = $rang.' &quot;'.$u->info['login'].'&quot; принял'.$sx.' персонажа в Армаду (align'.$nalign.').';
}
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)");
if($uu['align']>$nalign)
{
$uer = 'Вы успешно понизили звание персонажа "'.$uu['login'].'".<br>';
}elseif($uu['align']<$nalign && $uu['align']>0)
{
$uer = 'Вы успешно повысили звание персонажа "'.$uu['login'].'".<br>';
}else{
if( $a == 1 ) {
$uer = 'Вы успешно приняли персонажа "'.$uu['login'].'" в Орден Света.<br>';
}elseif( $a == 3 ) {
$uer = 'Вы успешно приняли персонажа "'.$uu['login'].'" в Армаду.<br>';
}
}
}else{
$uer = 'Не удалось приняли персонажа в ОС';
}
}else{
$uer = 'Склонность не существует...';
}
}
}else{
$uer = 'Персонаж не найден в этом городе';
}
}else{
$uer = 'У Вас нет прав на использование данного заклятия';
}
?>

View File

@ -1,60 +0,0 @@
<?php
if(!defined('GAME'))
{
die();
}
if($p['priemIskl']==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 ) && $a == 1 )
{
$uer = 'Персонаж не является сотрудником Ордена Света';
}elseif( ( $uu['align']<=3 || $uu['align']>=4 ) && $a == 3 )
{
$uer = 'Персонаж не является сотрудником Армады';
}else{
$upd = mysql_query('UPDATE `users` SET `align` = "0" WHERE `id` = "'.$uu['id'].'" LIMIT 1');
if($upd)
{
$sx = '';
if($u->info['sex']==1)
{
$sx = 'а';
}
if($a == 1) {
$zvna = 'паладина';
$zvna2 = 'Паладина';
$zvimg = '';
}elseif($a == 3) {
$zvna = 'тармана';
$zvna2 = 'Тармана';
$zvimg = 't';
}
mysql_query('UPDATE `users_delo` SET `hb` = "0" WHERE `uid` = "'.$uu['id'].'" AND `hb`!="0"');
$rtxt = '[img[items/unpal'.$zvimg.'.gif]] '.$rang.' &quot;'.$u->info['cast_login'].'&quot; лишил'.$sx.' &quot;'.$uu['login'].'&quot; звания &quot;'.$zvna2.'&quot;';
$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);
$rtxt = $rang.' &quot;'.$u->info['login'].'&quot; лишил'.$sx.' звания &quot;'.$zvna2.'&quot;.';
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)");
$uer = 'Вы успешно сняли знак '.$zvna.' с персонажа "'.$uu['login'].'".<br>';
}else{
$uer = 'Не удалось использовать данное заклятие';
}
}
}else{
$uer = 'Персонаж не найден в этом городе';
}
}else{
$uer = 'У Вас нет прав на использование данного заклятия';
}
?>

View File

@ -1,145 +0,0 @@
<?php
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)
{
$uer = 'Вы не можете использовать данное заклятие на Паладинов.<br>';
}elseif($uu['align']>3 && $uu['align']<4 && $u->info['admin']==0)
{
$uer = 'Вы не можете использовать данное заклятие на Тарманов.<br>';
}elseif($uu['battle']>0)
{
$uer = 'Персонаж находится в поединке.<br>';
}elseif($uu['admin']>0 && $u->info['admin']==0)
{
$uer = 'Вы не можете накладывать снятие запрета передач на Ангелов';
}elseif($uu['city']!=$u->info['city'] && $p['citym1']==0){
$uer = 'Персонаж находится в другом городе';
}elseif($uu['id']==$u->info['id'] && $u->info['admin']==0){
$uer = 'Вы не можете сменить логин самому себе';
}else{
function en_ru($txt)
{
$g = false;
$en = preg_match("/^(([a-zA-Z _-])+)$/i", $txt);
$ru = preg_match("/^(([а-яА-Я _-])+)$/i", $txt);
if(($ru && $en) || (!$ru && !$en))
{
$g = true;
}
return $g;
}
function test_login($login,$test) {
$r = false;
$blacklist = "!@#$%^&*()\+Ёё|/'`\"";
$sr = '_-йцукенгшщзхъфывапролджэячсмитьбюё1234567890';
$i = 0;
while($i<count($nologin))
{
if(preg_match("/".$nologin[$i]."/i",$filter->mystr($login)))
{
$error = 'Выберите, пожалуйста, другой ник.'; $_POST['step'] = 1; $i = count($nologin);
}
$i++;
}
$login = str_replace(' ',' ',$login);
//Логин от 2 до 20 символов
if(strlen($login)>20)
{
$error = 'Логин должен содержать не более 20 символов.'; $_POST['step'] = 1;
}
if(strlen($login)<2)
{
$error = 'Логин должен содержать не менее 2 символов.'; $_POST['step'] = 1;
}
//Один алфавит
$er = en_ru($login);
if($er==true)
{
$error = 'В логине разрешено использовать только буквы одного алфавита русского или английского. Нельзя смешивать.'; $_POST['step'] = 1;
}
//Запрещенный символы
if(strpos($sr,$login))
{
$error = 'Логин содержит запрещенные символы.'; $_POST['step'] = 1;
}
//Персонажи в базе
$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']))
{
$error = 'Логин '.$login.' уже занят, выберите другой.'; $_POST['step'] = 1;
}
//Разделители
if(substr_count($login,' ')+substr_count($login,'-')+substr_count($login,'_')>2)
{
$error = 'Не более двух разделителей одновременно (пробел, тире, нижнее подчеркивание).'; $_POST['step'] = 1;
}
$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') {
$uer = 'Вы успешно сменили логин';
$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)
{
$sx = 'а';
}
$rtxt = '[img[items/nick.gif]] '.$rang.' &quot;'.$u->info['cast_login'].'&quot; сменил'.$sx.' логин персонажа &quot;'.$uu['login_last'].'&quot; на &quot;'.$uu['login'].'&quot;';
$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);
$rtxt = $rang.' &quot;'.$u->info['login'].'&quot; сменил'.$sx.' логин сперсонажа с &quot;'.$uu['login_last'].'&quot; на &quot;'.$uu['login'].'&quot;.';
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)");
$uer = 'Вы успешно сменили логин персонажа &quot;'.$uu['login_last'].'&quot; на '.$uu['login'].'.';
mysql_query('INSERT INTO `lastnames` (`uid`,`login`,`newlogin`,`time`) VALUES (
"'.$uu['id'].'","'.$uu['login_last'].'","'.$uu['login'].'","'.time().'"
)');
}else{
$uer = 'Не удалось использовать данное заклятие';
}
}else{
$uer = 'Не удалось сменить логин: '.test_login($uu['login_new']);
}
}
}else{
$uer = 'Персонаж не найден в этом городе';
}
}else{
$uer = 'У Вас нет прав на использование данного заклятия';
}
?>

View File

@ -1,58 +0,0 @@
<?php
if(!defined('GAME'))
{
die();
}
if($p['m2']==1 || $p['citym2']==1)
{
$tm = (int)$_POST['time'];
if($tm!=30 && $tm!=60 && $tm!=180 && $tm!=360 && $tm!=720 && $tm!=1440 && $tm!=4320)
{
$uer = 'Неверно указано время наказания';
}else{
$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['admin']>0 && $u->info['admin']==0)
{
$uer = 'Вы не можете накладывать заклятие форумного молчания на Ангелов';
}elseif($uu['city']!=$u->info['city'] && $p['citym1']==0){
$uer = 'Персонаж находится в другом городе';
}elseif(floor($uu['align'])==$a && $uu['align']>$u->info['align'] && $u->info['admin']==0)
{
$uer = 'Вы не можете накладывать заклятие форумного молчания на старших по званию';
}elseif($uu['id']==$u->info['id'] && $u->info['admin']==0){
$uer = 'Вы не можете накладывать заклятие форумного молчания на самого себя';
}else{
$upd = mysql_query('UPDATE `users` SET `molch2` = "'.mysql_real_escape_string(time()+round($tm)*60).'" WHERE `id` = "'.$uu['id'].'" LIMIT 1');
if($upd)
{
$sx = '';
if($u->info['sex']==1)
{
$sx = 'а';
}
$rtxt = '[img[items/sleepf.gif]] '.$rang.' &quot;'.$u->info['cast_login'].'&quot; наложил'.$sx.' заклятие форумного молчания на &quot;'.$uu['login'].'&quot;, сроком '.$srok[$tm].'';
$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);
$rtxt = $rang.' &quot;'.$u->info['login'].'&quot; наложил'.$sx.' заклятие &quot;<b>форумного молчания</b>&quot; сроком '.$srok[$tm].'.';
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)");
$uer = 'Вы успешно наложили заклятие форумного молчания на персонажа "'.$uu['login'].'", сроком '.$srok[$tm].'.';
}else{
$uer = 'Не удалось использовать данное заклятие';
}
}
}else{
$uer = 'Персонаж не найден в этом городе';
}
}
}else{
$uer = 'У Вас нет прав на использование данного заклятия';
}
?>

View File

@ -1,18 +0,0 @@
<?php
if (!defined('GAME')) {
die();
}
if ($p['invis'] != 1) {
$uer = 'У Вас нет прав на использование данного заклятия';
return;
}
if ($u->info['invis'] != 1 && $u->info['invis'] < time()) {
$uer = 'Вы успешно включили невидимку';
$u->info['invis'] = 1;
} else {
$uer = 'Вы успешно выключили невидимку';
$u->info['invis'] = 0;
}
\Core\Db::sql('update users set invis = ? where id = ?', [$u->info['invis'], $u->info['id']]);

View File

@ -1,58 +0,0 @@
<?php
if(!defined('GAME'))
{
die();
}
if($p['sex']==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)
{
$uer = 'Вы не можете использовать данное заклятие на Паладинов.<br>';
}elseif($uu['align']>3 && $uu['align']<4 && $u->info['admin']==0)
{
$uer = 'Вы не можете использовать данное заклятие на Тарманов.<br>';
}elseif($uu['admin']>0 && $u->info['admin']==0)
{
$uer = 'Вы не можете накладывать снятие запрета передач на Ангелов';
}elseif($uu['city']!=$u->info['city'] && $p['citym1']==0){
$uer = 'Персонаж находится в другом городе';
}elseif($uu['id']==$u->info['id'] && $u->info['admin']==0){
$uer = 'Вы не можете сменить пол самому себе';
}else{
$usx = array(0=>1,1=>0,'0-0'=>'мужской','0-1'=>'женский');
$uu['sex'] = $usx[$uu['sex']];
$upd = mysql_query('UPDATE `users` SET `obraz` = "0.gif",`sex` = "'.$uu['sex'].'" WHERE `id` = "'.$uu['id'].'" LIMIT 1');
if($upd)
{
$sx = '';
if($u->info['sex']==1)
{
$sx = 'а';
}
$rtxt = '[img[items/male.png]] '.$rang.' &quot;'.$u->info['cast_login'].'&quot; сменил'.$sx.' пол персонажа &quot;'.$uu['login'].'&quot; на '.$usx['0-'.$uu['sex']].'';
$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);
$rtxt = $rang.' &quot;'.$u->info['login'].'&quot; сменил'.$sx.' пол сперсонажа на '.$usx['0-'.$uu['sex']].'.';
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)");
$uer = 'Вы успешно сменили пол персонажа "'.$uu['login'].'" на '.$usx['0-'.$uu['sex']].'.';
}else{
$uer = 'Не удалось использовать данное заклятие';
}
}
}else{
$uer = 'Персонаж не найден в этом городе';
}
}else{
$uer = 'У Вас нет прав на использование данного заклятия';
}
?>

View File

@ -1,68 +0,0 @@
<?php
if(!defined('GAME'))
{
die();
}
if($p['unbtl']==1)
{
function inBattleLog($txt,$usr) {
global $u;
$lastHOD = mysql_fetch_array(mysql_query('SELECT * FROM `battle_logs` WHERE `battle` = "'.$u->info['battle'].'" ORDER BY `id_hod` DESC LIMIT 1'));
if(isset($lastHOD['id'])) {
$id_hod = $lastHOD['id_hod'];
if($lastHOD['type']!=6) {
$id_hod++;
}
mysql_query('INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("'.time().'","'.$u->info['battle'].'","'.($id_hod).'","{tm1} '.$txt.'","login1='.$u->info['login'].'||t1='.$u->info['team'].'||login2='.$usr['login'].'||t2='.$usr['team'].'||time1='.time().'","","","","","6")');
}
}
$uu = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `login` = "'.mysql_real_escape_string($_POST['logingo']).'" ORDER BY `id` ASC LIMIT 1'));
if(isset($uu['id']))
{
if($uu['battle']==0)
{
$uer = 'Персонаж не находится в поединке<br>';
}else{
$uu['battle222'] = $uu['battle'];
$uu['battle'] = 0;
$upd = mysql_query('UPDATE `users` SET `battle` = "'.$uu['battle'].'" WHERE `id` = "'.$uu['id'].'" LIMIT 1');
if($upd)
{
mysql_query('UPDATE `stats` SET
`regHP` = "'.time().'"
,`team` = 0
,`battle_yron` = 0
,`battle_exp` = 0
WHERE `id` = "'.$uu['id'].'" LIMIT 1');
$sx = '';
if($u->info['sex']==1)
{
$sx = 'а';
}
inBattleLog('{tm1} '.$rang.' &quot;<b>'.$u->info['cast_login'].'</b>&quot; выпустил персонажа &quot;<b>'.$uu['login'].'</b>&quot; из поединка.');
$rtxt = '[img[items/pal_buttonn.gif]] '.$rang.' &quot;'.$u->info['cast_login'].'&quot; выпустил'.$sx.' персонажа &quot;'.$uu['login'].'&quot; из поединка';
//mysql_query("UPDATE `chat` SET `delete` = 1 WHERE `login` = '".$uu['login']."' LIMIT 1000");
$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);
$rtxt = $rang.' &quot;'.$u->info['login'].'&quot; выпустил'.$sx.' персонажа из поединка №<b>'.$uu['battle222'].'</b>.';
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)");
$uer = 'Вы успешно выпустили персонажа "'.$uu['login'].'" из поединка.';
}else{
$uer = 'Не удалось использовать данное заклятие';
}
}
}else{
$uer = 'Персонаж не найден в этом городе';
}
}else{
$uer = 'У Вас нет прав на использование данного заклятия';
}
?>