game/modules_data/_inv.php
2022-12-30 21:03:50 +02:00

497 lines
21 KiB
PHP

<script language="JavaScript">
var elem = document.getElementById("se-pre-con");
elem.parentNode.removeChild(elem);
</script>
<?php
use Core\Database;
if (!defined('GAME_VERSION')) {
require_once '_incl_data/autoload.php';
}
session_start();
if (!defined('GAME')) {
die();
}
$u->info['marker'] = 'inv';
if (isset($_SESSION['otdel']) && !isset($_GET['otdel']) && !isset($_GET['paged'])) {
$_GET['otdel'] = $_SESSION['otdel'];
$_GET['paged'] = $_SESSION['paged'];
} elseif (!isset($_GET['otdel']) || ($_GET['otdel'] < 1 && $_GET['otdel'] > 6)) {
$_GET['otdel'] = 1; // Åñëè ðàçäåë íå óêàçàí.
$_GET['paged'] = $_SESSION['paged'] = 0;
}
if (isset($_GET['otdel'])) {
if (!isset($_GET['paged']) && (isset($_GET['use_pid']) || isset($_GET['sid']) || isset($_GET['oid']) || isset($_GET['usecopr']) || isset($_GET['delcop']))) {
$_GET['paged'] = $_SESSION['paged']; // use item and load old paging
} elseif (isset($_GET['paged']) && $_GET['paged'] != '') {
$_SESSION['paged'] = $_GET['paged']; // Çàäàåì íîâóþ ñòðàíèöó.
} elseif (isset($_SESSION['paged']) && $_SESSION['paged'] != '' && $_SESSION['otdel'] == $_GET['otdel']) {
$_GET['paged'] = $_SESSION['paged']; // Åñëè ñòðàíèöà óæå èìååòñÿ â ñåññèè, âîçâðàùàåì å¸ â òåêóùóþ.
} else {
$_GET['paged'] = $_SESSION['paged'] = 0;
}
}
$_SESSION['otdel'] = $_GET['otdel']; // äëÿ îòëàäêè.
if (isset($_GET['delcop'])) {
mysql_query(
'DELETE FROM `complects_priem` WHERE `id` = "' . mysql_real_escape_string(
$_GET['delcop']
) . '" AND `uid` = "' . $u->info['id'] . '" LIMIT 1'
);
} elseif (isset($_GET['usecopr'])) {
$cpr = mysql_fetch_array(
mysql_query(
'SELECT * FROM `complects_priem` WHERE `id` = "' . mysql_real_escape_string(
$_GET['usecopr']
) . '" AND `uid` = "' . $u->info['id'] . '" LIMIT 1'
)
);
if (isset($cpr['id'])) {
$u->info['priems'] = $cpr['priems'];
mysql_query(
'UPDATE `stats` SET `priems` = "' . mysql_real_escape_string(
$cpr['priems']
) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
);
}
}
//ñîõðàíÿåì êîìïëåêò
if (isset($_POST['compname'])) {
$_POST['compname'] = htmlspecialchars($_POST['compname'], null, 'cp1251');
$_POST['compname'] = str_replace("'", '', $_POST['compname']);
$_POST['compname'] = str_replace('"', '', $_POST['compname']);
$ptst = str_replace(' ', '', $_POST['compname']);
if ($ptst != '') {
//Äîáàâëÿåì êîìïëåêò
$ptst = '';
$sp = mysql_query(
'SELECT `inOdet`,`id` FROM `items_users` WHERE `uid` = "' . $u->info['id'] . '" AND `delete` = "0" AND `inOdet` > 0 AND `inShop` = "0" ORDER BY `inOdet` ASC LIMIT 250'
);
while ($pl = mysql_fetch_array($sp)) {
$ptst .= $pl['inOdet'] . '=' . $pl['id'] . '|';
}
$tcm = mysql_fetch_array(
mysql_query(
'SELECT * FROM `save_com` WHERE `uid` = "' . $u->info['id'] . '" AND `name` = "' . mysql_real_escape_string(
$_POST['compname']
) . '" AND `delete` = "0" LIMIT 1'
)
);
if (!isset($tcm['id'])) {
//äîáàâëÿåì íîâûé êîìïëåêò
$ins = mysql_query(
'INSERT INTO `save_com` (`uid`,`time`,`name`,`val`,`type`) VALUES ("' . $u->info['id'] . '","' . time(
) . '","' . mysql_real_escape_string($_POST['compname']) . '","' . $ptst . '","0")'
);
if ($ins) {
$u->error = 'Êîìïëåêò &quot;' . $_POST['compname'] . '&quot; áûë óñïåøíî ñîõðàíåí';
} else {
$u->error = 'Íå óäàëîñü ñîõðàíèòü êîìïëåêò ïî òåõíè÷åñêèì ïðè÷èíàì';
}
} else {
//èçìåíÿåì ñóùåñòâóþùèé
$ins = mysql_query(
'UPDATE `save_com` SET `val` = "' . $ptst . '" WHERE `id` = "' . $tcm['id'] . '" LIMIT 1'
);
if ($ins) {
$u->error = 'Êîìïëåêò &quot;' . $_POST['compname'] . '&quot; áûë óñïåøíî èçìåíåí';
} else {
$u->error = 'Íå óäàëîñü èçìåíèòü êîìïëåêò ïî òåõíè÷åñêèì ïðè÷èíàì';
}
}
unset($ptst, $tcm, $inc);
}
} elseif (isset($_GET['delc1'])) {
$cmpl = mysql_query(
'UPDATE `save_com` SET `delete` = "' . time(
) . '" WHERE `uid` = "' . $u->info['id'] . '" AND `delete` = "0" AND `id` = "' . mysql_real_escape_string(
$_GET['delc1']
) . '" LIMIT 1'
);
if ($cmpl) {
$u->error = 'Êîìïëåêò áûë óñïåøíî óäàëåí';
}
}
$filt = '`iu`.`lastUPD` DESC';
if (isset($_GET['boxsort'])) {
switch ($_GET['boxsort']) {
case'name':
$filt = '`im`.`name` ASC';
break;
case'cost':
$filt = '`im`.`price2` DESC, `im`.`price1` DESC';
break;
case'type':
$filt = '`im`.`inslot`';
break;
}
}
$pc = 3000;
$pg = round((int)@$_GET['paged']);
$pxc = $pg * $pc;
$nlim = '';
$pgs = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`iu`.`id`) FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON `im`.`id` = `iu`.`item_id` WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `im`.`inRazdel`="' . mysql_real_escape_string(
$_GET['otdel']
) . '" ORDER BY ' . $filt . ' LIMIT 1'
)
);
$pgs = $pgs[0];
$page_look = '';
$inventorySortBox = '<div id="inventorySortBox">
Ñîðòèðîâêà: <br/>
<input type="button" onclick="inventoryAjax(\'main.php?inv=1&mAjax=true&boxsort=name&otdel=' . intval(
$_GET['otdel']
) . '\');" class="btn btn-danger" value="Íàçâàíèþ" />
<input type="button" onclick="inventoryAjax(\'main.php?inv=1&mAjax=true&boxsort=cost&otdel=' . intval(
$_GET['otdel']
) . '\');" class="btn btn-danger" value="Öåíå" />
<input type="button" onclick="inventoryAjax(\'main.php?inv=1&mAjax=true&boxsort=type&otdel=' . intval(
$_GET['otdel']
) . '\');" class="btn btn-danger" value="Òèïó" />
</div>';
if (isset($_SESSION['paged'])) {
$page_look = '<!-- PAGED SEE ' . round((int)@$_SESSION['paged']) . '-->';
} else {
$page_look = '<!-- PAGED ' . $_SESSION['paged'] . ' -->';
}
if ($pgs > $pc) {
$nlim = ' LIMIT ' . $pxc . ' , ' . $pc . '';
$page_look .= '<div style="padding:0px;">';
$page_look .= 'Ñòðàíèöû: ';
$i = 1;
echo '<style>.pgdas { display:inline-block;background-color:#dadada; padding:2px 4px 1px 4px; font-size:12px;} .pgdas1 { display:inline-block;background-color:#a5a5a5; padding:2px 4px 1px 4px; font-size:12px;}
.pgdas { background: #dadada;background: -moz-linear-gradient(top, #dadada 50%, #a5a5a5 99%);background: -webkit-gradient(linear, left top, left bottom, color-stop(50%,#dadada), color-stop(99%,#a5a5a5));background: -webkit-linear-gradient(top, #dadada 50%,#a5a5a5 99%);background: -o-linear-gradient(top, #dadada 50%,#a5a5a5 99%);background: -ms-linear-gradient(top, #dadada 50%,#a5a5a5 99%);background: linear-gradient(to bottom, #dadada 50%,#a5a5a5 99%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=\'#dadada\', endColorstr=\'#a5a5a5\',GradientType=0 );
}
.pgdas1 { background: #a5a5a5; }
</style>';
while ($i <= ceil($pgs / $pc)) {
if ($i - 1 == $pg) {
$sep = 1;
} else {
$sep = '';
}
$page_look .= '<a class="pgdas' . $sep . '" href="javascript:void(0);" onclick="inventoryAjax(\'main.php?paged=' . ($i - 1) . '&inv&mAjax=true&otdel=' . round(
$_GET['otdel']
) . '\');">' . $i . '</a> ';
$i++;
}
$page_look .= '</div>';
}
$filt = '`lastUPD` DESC';
if (isset($_GET['boxsort'])) {
switch ($_GET['boxsort']) {
case'name':
$filt = '`name` ASC';
break;
case'cost':
$filt = '`price2` DESC, `price1` DESC';
break;
case'type':
$filt = '`inslot`';
break;
}
}
$itmAll = $itmAllSee = '';
if (isset($_GET['boxsort']) && $_GET['otdel'] == 5) {
if ($_POST['subfilter']) {
$itmAll = $u->genInv(
1,
'`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `name` LIKE "%' . addcslashes(
mysql_real_escape_string($_POST['filter']), '%_'
) . '%" ORDER BY `name` ASC'
);
}
} else {
$itmAll = $u->genInv(
1,
'`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `im`.`inRazdel`="' . mysql_real_escape_string(
$_GET['otdel']
) . '" ORDER BY ' . $filt . '' . $nlim
);
}
$itmAllSee = '<tr><td align="center" bgcolor="#c7c7c7">ÏÓÑÒÎ</td></tr>';
if ($itmAll[0] > 0) {
$itmAllSee = $itmAll[2];
}
$clrb = '';
$clrba = '';
if ($u->aves['now'] >= $u->aves['max']) {
$clrb = 'color:#BB0000;';
$clrba = ' &nbsp; (Ó âàñ ïåðåãðóç!)';
}
$showItems = '
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<table width="100%" style="" cellspacing="0" cellpadding="0" bgcolor="#d4d2d2">
<tr>
<td style="border-top:4px solid #d4d2d2;border-bottom:4px solid #d4d2d2;" width="20%" ' . (($_GET['otdel'] != 1) ? 'style=""' : 'style=""') . ' align=center bgcolor="' . (($_GET['otdel'] == 1) ? '#a5a5a5' : '') . '"><a href="javascript:void(0);" onclick="inventoryAjax(\'main.php?inv=1&mAjax=true&otdel=1&rn=1.1\');">Îáìóíäèðîâàíèå</a></td>
<td style="border-top:4px solid #d4d2d2;border-bottom:4px solid #d4d2d2;" width="20%" ' . (($_GET['otdel'] != 2) ? 'style=""' : 'style=""') . ' align=center bgcolor="' . (($_GET['otdel'] == 2) ? '#a5a5a5' : '') . '"><a href="javascript:void(0);" onclick="inventoryAjax(\'main.php?inv=1&mAjax=true&otdel=2&rn=2.1\');">Çàêëÿòèÿ</a></td>
<td style="border-top:4px solid #d4d2d2;border-bottom:4px solid #d4d2d2;" width="20%" ' . (($_GET['otdel'] != 3) ? 'style=""' : 'style=""') . ' align=center bgcolor="' . (($_GET['otdel'] == 3) ? '#a5a5a5' : '') . '"><a href="javascript:void(0);" onclick="inventoryAjax(\'main.php?inv=1&mAjax=true&otdel=3&rn=3.1\');">Ýëèêñèðû</a></td>
<td style="border-top:4px solid #d4d2d2;border-bottom:4px solid #d4d2d2;" width="20%" ' . (($_GET['otdel'] != 6) ? 'style=""' : 'style=""') . ' align=center bgcolor="' . (($_GET['otdel'] == 6) ? '#a5a5a5' : '') . '"><a href="javascript:void(0);" onclick="inventoryAjax(\'main.php?inv=1&mAjax=true&otdel=6&rn=6.1\');">Ðóíû</a></td>
<td style="border-top:4px solid #d4d2d2;border-bottom:4px solid #d4d2d2;" width="20%" ' . (($_GET['otdel'] != 4) ? 'style=""' : 'style="" ') . ' align=center bgcolor="' . (($_GET['otdel'] == 4) ? '#a5a5a5' : '') . '"><a href="javascript:void(0);" onclick="inventoryAjax(\'main.php?inv=1&mAjax=true&otdel=4&rn=4.1\');">Ïðî÷åå</a></td>
</tr>
</table></td>
</tr>
<tr>
<td align="center" ><table border="0" cellpadding="0" cellspacing="0" width="100%" style="padding-top:0px; border-left: 1px solid #A5A5A5; border-right: 1px solid #A5A5A5;" bgcolor="#a5a5a5">
<tr>
<td align="left" style="color:#2b2c2c; height: 20 px;font-size:12px; padding-top:2px;' . $clrb . '">
<b>&nbsp; Ðþêçàê (ìàññà: ' . (0 + $u->aves['now']) . '/' . $u->aves['max'] . ')</b> ' . $clrba . '
<input type="submit" style="display: none" id="inpFilterName_submit" value="Ôèëüòð" onclick="return false">
<div class="autocomplete-suggestions" style="position: absolute; display: none;top: 15px; left:0; margin:0px auto; right: 0px; font-size:12px; font-family: Tahoma; max-height: 300px; z-index: 9999;"></div>
</div>
</form>
<input type="button" onclick="inventorySort(this);" style="margin:0px 2px;" value="Ñîðòèðîâêà" />
' . $inventorySortBox . '
</td>
</tr>
</table></td>
</tr>
<tr>
<td valign="top" align="center">
<div style="height:350px; border-bottom: 1px solid #A5A5A5;border-top: 1px solid #A5A5A5;" id="itmAllSee"><table width="100%" border="0" cellspacing="1" align="center" cellpadding="0" bgcolor="#A5A5A5">' . (($u->info['invBlock'] == 0) ? $itmAllSee : '<div align="center" style="padding:10px;background-color:#A5A5A5;"><form method="post" action="main.php?inv=1&otdel=' . $_GET['otdel'] . '&relockinvent"><b>Ðþêçàê çàêðûò.</b><br><img title="Çàìîê äëÿ ðþêçàêà" src="https://img.new-combats.com/i/items/box_lock.gif"> Ââåäèòå ïàðîëü: <input id="relockInv" name="relockInv" type="password"><input type="submit" value="Îòêðûòü"></form></div>') . '</table></div></td>
</tr>
</table>
<script language="JavaScript">
if($.cookie(\'invFilterByName\')) $("#ShowInventory").hide();
$(document).ready(function (){ $("#ShowInventory").show(); });
</script>
';
if (isset($_GET['mAjax'])) {
exit($showItems);
}
?>
<script type="text/javascript" src="js/jquery.1.11.js"></script>
<script type="text/javascript" src="js/jquery.cookie.1.4.1.js"></script>
<script type="text/javascript" src="js/jquery.autocomplete.js"></script>
<script>
$.cookie('invFilterByName', '');
var UpdateItemList;
function inventorySort(e) {
if ($('#inventorySortBox').css('display') == 'none') {
$('#inventorySortBox').show();
$(e).addClass('focus');
} else {
$('#inventorySortBox').hide();
$(e).removeClass('focus');
}
}
function inventoryHeight() {
var height = $('#itmAll').height();
var heW = $(window).height();
heW = heW - 148; // 1060
height = height - 120; // 462
var heMax = $("#itmAllSee").children('table').height();
if (heMax > height) {
if (heW > height) {
$("#itmAllSee").height(heW);
} else {
$("#itmAllSee").height(height);
}
} else {
$("#itmAllSee").height(heMax);
}
}
$(window).ready(function () {
inventoryHeight();
});
$(window).resize(function () {
inventoryHeight();
});
function seetext(id) {
var id = document.getElementById('close_text_itm' + id);
if (id.style.display == 'none') {
id.style.display = '';
} else {
id.style.display = 'none';
}
}
function UpdateItemList() {
var inv_names = [];
var items = $('a.inv_name');
$(items).each(function () {
if ($.inArray($(this).text(), inv_names) < 0) inv_names.push($(this).text());
});
$('#inpFilterName').autocomplete({lookup: inv_names, onSelect: invFilterByName});
}
function invFilterByName() {
$.cookie('invFilterByName', '');
var val = $('#inpFilterName').val();
if (val == '') $("a.inv_name").parent().parent().stop().show();
else {
$.cookie('invFilterByName', val);
$("a.inv_name:not(:contains('" + val + "'))").parents('.item').stop().css('background-color', '').hide();
$("a.inv_name:contains('" + val + "')").parents('.item').stop().show();
}
}
function inventoryAjax(url) {
$('#ShowInventory').html('<div align="center" style="padding:10px;background-color:#d4d2d2;color:grey;"><b>Çàãðóçêà...</b></div>');
$.ajax({
url: url,
cache: false,
dataType: 'html',
success: function (html) {
$('#ShowInventory').html(html);
inventoryHeight();
UpdateItemList();
}
});
}
$(document).ready(function () {
function UpdateItemList() {
var inv_names = [];
var items = $('a.inv_name');
$(items).each(function () {
if ($.inArray($(this).text(), inv_names) < 0) inv_names.push($(this).text());
});
$('#inpFilterName').autocomplete({lookup: inv_names, onSelect: invFilterByName});
}
function invFilterByName() {
$.cookie('invFilterByName', '');
var val = $('#inpFilterName').val();
if (val == '') $("a.inv_name").parent().parent().stop().show();
else {
$.cookie('invFilterByName', val);
$("a.inv_name:not(:contains('" + val + "'))").parents('.item').stop().css('background-color', '').hide();
$("a.inv_name:contains('" + val + "')").parents('.item').stop().show();
}
}
UpdateItemList(); // ïåðåñ÷åò ïðåäìåòîâ.
invFilterByNameTimer = null;
// ïðîñìàòðèâàåì ðåçóëüòàò
$('#line_filter').submit(function () {
$('#inpFilterName_submit').trigger('click');
});
// Åñëè â âûïàäàþùåì ñïèñêå ïðåäìåòîâ ëèñòàåì ïðè ïîìîùè êëàâèø Up è Down, àâòîìàòè÷åñêè ïðîñìàòðèâàåì ðåçóëüòàò.
$('#inpFilterName').keyup(function (e) {
$('#inpFilterName_submit').trigger('click');
});
// Çàïîìèíàåì ïðîøëûé ïîèñê ïðåäìåòà è àêòèâèðóåì åãî ïðè îòêðûòèè èíâåíòàðÿ\ñóíäóêà
if ($.cookie('invFilterByName')) {
$('#inpFilterName').val($.cookie('invFilterByName'));
invFilterByName();
}
// Àâòîîáíîâëåíèå â ðåàëüíîì âðåìåíè ïðè íàïèñàíèè òåêñòà.
$('#line_filter').click(function () {
window.clearInterval(invFilterByNameTimer);
if ($('#inpFilterName').val() == '') invFilterByName(); else invFilterByNameTimer = setTimeout(invFilterByName, 200);
return false;
});
});
jQuery.expr[":"].contains = function (elem, i, match, array) {
return (elem.textContent || elem.innerText || jQuery.text(elem) || "").toLowerCase().indexOf(match[3].toLowerCase()) >= 0;
}
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="250" valign="top" align="right">
<div style="padding-top: 6px; text-align: center">
<?php
$usee = $u->getInfoPers($u->info['id'], 0, 0, 1);
echo $usee ? $usee[0] : 'information is lost.';
$priem = new Priems();
echo '<br>';
$priem->seeMy(1);
echo '<br>' . $u->info_remont();
?>
</div>
<div style="text-align: center">
<?= $c['counters']; ?>
</div>
</td>
<td width="287" style="padding-right:7px;" valign="top" align="left">
<?php include('stats_inv.php'); ?>
</td>
<td valign="top" id="itmAll">
<div style="z-index: 2; position: relative; width:100%; display:table; box-sizing: border-box; margin: 0; padding: 0 5px 3px 5px;">
<div style="display:table-cell;"><!-- Êíîïêè âîçâðàòà è äðóãèå--></div>
<div style="display:table-cell; text-align: right;">
<input class="btn btn-success" type="button"
onclick="top.frames['main'].location='main.php?titul&rnd=<?php
echo $code; ?>'" value="Äîñòèæåíèÿ"/>
<input class="btn btn-success" type="button"
onclick="top.frames['main'].location='main.php?newanimal&rnd=<?php
echo $code; ?>'" value="Çâåðè"/>
<input class="btn btn-success" type="button" onclick="window.open('/exp');" value="Òàáëèöà îïûòà"/>
<input class="btn btn-success" type="button" onclick="window.open('/stats_bonus.php');"
value="Áîíóñû ñòàòîâ"/>
<input class="btn btn-success" type="button"
onclick="top.frames['main'].location='main.php?act_trf&rnd=<?php
echo $code; ?>'" value="Îò÷åòû î ïåðåâîäàõ"/>
<?php if (!$u->info['inTurnir']): ?>
<input class="btn btn-success" type="button"
onclick="top.frames['main'].location='main.php?obraz&rnd=<?= $code; ?>'" value="Îáðàç"/>
<?php endif;
$stmt = Database::pdoinit()->prepare(
'select count(*) from reimage where ((uid = ? and clan = 0) or clan = ?) and good != 0 and bad = 0'
);
$stmt->execute([$u->info['id'], $u->info['clan']]);
if ($stmt->fetchColumn()) { ?>
<input class="btn" type="button"
onclick="top.frames['main'].location='main.php?galery&rnd=<?= $code; ?>'"
value="Ãàëåðåÿ"/>
<?php
}
unset($stmt);
?>
<input class="btn btn-success" type="button" onclick="top.frames['main'].location='main.php'"
value="Âåðíóòüñÿ"/>
</div>
</div>
<table width="100%" border="0" cellspacing="0" cellpadding="0" noresize="noresize">
<?php if ($u->error): ?>
<tr>
<td>
<div style="min-height:18px;padding:2px 4px; color: red; font-weight: bold;">
<?= $u->error ?>
</div>
</td>
</tr>
<?php endif; ?>
<tr>
<td id="ShowInventory">
<?= $showItems; ?>
</td>
</tr>
</table>
</td>
</tr>
</table>