AntiBK/module/zayavka.php
Ivor Barhansky 36bf662112 code-upload (#1)
Upload code

Изменил(а) на 'README.md'

Изменил(а) на 'README.md'

Reviewed-on: https://src.lopar.us/lopar/AntiBK/pulls/1
Co-Authored-By: Ivor Barhansky <lopar@noreply.lopar.us>
Co-Committed-By: Ivor Barhansky <lopar@noreply.lopar.us>
2021-02-11 16:13:04 +00:00

464 lines
20 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?
defined('AntiBK') or die("Доступ запрещен!");
$do = getVar('do');
$fight = getVar('fight');
$battle_type = getVar('battle_type');
$timeout = getVar('timeout');
$log = getVar('log');
$ac = getVar('ac');
$accept = getVar('accept');
$accept2 = getVar('accept2');
$otkaz = getVar('otkaz');
$id = getVar('id');
$denie = getVar('denie');
/*
$dat = $adb->select("SELECT * FROM `zayavka`;");
$countrows = count ($dat);
for ($i = 0; $i < $countrows; $i++)
{
$cr = $dat[$i]['creator'];
$player = $adb->selectCell("SELECT `login` FROM `characters` WHERE `id` = '$cr';");
$search = $adb->selectCell("SELECT `login` FROM `online` WHERE `login` = '$player';");
$online = ($search) ?1 :0;
if ($online == 0)
{
$del = $adb->query("DELETE FROM `zayavka` WHERE `creator` = '$cr';");
$del1 = $adb->query("DELETE FROM `team1` WHERE `battle_id` = '$cr';");
$del2 = $adb->query("DELETE FROM `team2` WHERE `battle_id` = '$cr';");
}
if ($m == $dat[$i]['creator'] && $dat[$i]['status'] == 1)
$zayavka_status = "awaiting";
if ($m == $dat[$i]['creator'] && $dat[$i]['status'] == 2 && $t == 1)
$zayavka_status = "confirm_mine";
if ($m == $dat[$i]['creator'] && $dat[$i]['status'] == 2 && $t == 2)
$zayavka_status = "confirm_opp";
if ($m == $dat[$i]['creator'] && $dat[$i]['status'] == 3)
goBattle($login);
}
if (empty($zayavka_status))
$zayavka_status = "no";*/
$flags = $char->city->getRoom($room, $city, 'flags');
$hps = array('fiz', 'dgv', 'group', 'haos');
?>
<table align="center" width="100%" border="0" cellspacing="0" cellpadding="0" style="padding-top: 10px;">
<tr>
<td align="left" valign="middle" width="50%" style="padding-bottom: 2px;">
<?
if (in_array($fight, $hps))
{
echo $char->getLogin('clan');
echo "<span id='HP'></span>";
echo "<img src='img/icon/heart_03.gif' width='10' height='10' alt='Уровень жизни' style='padding-left: 1px; vertical-align: middle;'>";
echoScript("showHP($char_stats[hp], $char_stats[hp_all], $char_stats[hp_regen], 1);");
}
?>
</td>
<td align="right" valign="middle">
<input type="button" class="help" value="<?echo $lang['hint'];?>" id="hint" link="combats">
<input type="button" class="nav" value="<?echo $lang['return'];?>" id="link" link="none">
</td>
</tr>
</table>
<table align="center" cellSpacing="1" cellPadding="1" width="100%">
<tr>
<td class="m" width="40">&nbsp;<b>Бои:</b></td>
<td class="<?echo ($fight == 'fiz') ?"s" :"m"?>"><a href="?action=zayavka&fight=fiz" class="nick">1 на 1</a></td>
<td class="<?echo ($fight == 'dgv') ?"s" :"m"?>"><a href="?action=zayavka&fight=dgv" class="nick">Учебные</a></td>
<td class="<?echo ($fight == 'group') ?"s" :"m"?>"><a href="?action=zayavka&fight=group" class="nick">Групповые</a></td>
<td class="<?echo ($fight == 'haos') ?"s" :"m"?>"><a href="?action=zayavka&fight=haos" class="nick">Хаотичные</a></td>
<td class="<?echo ($fight == 'tklogs') ?"s" :"m"?>"><a href="?action=zayavka&fight=tklogs" class="nick">Текущие</a></td>
<td class="<?echo ($fight == 'logs') ?"s" :"m"?>"><a href="?action=zayavka&fight=logs" class="nick">Завершенные</a></td>
</tr>
</table>
<?
switch ($fight)
{
case 'fiz':
if (!($flags & 1))
die("<br><br><center><b>В этой комнате невозможно подавать заявки</b></center>");
echo "После подачи заявки, вам будет подобран случайный противник вашего уровня<br>";
echo "<input type='submit' value='Подать заявку'>";
break;
case 'dgv':
die("<br><br><center><b>Выберите раздел...</b></center>");
break;
case 'group':
if ($level < 2)
die("<br><br><center><b>В групповые бои только со второго уровня.</b></center>");
else if (!($flags & 1))
die("<br><br><center><b>В этой комнате невозможно подавать заявки</b></center>");
break;
case 'haos':
if ($level < 2)
die("<br><br><center><b>В хаотичные бои только со второго уровня.</b></center>");
else if (!($flags & 1))
die("<br><br><center><b>В этой комнате невозможно подавать заявки</b></center>");
break;
case 'tklogs':
break;
case 'logs':
break;
default:
die("<br><br><center><b>Выберите раздел</b></center>");
break;
}
die();
/*=====status disc=========*/
/*1 - ожидает вызова */
/*2 - ожидает подтверждения*/
/*3 - принята */
/*=========================*/
switch ($act)
{
/*подать заявку*/
case 'podat':
if ($db['hp_all'] / 3 > $db['hp'])
{
echo "Вы слишком ослаблены для поединка! Восстановитесь!<br>";
echo "<a href=\"history.back(-1);\" class='us2'>назад</a>";
die ();
}
$st1 = $adb->selectCell("SELECT `player` FROM `team1` WHERE `player` = '$login';");
$st2 = $adb->selectCell("SELECT `player` FROM `team2` WHERE `player` = '$login';");
if ($st1 || $st2)
{
echo "Вы не можете принять эту заявку! Сначала отзовите свою!<br>";
echo "<a href='zayavka.php?boy=phisic' class='us2'>Назад</a>";
die ();
}
if (empty($ip))
$ip = ($_SERVER['HTTP_X_FORWARDED_FOR']) ?$_SERVER['HTTP_X_FORWARDED_FOR'] :$_SERVER['REMOTE_ADDR'] ;
$date = date ("d.m.y H:i");
$time = date("H:i");
$mine_id = $db['id'];
$query = $adb->query(" INSERT INTO `zayavka` (status,type,date,timeout,creator)
VALUES ('1', '$battle_type', '$time', '$timeout', '$mine_id');");
$query = $adb->query(" INSERT INTO `team1` (player,ip,battle_id,hitted,over)
VALUES ('$login', '$ip', '$mine_id', '0', '0')");
$query = $adb->query(" UPDATE `characters`
SET `zayavka` = '1'
WHERE `login` = '$login';
");
$zayavka_c_m = 0;
session_register ('zayavka_c_m');
echo "<script>location.href = 'zayavka.php?boy=phisic';</script>";
break;
/*принять вызов*/
case 'a':
if($db['hp_all'] / 3 > $db['hp'])
{
echo "Вы слишком ослаблены для поединка! Восстановитесь!<br>";
echo "<a href=\"history.back(-1);\" class='us2'>Назад</a>";
die();
}
$st1 = $adb->selectCell("SELECT `player` FROM `team1` WHERE `player` = '$login';");
$st2 = $adb->selectCell("SELECT `player` FROM `team2` WHERE `player` = '$login';");
if ($st1 || $st2)
{
echo "Вы не можете принять этот вызов! Сначала отзовите свою!<br>";
echo "<a href='zayavka.php?boy=phisic' class='us2'>Вернуться</a>";
die ();
}
$q = $adb->selectCell("SELECT `creator` FROM `zayavka` WHERE `creator` = '$id';");
if(empty($ip))
$ip = ($_SERVER['HTTP_X_FORWARDED_FOR']) ?$_SERVER['HTTP_X_FORWARDED_FOR'] :$_SERVER['REMOTE_ADDR'] ;
if($q)
{
$zayavka_c_o = 0;
session_register ('zayavka_c_o');
$d2 = $adb->selectCell("SELECT `player` FROM `team2` WHERE `battle_id` = '$id';");
$d = $adb->selectCell("SELECT `player` FROM `team1` WHERE `battle_id` = '$id';");
if ($d2 == '' || empty($d2))
{
$q = $adb->query(" INSERT INTO `team2` (player,ip,battle_id,hitted,over)
VALUES ('$login', '$ip', '$id', '0', '0');");
$s = $adb->query(" UPDATE `zayavka`
SET `status` = '2'
WHERE `creator` = '$id';
");
if ($q)
{
$s11 = $adb->query(" UPDATE `characters`
SET `zayavka` = '1'
WHERE `login` = '$d';
");
echo "<script>location.href = 'zayavka.php?boy=phisic';</script>";
}
}
}
break;
/*отозвать заявку*/
case 'recall':
$s = $adb->selectCell("SELECT `battle_id` FROM `team1` WHERE `player` = '$login';");
if ($s)
{
$dd = $adb->selectCell("SELECT `status` FROM `zayavka` WHERE `creator` = '$cr';");
if ($dd != 2)
{
$query = $adb->query("DELETE FROM `zayavka` WHERE `creator` = '$s';");
$s2 = $adb->query("DELETE FROM `team1` WHERE `battle_id` = '$s';");
if ($query)
{
$s11 = $adb->query(" UPDATE `characters`
SET `zayavka` = '0'
WHERE `login` = '$login';
");
echo "<script>location.href = 'zayavka.php?boy=phisic';</script>";
}
}
}
break;
/*отозвать свою заявку*/
case 'recallbattle':
$q = $adb->selectCell("SELECT `battle_id` FROM `team2` WHERE `player` = '$login';");
if ($q)
{
$cr = $q;
$dd = $adb->selectCell("SELECT `status` FROM `zayavka` WHERE `creator` = '$cr';");
if ($dd != 3)
{
$query = $adb->query(" UPDATE `zayavka`
SET `status` = '1'
WHERE `creator` = '$cr';
");
$ssd = $adb->query("DELETE FROM `team2` WHERE `battle_id` = '$cr';");
if ($query)
{
$p = $adb->selectCell("SELECT `player` FROM `team1` WHERE `battle_id` = '$cr';");
$s11 = $adb->query(" UPDATE `characters`
SET `zayavka` = '0'
WHERE `login` = '$p';
");
echo "<script>location.href = 'zayavka.php?boy=phisic';</script>";
}
}
}
break;
/*подтвердить заявку*/
case 'confirm':
if ($denie)
{
$s = $adb->selectCell("SELECT `battle_id` FROM `team1` WHERE `player` = '$login';");
if ($S)
{
$query = $adb->query(" UPDATE `zayavka`
SET `status` = '1'
WHERE `creator` = '$s';
");
$op = $adb->selectCell("SELECT `player` FROM `team2` WHERE `battle_id` = '$s';");
$s2 = $adb->query("DELETE FROM `team2` WHERE `battle_id` = '$s';");
if ($query)
{
$_SESSION['zayavka_c_m'] = 0;
$s11 = $adb->query(" UPDATE `characters`
SET `zayavka` = '0'
WHERE `login` = '$op';
");
echo "<script>location.href = 'zayavka.php?boy=phisic';</script>";
}
}
}
if ($accept)
{
$data = $adb->selectRow("SELECT * FROM `team1` WHERE `player` = '$login';");
if ($data)
{
$tt = $data['type'];
$cr = $data['battle_id'];
$zz = $adb->selectCell("SELECT `player` FROM `team2` WHERE `battle_id` = '$cr';");
if ($zz)
{
$q = $adb->query(" INSERT INTO `battles` (type,status,creator_id)
VALUES('$tt', 'during', '$cr');");
if ($q)
{
$op = $adb->selectCell("SELECT `player` FROM `team2` WHERE `battle_id` = '$cr';");
$sql_rm = $adb->query(" UPDATE `zayavka`
SET `status` = '3'
WHERE `creator` = '$cr';
");
$s1 = $adb->query(" UPDATE `characters`
SET `zayavka` = '2'
WHERE `login` = '$login';
");
$s11 = $adb->query(" UPDATE `characters`
SET `zayavka` = '2'
WHERE `login` = '$op';
");
goBattle($login);
}
}
}
}
break;
}
if ($zayavka_status == "no")
{
?>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="50%" align="left" valign="top">
<form name="boy" action="zayavka.php?boy=phisic&act=podat" method="post">
<table cellSpacing="0" cellPadding=0>
<tbody>
<tr>
<td>
<form name="boy" action="zayavka.php?boy=phisic&act=podat" method="post">
<fieldset>
<legend><b>Подать заявку на бой</b></legend>
Таймаут
<select name="timeout">
<option value="3">3 мин.
<option value="4">4 мин.
<option value="5">5 мин.
<option value="7">7 мин.
<option value="10" selected>10 мин.
</select>
Тип боя
<select name="battle_type">
<option value="1" selected>с оружием
<option value="2">кулачный
</select>
<input type="submit" value="Подать заявку">&nbsp;
</fieldset>
</form>
</td>
</tr>
</tbody>
</table>
</td>
<td align="right" valign="top"><input type="button" value="Обновить" onclick="location.href = 'zayavka.php?boy=phisic';"></td>
</tr>
</table>
<?
}
else if ($zayavka_status == "awaiting")
{
?>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="50%" align="left" valign="top">
<form name="otziv" action="zayavka.php?boy=phisic&act=recall" method="post">
Вы уже подали заявку на бой.
<input type="hidden" name="otziv" value="1">
<input type="submit" value="Отозвать заявку">
</form>
</td>
<td align="right" valign="top"><input type="button" value="Обновить" onclick="location.href = 'zayavka.php?boy=phisic';"></td>
</tr>
</table>
<?
}
else if ($zayavka_status == "confirm_mine")
{
$op_level = $adb->selectCell("SELECT `level` FROM `characters` WHERE `login` = '$opponent';");
?>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" align="left" valign="top">
<table border="0" width="100%">
<tr>
<td>
<form name="accept" action="zayavka.php?boy=phisic&act=confirm" method="post">
<font color="red"><b>Персонаж </b></font><?echo "<b>$opponent</b> [$op_level]<a href='info.php?log=$pl1' target='_blank'><img src='img/inf.gif' border='0' title='Информация о персонаже $opponent'></a>";?><font color="red"><b> принял ваш вызов!</b></font>
<input type="hidden" name="ac" value="1">
<input type="submit" name="accept" value="Битва!">
<input type="hidden" name="ac" value="2">
<input type="submit" name="denie" value="Отказать">
</form>
</td>
</tr>
</table>
</td>
<td align="right" valign="top"><input type="button" value="Обновить" onclick="location.href = 'zayavka.php?boy=phisic';"></td>
</tr>
</table>
<?
}
else if ($zayavka_status == "confirm_opp")
{
$op_level = $adb->selectCell("SELECT `level` FROM `characters` WHERE `login` = '$opponent';");
?>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" align="left" valign="top">
<table border="0" width="100%">
<tr>
<td>
<form name="accept2" action="zayavka.php?boy=phisic&act=recallbattle" method="post">
<font color="red"><b>Ожидается подтверждение боя от персонажа</b></font> <?echo "<b>$opponent</b> [$op_level]<a href='info.php?log=$pl1' target='_blank'><img src='img/inf.gif' border='0' title='Информация о персонаже $opponent'></a>";?>
<input type="hidden" name="otkaz" value="1">
<input type="submit" value="Отозвать вызов">
</form>
</td>
</tr>
</table>
</td>
<td align="right" valign="top"><input type="button" value="Обновить" onclick="location.href = 'zayavka.php?boy=phisic';"></td>
</tr>
</table>
<?
}
echo "<form name='prinatie' action='zayavka.php?boy=phisic&act=a' method='POST'><br>";
$data_p = $adb->select("SELECT * FROM `zayavka` WHERE `type` = '1' or `type` = '2' ORDER BY `date` DESC;");
$countrows = count ($data_p);
if ($countrows != 0)
echo "<input type='submit' value='Принять вызов'><br>";
for ($i = 0; $i < $countrows; $i++)
{
if ($data_p[$i]['status'] != 3)
{
$creator = $data_p[$i]['creator'];
$date = $data_p[$i]['date'];
$timeout = $data_p[$i]['timeout'];
$battle_type = $data_p[$i]['type'];
$id = $data_p[$i]['creator'];
$t1 = $adb->select("SELECT `player` FROM `team1` WHERE `battle_id` = '$creator';");
for ($h = 0; $h < $countrows; $h++)
{
$p1 = $t1[$h]['player'];
$p1_lev = $adb->selectCell("SELECT `level` FROM `characters` WHERE `login` = '$p1';");
$pl1 = str_replace (" ", "%20", $p1);
}
$t2 = $adb->select("SELECT `player` FROM `team2` WHERE `battle_id` = '$creator';");
for ($h = 0; $h < $countrows; $h++)
{
$p2 = $td2['player'];
$p2_lev = $adb->selectCell("SELECT `level` FROM `characters` WHERE `login` = '$p2';");
$pl12 = str_replace (" ", "%20", $p2);
}
if ($p2 == '')
$rad = "<input type='radio' name='id' value='$id'>";
else
{
$rad = "<input type='radio' name='id' value='$id' disabled>";
$p2 = "против <font color='black'><b>$p2</b> [$p2_lev]<a href='info.php?log=$pl12' target='_blank'><img src='img/inf.gif' border='0'></a>";
}
switch ($battle_type)
{
case 1: $battle_type = "<img src='img/icon/fighttype1.gif' width='20' height='20' title='Физический бой'>";
break;
case 2: $battle_type = "<img src='img/icon/fighttype5.gif' width='20' height='20' title='Кулачный бой'>";
break;
}
if ($p1 == $db['login'])
$rad = "<input type='radio' name='id' value='$id' disabled>";
$p1 = "<font color='black'><b>$p1</b> [$p1_lev]</font><a href='info.php?log=$pl1' target='_black'><img src='img/inf.gif' border='0'></a>";
echo "$rad <span class='date'>$date</span> $p1 $p2 ";
echo "тип боя: $battle_type ";
echo "(таймаут $timeout мин.)";
echo "<br>";
}
}
if ($countrows > 1)
echo "<input type='submit' value='Принять вызов'><br>";
echo "</form>";
?>