Рефакторинг, очистка, работа над ошибками, связанными с базой, отказ от глобальной переменной $user во многих файлах.
Singleton в некоторых местах вместо решения #42. Новые шаги для решения #16 и #52. Closes #42. Closes #32. Closes #31.
This commit is contained in:
@@ -5,6 +5,7 @@ use Battles\GameLogs;
|
||||
use Battles\InventoryItem;
|
||||
use Battles\Nick;
|
||||
use Battles\Template;
|
||||
use Battles\User;
|
||||
|
||||
|
||||
require_once 'functions.php';
|
||||
@@ -27,11 +28,11 @@ if ($_SESSION['receiverName']) {
|
||||
$sendItemId = $_POST['item_id'] ?? 0;
|
||||
$telegraphText = $_POST['message'] ?? 0;
|
||||
|
||||
if ($submit == 'sendMessage' && $telegraphText && $user->getMoney()) {
|
||||
if ($submit == 'sendMessage' && $telegraphText && User::getInstance()->getMoney()) {
|
||||
|
||||
if ($telegraphText) {
|
||||
$user->setMoney($user->getMoney() - 1);
|
||||
Bank::setWalletMoney($user->getMoney(), $user->getId());
|
||||
User::getInstance()->setMoney(User::getInstance()->getMoney() - 1);
|
||||
Bank::setWalletMoney(User::getInstance()->getMoney(), User::getInstance()->getId());
|
||||
db::c()->query('INSERT INTO `telegraph` (`receiver`,`text`) VALUES (?i,"?s")', $receiverId, $telegraphText);
|
||||
$statusMessage = 'Сообщение отправлено.';
|
||||
} else {
|
||||
@@ -39,16 +40,16 @@ if ($_SESSION['receiverName']) {
|
||||
}
|
||||
}
|
||||
|
||||
if ($submit == 'sendItem' && $sendItemId && $user->getMoney()) {
|
||||
$res = db::c()->query('SELECT name FROM inventory WHERE owner_id = ?i AND item_id = ?i AND dressed_slot = 0 AND on_sale = 0', $user->getId(), $sendItemId)->fetch_assoc();
|
||||
if ($submit == 'sendItem' && $sendItemId && User::getInstance()->getMoney()) {
|
||||
$res = db::c()->query('SELECT name FROM inventory WHERE owner_id = ?i AND item_id = ?i AND dressed_slot = 0 AND on_sale = 0', User::getInstance()->getId(), $sendItemId)->fetch_assoc();
|
||||
if (!$res) {
|
||||
$statusMessage = "Предмет не найден в рюкзаке.";
|
||||
} else {
|
||||
$user->setMoney($user->getMoney() - 1);
|
||||
Bank::setWalletMoney($user->getMoney(), $user->getId());
|
||||
User::getInstance()->setMoney(User::getInstance()->getMoney() - 1);
|
||||
Bank::setWalletMoney(User::getInstance()->getMoney(), User::getInstance()->getId());
|
||||
db::c()->query('UPDATE `inventory` SET owner_id = ?i WHERE item_id= ?i AND owner_id = ?i', $receiverId, $sendItemId, $_SESSION['uid']);
|
||||
$statusMessage = 'Предмет "' . $res['name'] . '" передан персонажу ' . Nick::id($receiverId)->short(1);
|
||||
$receiverLogMessage = 'Получен предмет "' . $res['name'] . '" от персонажа ' . Nick::id($_SESSION['uid'])->short(1);
|
||||
$statusMessage = 'Предмет "' . $res['name'] . '" передан персонажу ' . User::getInstance($receiverId)->getLogin();
|
||||
$receiverLogMessage = 'Получен предмет "' . $res['name'] . '" от персонажа ' . User::getInstance()->getLogin();
|
||||
db::c()->query('INSERT INTO `telegraph` (`receiver`,`text`) VALUES (?i,"?s")', $receiverId, 'Почтовый перевод: ' . $res['name'] . ' от персонажа ' . $user['login'] . '.');
|
||||
// Пишем в лог отправителю.
|
||||
GameLogs::addUserLog($_SESSION['uid'], $statusMessage, 'почта');
|
||||
@@ -57,7 +58,7 @@ if ($_SESSION['receiverName']) {
|
||||
}
|
||||
}
|
||||
|
||||
$queryItems = db::c()->query('SELECT * FROM inventory WHERE dressed_slot = 0 AND on_sale = 0 AND owner_id = ?i', $user->getId());
|
||||
$queryItems = db::c()->query('SELECT * FROM inventory WHERE dressed_slot = 0 AND on_sale = 0 AND owner_id = ?i', User::getInstance()->getId());
|
||||
while ($row = $queryItems->fetch_assoc()) {
|
||||
$iteminfo[] = new InventoryItem($row);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user