refactor
This commit is contained in:
@@ -1,77 +1,36 @@
|
||||
<?php
|
||||
|
||||
use Core\Db;
|
||||
use Helper\Conversion;
|
||||
|
||||
class ComissionShop
|
||||
{
|
||||
public function commisionShop($sid, $preview = "full")
|
||||
public function commisionShop($preview = 'full')
|
||||
{
|
||||
global $c, $code, $sid;
|
||||
switch ((int)$_GET['otdel']) {
|
||||
case 1:
|
||||
$typeOtdel = 18;
|
||||
break;
|
||||
case 2:
|
||||
$typeOtdel = 19;
|
||||
break;
|
||||
case 3:
|
||||
$typeOtdel = 20;
|
||||
break;
|
||||
case 4:
|
||||
$typeOtdel = 21;
|
||||
break;
|
||||
case 5:
|
||||
$typeOtdel = 22;
|
||||
break;
|
||||
case 6:
|
||||
$typeOtdel = 15;
|
||||
break;
|
||||
case 7:
|
||||
$typeOtdel = 12;
|
||||
break;
|
||||
case 8:
|
||||
$typeOtdel = 4;
|
||||
break;
|
||||
case 9:
|
||||
$typeOtdel = 5;
|
||||
break;
|
||||
case 10:
|
||||
$typeOtdel = 6;
|
||||
break;
|
||||
case 11:
|
||||
$typeOtdel = 1;
|
||||
break;
|
||||
case 12:
|
||||
$typeOtdel = 3;
|
||||
break;
|
||||
case 13:
|
||||
$typeOtdel = 8;
|
||||
break;
|
||||
case 14:
|
||||
$typeOtdel = 14;
|
||||
break;
|
||||
case 15:
|
||||
$typeOtdel = 13;
|
||||
break;
|
||||
case 16:
|
||||
$typeOtdel = 9;
|
||||
break;
|
||||
case 17:
|
||||
$typeOtdel = 10;
|
||||
break;
|
||||
case 18:
|
||||
$typeOtdel = 11;
|
||||
break;
|
||||
case 19:
|
||||
$typeOtdel = 29;
|
||||
break;
|
||||
case 20:
|
||||
$typeOtdel = 30;
|
||||
break;
|
||||
case 1050:
|
||||
$typeOtdel = 1050;
|
||||
break;
|
||||
default :
|
||||
$typeOtdel = 18;
|
||||
}
|
||||
global $code;
|
||||
$typeOtdel = match ((int)$_GET['otdel']) {
|
||||
2 => 19,
|
||||
3 => 20,
|
||||
4 => 21,
|
||||
5 => 22,
|
||||
6 => 15,
|
||||
7 => 12,
|
||||
8 => 4,
|
||||
9 => 5,
|
||||
10 => 6,
|
||||
11 => 1,
|
||||
12 => 3,
|
||||
13 => 8,
|
||||
14 => 14,
|
||||
15 => 13,
|
||||
16 => 9,
|
||||
17 => 10,
|
||||
18 => 11,
|
||||
19 => 29,
|
||||
20 => 30,
|
||||
1050 => 1050,
|
||||
default => 18,
|
||||
};
|
||||
if ($typeOtdel != 1050) {
|
||||
if ($preview == "full") {
|
||||
$cl = mysql_query(
|
||||
@@ -572,4 +531,96 @@ ORDER BY `1price`ASC , inGroupCount DESC'
|
||||
echo '<tr style="background-color:#' . $cr . ';"><td style="padding:7px;" align="center" valign="top">Прилавок магазина пуст</td></tr>';
|
||||
}
|
||||
}
|
||||
|
||||
public function buyItem(int $iid, User $u): string
|
||||
{
|
||||
$irow = Db::getRow('select items_users.id, uid, 1price, inGroup, inShop, data, item_id, login, items_main.name, price1
|
||||
from items_users
|
||||
left join users on users.id = uid
|
||||
left join items_main on items_main.id = item_id
|
||||
where items_users.id = ? and inShop = 30', [$iid]);
|
||||
|
||||
$price = $irow['1price'];
|
||||
if (!isset($irow['id']) || !isset($iid) || $irow['inShop'] != 30) {
|
||||
$r = 'Предмет не найден на прилавке';
|
||||
} else {
|
||||
if ($price > $u->info['money']) {
|
||||
$r = 'У вас недостаточно денег (не хватает ' . ($price - $u->info['money']) . ' кр.)';
|
||||
} else {
|
||||
$u->addKr(-$price);
|
||||
$u->addKr($price, $irow['uid']);
|
||||
|
||||
$col = $u->itemsX($iid);
|
||||
if ($col > 1) {
|
||||
Db::sql('update items_users set uid = ?, inGroup = inGroup + 1000, 1price = ?, lastUPD = unix_timestamp(), inShop = 0
|
||||
where inShop = 30 and inOdet = 0 and item_id = ? and uid = ? and inGroup = ? limit ?',
|
||||
[$u->info['id'], $irow['price1'], $irow['item_id'], $irow['uid'], $irow['inGroup'], $col]);
|
||||
$irow['name'] .= "(x$col)";
|
||||
} else {
|
||||
Db::sql('update items_users set uid = ?, 1price = ?, lastUPD = unix_timestamp(), inShop = 0
|
||||
where id = ? and uid = ? and inOdet = 0',
|
||||
[$iid, $irow['uid']]);
|
||||
}
|
||||
|
||||
Delo::add(1, 'comShop', $u->info['id'], "Купил предмет «{$irow['name']}» у игрока {$irow['login']} за $price кр.", $price);
|
||||
Delo::add(1, 'comShop', $irow['uid'], "Продал предмет «{$irow['name']}» игроку {$irow['login']} за $price кр.");
|
||||
|
||||
$r = "Вы купили предмет «{$irow['name']}» у игрока {$irow['login']} за $price кр.<br>Предмет успешно добавлен в инвентарь.";
|
||||
}
|
||||
}
|
||||
return '<div>' . $r . '</div>';
|
||||
}
|
||||
|
||||
public function rent($action, int $iid, int $price, User $u)
|
||||
{
|
||||
if ($action == "Сдать в магазин" && $price > 0) {
|
||||
$ChImtem = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`, `item_id`, `data`, `inGroup`, `uid` FROM `items_users` WHERE `id` = ' . $iid . ' LIMIT 1'
|
||||
)
|
||||
);
|
||||
$ChSudba = Conversion::dataStringToArray($ChImtem['data']);
|
||||
if (!isset($ChSudba['sudba']) && $ChSudba['sudba'] == 0 && $ChSudba['sudba'] != 1 && !isset($ChSudba['toclan'])) {
|
||||
if (isset($ChImtem['inGroup']) && $ChImtem['inGroup'] > 0) {
|
||||
$col = $u->itemsX($ChImtem['id']);
|
||||
if ($col > 1) {
|
||||
mysql_query(
|
||||
'UPDATE `items_users` SET `inShop` = 30, `1price` = ' . $price . ' WHERE `item_id`="' . $ChImtem['item_id'] . '" AND `uid`="' . $ChImtem['uid'] . '" AND `inGroup` = "' . $ChImtem['inGroup'] . '" LIMIT ' . $col . ''
|
||||
);
|
||||
} else {
|
||||
mysql_query(
|
||||
'UPDATE `items_users` SET `inShop` = 30, `1price` = ' . $price . ' WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" '
|
||||
);
|
||||
}
|
||||
} else {
|
||||
mysql_query(
|
||||
'UPDATE `items_users` set `inShop` = 30, `1price` = ' . $price . ' where `uid` = "' . $u->info['id'] . '" AND `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" '
|
||||
);
|
||||
}
|
||||
}
|
||||
} elseif ($action == "Забрать") {
|
||||
$i = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `im`.`price1`,
|
||||
`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . $iid . '" AND `iu`.`inShop` = "30" AND `iu`.`delete` = "0" LIMIT 1'
|
||||
)
|
||||
);
|
||||
if (isset($i['inGroup']) and $i['inGroup'] > 0) {
|
||||
$col = $u->itemsX($i['id']);
|
||||
if ($col > 1) {
|
||||
mysql_query(
|
||||
'UPDATE `items_users` SET `inShop` = 0, `1price` = ' . $i['price1'] . ' WHERE `item_id`="' . $i['item_id'] . '" AND `inShop` = "30" AND `uid`="' . $i['uid'] . '" AND `inGroup` = "' . $i['inGroup'] . '" LIMIT ' . $col . ''
|
||||
);
|
||||
} else {
|
||||
mysql_query(
|
||||
'UPDATE `items_users` SET `inShop` = 0, `1price` = ' . $i['price1'] . ' WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" '
|
||||
);
|
||||
}
|
||||
} else {
|
||||
mysql_query(
|
||||
'UPDATE `items_users` SET `inShop` = 0, `1price` = "' . $i['price1'] . '" WHERE `id` = "' . $iid . '" and `inShop` = "30" LIMIT 1'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user