battles/group_arena.php

299 lines
14 KiB
PHP
Raw Normal View History

2018-01-28 16:40:49 +00:00
<?php
use Battles\Nick;
use Battles\ShopItem;
use Battles\Template;
use Battles\User;
require_once 'functions.php';
2018-01-28 16:40:49 +00:00
$error = '';
function login($uid)
{
return User::getInstance($uid)->getId() ? Nick::id(User::getInstance()->getId())->full() : 'Место свободно';
2018-01-28 16:40:49 +00:00
}
function form_start($uid)
{
$r = '';
$go = '';
if ($uid > 0) {
$user = mysql_fetch_array(mysql_query('SELECT `id`, `login`, `align`, `level`, `klan`, `zayrist` FROM `users` WHERE `id` = "' . $uid . '" LIMIT 1'));
if (isset($user['id']) ?? $user['zayrist']) {
$zv = mysql_fetch_array(mysql_query('SELECT `id`, `name`, `uid1`, `uid2`, `uid3` FROM `group_ristal` WHERE `id` = "' . $user['zayrist'] . '" LIMIT 1'));
if (isset($zv['id'])) {
$r .= '<form method="POST">';
if ($zv['uid1'] == $user['id']) {
$go = '<input type="submit" name="startZv" value="Начать поход" /> / ';
}
for ($i = 1; $i <= 3; $i++) {
$nick .= login($zv['uid' . $i]) . ', ';
}
$nc = rtrim($nick, ', ');
$r .= '<table style="padding-top: 25px;"><tr><td>Ваша группа («' . $zv['name'] . '»): ' . $nc . ' ' . $go . '<input type="submit" name="leaveZv" value="Покинуть заявку" /></td></tr></table>';
$r .= '</form>';
} else {
$user['zayrist'] = 0;
mysql_query('UPDATE `users` SET `zayrist` = "' . $user['zayrist'] . '" WHERE `id` = "' . $user['id'] . '" LIMIT 1');
}
2018-01-28 16:40:49 +00:00
}
}
return $r;
2018-01-28 16:40:49 +00:00
}
function forms($level)
{
$r = '<br /></br />';
$sp = mysql_query('SELECT `id`, `name`, `pass`, `comment`, `uid1`, `uid2`, `uid3` FROM `group_ristal` WHERE `level` = "' . (int)$level . '" ORDER BY `id` DESC');
if (mysql_num_rows($sp) > 0) {
while ($pl = mysql_fetch_array($sp)) {
$i = 1;
while ($i <= 3) {
$nick .= login($pl['uid' . $i]) . ', ';
$i++;
}
$nc = rtrim($nick, ', ');
$r .= '<table><tr><td>Группа («' . $pl['name'] . '»): ' . $nc . ' <input type="hidden" name="zvId" value="' . $pl['id'] . '" /> <input type="submit" name="gotoZv" value="Вступить в заявку" /></td></tr></table>';
}
} else {
$r .= '<i>Заявок вашего уровня нет</i>';
2018-01-28 16:40:49 +00:00
}
unset($sp, $pl, $nick, $nc, $i);
return $r;
2018-01-28 16:40:49 +00:00
}
if (isset($_POST['buyFirst'])) {
if (isset($user['id'])) {
if ($user['money'] >= 5) {
$Firts = mysql_fetch_array(mysql_query('SELECT `id` FROM `inventory` WHERE `type` = 200 AND `name` = "Фамильный Герб" AND `owner` = "' . $user['id'] . '" LIMIT 1'));
if (isset($Firts['id'])) {
$error = 'У Вас уже есть Фамильный Герб';
} else {
$Second = mysql_fetch_array(mysql_query('SELECT `id` FROM `inventory` WHERE `type` = 200 AND `name` = "Фамильный Герб (х2)" AND `owner` = "' . $user['id'] . '" LIMIT 1'));
if (isset($Second['id'])) {
$error = 'У Вас уже есть Фамильный Герб';
} else {
$user['money'] -= 5;
mysql_query('UPDATE `users` SET `money` = "' . $user['money'] . '" WHERE `id` = "' . $user['id'] . '" LIMIT 1');
ShopItem::giveNewItem(1930, $user['id']);
mysql_query("INSERT INTO `delo` (`author`, `pers`, `text`, `type`, `date`) VALUES ('0', '{$user['id']}', '\"" . $user['login'] . "\" купил Фамильный Герб за 5кр.', '1', '" . time() . "')");
$error = 'Вы купили Фамильный Герб';
}
}
2018-01-28 16:40:49 +00:00
} else {
$error = 'Недостаточно средств';
2018-01-28 16:40:49 +00:00
}
} else {
$error = 'Вы не авторизированы';
2018-01-28 16:40:49 +00:00
}
}
if (isset($_POST['buySecond'])) {
if (isset($user['id'])) {
if ($user['money'] >= 15) {
$Firts = mysql_fetch_array(mysql_query('SELECT `id` FROM `inventory` WHERE `type` = 200 AND `name` = "Фамильный Герб" AND `owner` = "' . $user['id'] . '" LIMIT 1'));
if (isset($Firts['id'])) {
$error = 'У Вас уже есть Фамильный Герб';
} else {
$Second = mysql_fetch_array(mysql_query('SELECT `id` FROM `inventory` WHERE `type` = 200 AND `name` = "Фамильный Герб (х2)" AND `owner` = "' . $user['id'] . '" LIMIT 1'));
if (isset($Second['id'])) {
$error = 'У Вас уже есть Фамильный Герб';
} else {
$user['money'] -= 15;
mysql_query('UPDATE `users` SET `money` = "' . $user['money'] . '" WHERE `id` = "' . $user['id'] . '" LIMIT 1');
ShopItem::giveNewItem(1931, $user['id']);
mysql_query("INSERT INTO `delo` (`author`, `pers`, `text`, `type`, `date`) VALUES ('0', '{$user['id']}', '\"" . $user['login'] . "\" купил Фамильный Герб (x2) за 15кр.', '1', '" . time() . "')");
$error = 'Вы купили Фамильный Герб (x2)';
}
}
2018-01-28 16:40:49 +00:00
} else {
$error = 'Недостаточно средств';
2018-01-28 16:40:49 +00:00
}
} else {
$error = 'Вы не авторизированы';
2018-01-28 16:40:49 +00:00
}
}
if ($_POST['addZayavka']) {
if (isset($user['id'])) {
$name = mysql_real_escape_string($_POST['nameZv']);
$pass = mysql_real_escape_string($_POST['passZv']);
$comment = mysql_real_escape_string($_POST['commentZv']);
$zv = mysql_fetch_array(mysql_query('SELECT `id` FROM `group_ristal` WHERE `id` = "' . $user['zayrist'] . '" LIMIT 1'));
if ($user['zayrist'] > 0 && isset($zv['id'])) {
$error = 'Вы уже состоите в заявке';
} elseif (strlen($name) > 15) {
$error = 'Название может состоять максимум из 15 символов';
} elseif (strlen($name) < 3) {
$error = 'Название может состоять минимум из 3 символов';
} elseif (strlen($pass) > 6) {
$error = 'Пароль может состоять максимум из 6 символов';
} elseif (strlen($comment) > 20) {
$error = 'Комментарий может состоять максимум из 20 символов';
} else {
mysql_query('INSERT INTO `group_ristal` (`name`, `pass`, `comment`, `time`, `uid1`) VALUES ("' . $name . '", "' . $pass . '", "' . $comment . '", "' . time() . '", "' . $user['id'] . '")');
$user['zayrist'] = mysql_insert_id();
mysql_query('UPDATE `users` SET `zayrist` = "' . $user['zayrist'] . '" WHERE `id` = "' . $user['id'] . '" LIMIT 1');
$error = 'Заявка создана';
}
2018-01-28 16:40:49 +00:00
} else {
$error = 'Вы не авторизированы';
2018-01-28 16:40:49 +00:00
}
}
if (isset($_POST['leaveZv']) ?? $user['zayrist']) {
$zv = mysql_fetch_array(mysql_query('SELECT `id`, `uid1`, `uid2`, `uid3` FROM `group_ristal` WHERE `id` = "' . $user['zayrist'] . '" LIMIT 1'));
if (isset($zv['id'])) {
$i = 1;
$j = 3;
$k = 0;
$h = 0;
while ($i <= 3) {
if ($k == 0 && $zv['uid' . $i] != $user['id']) {
$k = $zv['uid' . $i];
$h = $i;
}
$i++;
}
$i = 1;
while ($i <= 3) {
if ($zv['uid' . $i] == $user['id']) {
if ($i > 1) {
$zv['uid' . $i] = 0;
} else {
$zv['uid' . $i] = $k;
$zv['uid' . $h] = 0;
}
}
if ($zv['uid' . $i] == 0) {
$j--;
}
$i++;
}
if ($j < 1) {
mysql_query('DELETE FROM `group_ristal` WHERE `id` = "' . $zv['id'] . '" LIMIT 1');
$error = 'Заявка была удалена<br />';
$user['zayrist'] = 0;
mysql_query('UPDATE `users` SET `zayrist` = "' . $user['zayrist'] . '" WHERE `id` = "' . $user['id'] . '" LIMIT 1');
} else {
mysql_query('UPDATE `group_ristal` SET `uid1` = "' . $zv['uid1'] . '", `uid2` = "' . $zv['uid2'] . '", `uid3` = "' . $zv['uid3'] . '" WHERE `id` = "' . $zv['id'] . '" lIMIT 1');
$user['zayrist'] = 0;
mysql_query('UPDATE `users` SET `zayrist` = "' . $user['zayrist'] . '" WHERE `id` = "' . $user['id'] . '" LIMIT 1');
$error = 'Вы покинули заявку<br />';
}
unset($zv);
2018-01-28 16:40:49 +00:00
}
}
if ($_GET['exit'] == 1) {
2018-01-28 16:40:49 +00:00
mysql_query('UPDATE `users`,`online` SET `users`.`room` = 2702, `online`.`room` = 2702 WHERE `users`.`id` = "' . $user['id'] . '" AND `online`.`id` = "' . $user['id'] . '"');
2018-01-28 16:40:49 +00:00
header('Location: city.php');
}
2018-01-28 16:40:49 +00:00
Template::header('group_arena');
2018-01-28 16:40:49 +00:00
?>
<script>
function growl(title, color, message, stycky) {
if (!stycky) {
stycky = false;
}
if (!color) {
color = 'Red';
}
$.jGrowl(message, {
header: '<img src="/i/jgrowl_moover.png" class="jgrowl-moover" title="Передвинуть" style="cursor: pointer;" /> <font style="color: ' + color + ';">' + title + '</font>',
sticky: stycky,
glue: 'before'
});
}
2018-01-28 16:40:49 +00:00
function shows() {
const clas = $("#alt").attr('class');
$("#mkgrp").toggle();
if (clas == 'show') {
$("#alt").attr('class', 'hide');
$("#alt").text('Скрыть ...');
} else {
$("#alt").attr('class', 'show');
$("#alt").text('Создать группу');
}
}</script>
<style>
body {
background-image: url('i/r240_1.jpg');
background-repeat: no-repeat;
background-position: top right;
}
</style>
<table class="allzeroes">
2019-09-24 15:47:58 +00:00
<tr>
<td>
<div align=center>
<h3>Турниры: Групповые сражения.</h3>
<b>Внимание! В боях этой локации разрешается использовать свитки "Восстановления энергии" номиналом не
более 180НР!</b><br/><br/>
<span style="color: Red;"><b>Внимание! При старте группового турнира руны автоматически будут сняты с персонажа. <br/>Проверьте, что ваши вещи после снятия рун не упадут, и не забудьте надеть руны после выхода из локации!</b></span>
</div>
<? if ($user['zayrist'] == 0) { ?>
<div align=left><h4>Принять участие в турнире:</h4></div><a onclick="shows();" href="#" class="show"
id="alt">Создать группу</a>
<br/><? echo forms($user['level']);
} else {
echo form_start($user['id']);
} ?>
<div id="mkgrp" style="display: none;">
<fieldset
style="text-align: justify; width: 250px; max-width: 250px; height: 100px; max-height: 100px; margin-top: 15px;">
<form method="post">
Название: <input type="text" name="nameZv" size="20"/><br/>
Комментарий: <input type="text" name="commentZv" size="15"/><br/>
Пароль: <input type="text" name="passZv" size="10"/><br/><br/>
<input type="submit" name="addZayavka" value="Создать группу"/>
</form>
</fieldset>
</div>
<div align="left"><p>&nbsp;</p><h4>Победители 10-ти предыдущих турниров: <span
id="levelCheck"><?= $user['level']; ?></span>-е уровни </h4></div>
<div id="rate"></div>
2018-01-28 16:40:49 +00:00
</td>
<td align=right>
<button onclick="location.href='city.php?zaliv'">Вернуться</button>
<br/><br/>
<form method="POST">
<input type="submit" value="Купить «Фамильный Герб» 5 кр." style="background-color: #A9AFC0;"
name="buyFirst"/>
<input type="submit" value="Купить «Фамильный Герб (х2)» 15 кр." style="background-color: #A9AFC0;"
name="buySecond"/>
</form>
2018-01-28 16:40:49 +00:00
</td>
</tr>
</table>
<div id="response"></div>
<script>
$(function () {
let level =;
$('#rate').load('ajax/rate_ruins.php?level=' + level);
2018-01-28 16:40:49 +00:00
$.jGrowl.defaults.closerTemplate = '<div style="text-align: center; cursor: pointer;"><b>[ Закрыть ]</b></div>';
$.jGrowl.defaults.closeTemplate = '<img src="i/clear.gif" alt="x" title="Закрыть" />';
2018-01-28 16:40:49 +00:00
$('body').delegate('div#jGrowl .jgrowl-moover', 'click', function () {
const j = $(this).closest('div#jGrowl');
const c = j.hasClass('top-right') ? 'top-left' : 'top-right';
j.removeClass('top-left top-right').addClass(c);
});
2018-01-28 16:40:49 +00:00
$("#rate").on("click", "a", function (e) {
const level = $(this).attr("id");
$('#rate').load('ajax/rate_ruins.php?level=' + level);
});
});
</script>
<? if ($error != '') {
echo "<script>growl('Внимание', 'Red', '$error');</script>";
}