309 lines
14 KiB
PHP
309 lines
14 KiB
PHP
<?php
|
||
|
||
use Battles\Template;
|
||
|
||
require_once 'functions.php';
|
||
|
||
$error = '';
|
||
|
||
function login($uid)
|
||
{
|
||
$user = mysql_fetch_array(mysql_query('SELECT `id`, `login`, `align`, `level`, `klan` FROM `users` WHERE `id` = "' . mysql_real_escape_string($uid) . '" LIMIT 1'));
|
||
if (isset($user['id'])) {
|
||
$align_img = '<img src="i/align_' . ($user['align'] ? $user['align'] : 0) . '.gif" /> ';
|
||
if ($user['klan'] != '') {
|
||
$clan = mysql_fetch_array(mysql_query('SELECT `id`, `name` FROM `clans` WHERE `id` = "' . $user['klan'] . '" LIMIT 1'));
|
||
$clan_img = '<img title="' . $clan['name'] . '" src="i/clan/' . $clan['name'] . '.png" /> ';
|
||
} else {
|
||
$clan_img = '';
|
||
}
|
||
$r = $align_img . $clan_img . ' <b>' . $user['login'] . ' [' . $user['level'] . ']</b><a href="/inf.php?' . $user['id'] . '" target="_blank"><img src="/i/inf.gif" /></a>';
|
||
} else {
|
||
$r = 'Место свободно';
|
||
}
|
||
return $r;
|
||
}
|
||
|
||
|
||
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');
|
||
}
|
||
}
|
||
}
|
||
return $r;
|
||
}
|
||
|
||
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>';
|
||
}
|
||
unset($sp, $pl, $nick, $nc, $i);
|
||
return $r;
|
||
}
|
||
|
||
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');
|
||
takeshopitem(1930, 'shop', '', '', 0, 0, $user['id'], 1, '', 0);
|
||
mysql_query("INSERT INTO `delo` (`author`, `pers`, `text`, `type`, `date`) VALUES ('0', '{$user['id']}', '\"" . $user['login'] . "\" купил Фамильный Герб за 5кр.', '1', '" . time() . "')");
|
||
$error = 'Вы купили Фамильный Герб';
|
||
}
|
||
}
|
||
} else {
|
||
$error = 'Недостаточно средств';
|
||
}
|
||
} else {
|
||
$error = 'Вы не авторизированы';
|
||
}
|
||
}
|
||
|
||
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');
|
||
takeshopitem(1931, 'shop', '', '', 0, 0, $user['id'], 1, '', 0);
|
||
mysql_query("INSERT INTO `delo` (`author`, `pers`, `text`, `type`, `date`) VALUES ('0', '{$user['id']}', '\"" . $user['login'] . "\" купил Фамильный Герб (x2) за 15кр.', '1', '" . time() . "')");
|
||
$error = 'Вы купили Фамильный Герб (x2)';
|
||
}
|
||
}
|
||
} else {
|
||
$error = 'Недостаточно средств';
|
||
}
|
||
} else {
|
||
$error = 'Вы не авторизированы';
|
||
}
|
||
}
|
||
|
||
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 = 'Заявка создана';
|
||
}
|
||
} else {
|
||
$error = 'Вы не авторизированы';
|
||
}
|
||
}
|
||
|
||
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);
|
||
}
|
||
}
|
||
if ($_GET['exit'] == 1) {
|
||
|
||
mysql_query('UPDATE `users`,`online` SET `users`.`room` = 2702, `online`.`room` = 2702 WHERE `users`.`id` = "' . $user['id'] . '" AND `online`.`id` = "' . $user['id'] . '"');
|
||
header('Location: city.php');
|
||
}
|
||
|
||
Template::header('group_arena');
|
||
?>
|
||
<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'
|
||
});
|
||
}
|
||
|
||
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">
|
||
<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> </p><h4>Победители 10-ти предыдущих турниров: <span
|
||
id="levelCheck"><?= $user['level']; ?></span>-е уровни </h4></div>
|
||
<div id="rate"></div>
|
||
</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>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<div id="response"></div>
|
||
<script>
|
||
$(function () {
|
||
let level =;
|
||
$('#rate').load('ajax/rate_ruins.php?level=' + level);
|
||
|
||
$.jGrowl.defaults.closerTemplate = '<div style="text-align: center; cursor: pointer;"><b>[ Закрыть ]</b></div>';
|
||
$.jGrowl.defaults.closeTemplate = '<img src="i/clear.gif" alt="x" title="Закрыть" />';
|
||
|
||
$('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);
|
||
});
|
||
|
||
|
||
$("#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>";
|
||
}
|