addzayavka() работала с несуществующими параметрами. Теперь травмированным можно драться. Добавлены минутные таймеры.

This commit is contained in:
Igor Barkov (iwork) 2019-09-24 16:27:46 +03:00
parent 780d286a30
commit 68153e1776

View File

@ -159,38 +159,20 @@ class zayavka
} else return 'delteam(): database error!'; } else return 'delteam(): database error!';
} }
function addzayavka($start, $timeout, $t1c, $t2c, $type, $t1min, $t2min, $t1max, $t2max, $coment, $creator, $level, $stavka, $blood = 0) function addzayavka($start, $timeout, $t1c, $t2c, $type, $t1min, $t2min, $t1max, $t2max, $coment, $level, $blood = 0)
{ {
global $user; global $user;
if (!in_array($level, [2, 4, 5])) { if (!in_array($level, [2, 4, 5])) $level = 4; /*2-физ, 4-группа, 5-хаос*/
$level = 1;
} else return "Ошибка!";
if ($level == 1 AND $type != 1 AND $type != 4) $type = 1;
if ($level == 2 AND $type != 1 AND $type != 4 AND $type != 6) $type = 1; if ($level == 2 AND $type != 1 AND $type != 4 AND $type != 6) $type = 1;
if ($level == 4 AND $type != 2 AND $type != 4) $type = 2; if ($level == 4 AND $type != 2 AND $type != 4) $type = 2;
if ($level == 5 AND $type != 3 AND $type != 5) $type = 3; if ($level == 5 AND $type != 3 AND $type != 5) $type = 3;
// Level 3? Что это? Где это?
if (!in_array($start, [3, 5, 10, 15, 30, 45, 60])) $start = 10; if (!in_array($start, [1, 3, 5, 10, 15, 30, 60])) $start = 1;
if (!in_array($timeout, [3, 4, 5, 7, 10])) $timeout = 3; if (!in_array($timeout, [1, 3, 5, 10])) $timeout = 1;
if ($this->user_status($creator) != 0) { if ($this->user_status($user['id']) != 0) exit();
exit();
}
$owntravma = db::c()->query('SELECT `type` FROM `effects` WHERE `owner` = ?i AND (`type` = 12 OR `type` = 13)', $creator)->fetch_assoc();
if ($owntravma) {
switch ($owntravma['type']) {
case ($owntravma['type'] == 12 && ($type != 4 && $type != 5)):
return "У Вас средняя травма, поединки с оружием слишком тяжелы для Вас...";
break;
case 13:
return "У Вас тяжелая травма, Вы не сможети драться...";
break;
}
}
if (!$user['klan'] && $t1min == 99) { if (!$user['klan'] && $t1min == 99) {
return "Вы не состоите в клане."; return "Вы не состоите в клане.";
@ -204,13 +186,12 @@ class zayavka
} }
$start = time() + $start * 60; $start = time() + $start * 60;
$stavka = round($stavka, 2);
db::c()->query('INSERT INTO `zayavka` db::c()->query('INSERT INTO `zayavka`
(`start`, `timeout`, `t1c`, `t2c`, `type`, `level`, `coment`, `team1`, `stavka`, `t1min`, `t2min`, `t1max`, `t2max`,`podan`,`blood`) (`start`, `timeout`, `t1c`, `t2c`, `type`, `level`, `coment`, `team1`, `t1min`, `t2min`, `t1max`, `t2max`,`podan`,`blood`)
VALUES (?i,?i,?i,?i,?i,?i,"?s","?s",?d,?i,?i,?i,?i,"?s",?i)', VALUES (?i,?i,?i,?i,?i,?i,"?s","?s",?d,?i,?i,?i,?i,"?s",?i)',
$start, $timeout, $t1c, $t2c, $type, $level, $coment, $creator, $stavka, $t1min, $t2min, $t1max, $t2max, date('H:i'), $blood); $start, $timeout, $t1c, $t2c, $type, $level, $coment, $user['id'], $t1min, $t2min, $t1max, $t2max, date('H:i'), $blood);
db::c()->query('UPDATE `users` SET `zayavka` = ?i WHERE `id` = ?i', db::c()->getLastInsertId(), $creator); db::c()->query('UPDATE `users` SET `zayavka` = ?i WHERE `id` = ?i', db::c()->getLastInsertId(), $user['id']);
return null; return null;
} }
@ -660,7 +641,7 @@ if (!empty($_POST['open'])) {
} else { } else {
$blood = 0; $blood = 0;
} }
echo $zay->addzayavka(0, $_POST['timeout'], 1, 1, $_POST['k'], $user['level'], 1, $user['level'], 21, '', $user['id'], 2, 0, $blood); echo $zay->addzayavka(0, $_POST['timeout'], 1, 1, $_POST['k'], $user['level'], 1, $user['level'], 21, '', 2, $blood);
die("<script>document.location='zayavka.php?fiz';</script>"); die("<script>document.location='zayavka.php?fiz';</script>");
} }
if (!empty($_POST['back'])) { if (!empty($_POST['back'])) {
@ -696,10 +677,9 @@ if (!empty($_POST['open'])) {
<LEGEND><B>Подать заявку на бой</B></LEGEND> <LEGEND><B>Подать заявку на бой</B></LEGEND>
Таймаут Таймаут
<SELECT NAME=timeout> <SELECT NAME=timeout>
<OPTION value=3 selected>3 мин. <OPTION value=1 selected>1 мин.
<OPTION value=4>4 мин. <OPTION value=3>3 мин.
<OPTION value=5>5 мин. <OPTION value=5>5 мин.
<OPTION value=7>7 мин.
<OPTION value=10>10 мин. <OPTION value=10>10 мин.
</SELECT> </SELECT>
Тип боя Тип боя
@ -789,17 +769,15 @@ if (!empty($_POST['open'])) {
<TD> <TD>
<H3>Подать заявку на групповой бой</H3> <H3>Подать заявку на групповой бой</H3>
Начало боя через <SELECT NAME=startime> Начало боя через <SELECT NAME=startime>
<option value=60 selected>1 минуту
<option value=180 selected>3 минуты
<option value=300 selected>5 минут
<option value=600 selected>10 минут <option value=600 selected>10 минут
<option value=900>15 минут
<option value=1800>30 минут
<option value=2700>45 минут
<option value=3600>1 час
</SELECT> </SELECT>
&nbsp;&nbsp;&nbsp;&nbsp;Таймаут <SELECT NAME=timeout> &nbsp;&nbsp;&nbsp;&nbsp;Таймаут <SELECT NAME=timeout>
<OPTION value=3 selected>3 мин. <OPTION value=1 selected>1 мин.
<OPTION value=4>4 мин. <OPTION value=3>3 мин.
<OPTION value=5>5 мин. <OPTION value=5>5 мин.
<OPTION value=7>7 мин.
<OPTION value=10>10 мин. <OPTION value=10>10 мин.
</SELECT> </SELECT>
@ -896,15 +874,15 @@ if (!empty($_POST['open']) AND empty($user['zayavka'])) {
//print_r($_REQUEST); //print_r($_REQUEST);
switch ($_POST['levellogin1']) { switch ($_POST['levellogin1']) {
case 0 : //любой case 0 : //любой
$min1 = 2; $min1 = 0;
$max1 = 21; $max1 = 21;
break; break;
case 1 : //только моего и ниже case 1 : //только моего и ниже
$min1 = 2; $min1 = 0;
$max1 = $user['level']; $max1 = $user['level'];
break; break;
case 2 : //только ниже моего уровня case 2 : //только ниже моего уровня
$min1 = 2; $min1 = 0;
$max1 = $user['level'] - 1; $max1 = $user['level'] - 1;
break; break;
case 3 : //только моего уровня case 3 : //только моего уровня
@ -930,15 +908,15 @@ if (!empty($_POST['open']) AND empty($user['zayavka'])) {
} }
switch ($_POST['levellogin2']) { switch ($_POST['levellogin2']) {
case 0 : //любой case 0 : //любой
$min1 = 2; $min1 = 0;
$max1 = 21; $max1 = 21;
break; break;
case 1 : //только моего и ниже case 1 : //только моего и ниже
$min1 = 2; $min1 = 0;
$max1 = $user['level']; $max1 = $user['level'];
break; break;
case 2 : //только ниже моего уровня case 2 : //только ниже моего уровня
$min1 = 2; $min1 = 0;
$max1 = $user['level'] - 1; $max1 = $user['level'] - 1;
break; break;
case 3 : //только моего уровня case 3 : //только моего уровня
@ -962,6 +940,8 @@ if (!empty($_POST['open']) AND empty($user['zayavka'])) {
$max1 = 99; $max1 = 99;
break; break;
} }
if ($min1 < 0) $min1 = 0;
if ($max1 < 0) $max1 = 0;
if ($_POST['k']) { if ($_POST['k']) {
$_POST['k'] = 4; $_POST['k'] = 4;
} else { } else {
@ -975,7 +955,7 @@ if (!empty($_POST['open']) AND empty($user['zayavka'])) {
if ($_POST['nlogin1'] == 1 && $_POST['nlogin2'] == 1) { if ($_POST['nlogin1'] == 1 && $_POST['nlogin2'] == 1) {
echo "Не надо превращать групповой бой в физический поединок"; echo "Не надо превращать групповой бой в физический поединок";
} else { } else {
echo $zay->addzayavka($_POST['startime'] / 60, $_POST['timeout'], $_POST['nlogin1'], $_POST['nlogin2'], $_POST['k'], $min1, $min2, $max1, $max2, $_POST['cmt'], $user['id'], 4, 0, $blood); echo $zay->addzayavka($_POST['startime'] / 60, $_POST['timeout'], $_POST['nlogin1'], $_POST['nlogin2'], $_POST['k'], $min1, $min2, $max1, $max2, $_POST['cmt'], 4, $blood);
} }
} }
///////////////////////////////// /////////////////////////////////
@ -1022,7 +1002,7 @@ if ($get == 'haos') {
if ($_POST['travma']) { if ($_POST['travma']) {
$blood = 1; $blood = 1;
} }
echo $zay->addzayavka($_POST['startime2'] / 60, $_POST['timeout'], 99, 99, $_POST['k'], $min1, $min1, $max1, $max1, $_POST['cmt'], $user['id'], 5, 0, $blood); echo $zay->addzayavka($_POST['startime2'] / 60, $_POST['timeout'], 99, 99, $_POST['k'], $min1, $min1, $max1, $max1, $_POST['cmt'], 5, $blood);
} }
if (!empty($_POST['confirm2'])) { if (!empty($_POST['confirm2'])) {
echo "<span class='redalert'>" . $zay->addteam(1, 5) . "</span>"; echo "<span class='redalert'>" . $zay->addteam(1, 5) . "</span>";