Куча мелочей, в том числе по #42.
This commit is contained in:
+27
-35
@@ -12,18 +12,18 @@ use Battles\Travel;
|
||||
use Battles\User;
|
||||
|
||||
require_once 'config.php';
|
||||
DBPDO::$db = new DBPDO();
|
||||
if (empty($_SESSION['uid'])) {
|
||||
header("Location: index.php");
|
||||
exit;
|
||||
} else {
|
||||
$user = new User($_SESSION['uid']);
|
||||
User::$current = new User($_SESSION['uid']);
|
||||
}
|
||||
if ($user->getId() && $user->getBlock()) {
|
||||
if (User::$current->getId() && User::$current->getBlock()) {
|
||||
exit('user blocked!');
|
||||
}
|
||||
|
||||
$db = new DBPDO();
|
||||
|
||||
/*
|
||||
* Проверки на соответствие скрипта и комнаты, которые были натыканы по всем файлам.
|
||||
*/
|
||||
@@ -57,12 +57,12 @@ $fbattleCheckFiles = [
|
||||
'zayavka.php',
|
||||
];
|
||||
//Может просто отовсюду? О_о
|
||||
if ($user->getBattle() && in_array(pathinfo(debug_backtrace()[0]['file'])['basename'], $fbattleCheckFiles)) {
|
||||
if (User::$current->getBattle() && in_array(pathinfo(debug_backtrace()[0]['file'])['basename'], $fbattleCheckFiles)) {
|
||||
header('location: fbattle.php');
|
||||
exit;
|
||||
}
|
||||
$towerinCheckFiles = ['main.php', 'city.php', 'tower.php'];
|
||||
if ($user->getInTower() && in_array(pathinfo(debug_backtrace()[0]['file'])['basename'], $towerinCheckFiles)) {
|
||||
if (User::$current->getInTower() && in_array(pathinfo(debug_backtrace()[0]['file'])['basename'], $towerinCheckFiles)) {
|
||||
header('location: towerin.php');
|
||||
exit;
|
||||
}
|
||||
@@ -70,8 +70,8 @@ $roomsCheck = [22, 23, 25, 27, 29, 30, 31, 37, 38, 39, 40, 41, 45, 53, 61, 401,
|
||||
// Если я в одной из этих комнат,
|
||||
// [И] Имя файла который инклюдит файл с проверкой не совпадает с именем файла локации в которой я нахожусь
|
||||
// [И] Номер комнаты который я пытаюсь открыть есть в списке проверяемых
|
||||
if (in_array($user->getRoom(), $roomsCheck)
|
||||
&& pathinfo(debug_backtrace()[0]['file'])['basename'] != Travel::$roomFileName[$user->getRoom()]
|
||||
if (in_array(User::$current->getRoom(), $roomsCheck)
|
||||
&& pathinfo(debug_backtrace()[0]['file'])['basename'] != Travel::$roomFileName[User::$current->getRoom()]
|
||||
&& in_array(array_search(pathinfo(debug_backtrace()[0]['file'])['basename'], Travel::$roomFileName), $roomsCheck)) {
|
||||
header('location: main.php');
|
||||
exit;
|
||||
@@ -80,7 +80,7 @@ if (in_array($user->getRoom(), $roomsCheck)
|
||||
$ip = filter_input(INPUT_SERVER, 'REMOTE_ADDR', FILTER_VALIDATE_IP);
|
||||
if (isset($_GET['goto']) && isset($_GET['tStamp']) && isset($_GET['vcode']) && $_GET['vcode'] == md5(sha1($_GET['goto'] . $_GET['tStamp']))) {
|
||||
db::c()->query('UPDATE `users`,`online` SET `users`.`room` = ?i, `online`.`room` = ?i WHERE `online`.`id` = `users`.`id` AND `online`.`id` = ?i', $_GET['goto'], $_GET['goto'], $_SESSION['uid']);
|
||||
$user->setRoom(intval($_GET['goto']));
|
||||
User::$current->setRoom(intval($_GET['goto']));
|
||||
}
|
||||
|
||||
function createbot($bot, $login = "")
|
||||
@@ -139,11 +139,10 @@ function get_out($u)
|
||||
|
||||
function takeshopitem($item, $table = "shop", $present = '', $onlyonetrip = '', $fields = 0, $uid = 0, $koll = 1, $podzem = 0)
|
||||
{
|
||||
global $user;
|
||||
$flds = [];
|
||||
$goden = '';
|
||||
if (!$uid) {
|
||||
$uid = $user->getId();
|
||||
$uid = User::$current->getId();
|
||||
}
|
||||
|
||||
$r = db::c()->query('SHOW FIELDS FROM ?f', $table);
|
||||
@@ -290,21 +289,20 @@ HTML;
|
||||
*/
|
||||
function echoscroll($slot)
|
||||
{
|
||||
global $user;
|
||||
$all_magic = 0;
|
||||
if ($user->getBattle()) {
|
||||
if (User::$current->getBattle()) {
|
||||
$script = 'fbattle';
|
||||
$bat = db::c()->query('SELECT `magic` FROM `battle` WHERE `id` = ?i', $user->getBattle())->fetch_assoc();
|
||||
$bat = db::c()->query('SELECT `magic` FROM `battle` WHERE `id` = ?i', User::$current->getBattle())->fetch_assoc();
|
||||
$all_magic = unserialize($bat['magic']);
|
||||
} else {
|
||||
$script = 'main';
|
||||
}
|
||||
|
||||
$dress = db::c()->query('SELECT `id`, `magic`, `name`, `img`, `duration`, `maxdur` FROM `inventory` WHERE `id` = ?i', $user->$slot)->fetch_assoc();
|
||||
$dress = db::c()->query('SELECT `id`, `magic`, `name`, `img`, `duration`, `maxdur` FROM `inventory` WHERE `id` = ?i', User::$current->$slot)->fetch_assoc();
|
||||
$need_charge = db::c()->query('SELECT `needcharge` FROM `magic` WHERE `id` = ?i', $dress['magic'])->fetch_assoc();
|
||||
|
||||
if (($user->$slot > 0) && ($all_magic[$user->getId()] < 1 || empty($need_charge['needcharge']))) {
|
||||
$row['id'] = $user->$slot;
|
||||
if ((User::$current->$slot > 0) && ($all_magic[User::$current->getId()] < 1 || empty($need_charge['needcharge']))) {
|
||||
$row['id'] = User::$current->$slot;
|
||||
if ($dress['magic']) {
|
||||
$magic = db::c()->query('SELECT targeted FROM `magic` WHERE `id` = ?i', $dress['magic'])->fetch_assoc();
|
||||
echo "<a onclick=\"";
|
||||
@@ -321,7 +319,7 @@ function echoscroll($slot)
|
||||
echo <<<ACTIVE_SCROLL
|
||||
<img class='tooltip' src="i/sh/{$dress['img']}" width='40' title="<b>{$dress['name']}</b><br> Прочность {$dress['duration']} / {$dress['maxdur']} " height='25' alt="Свиток"></a>
|
||||
ACTIVE_SCROLL;
|
||||
} elseif (($user->$slot > 0) && ($all_magic[$user->getId()] >= 1) && $need_charge['needcharge'] > 0) {
|
||||
} elseif ((User::$current->$slot > 0) && ($all_magic[User::$current->getId()] >= 1) && $need_charge['needcharge'] > 0) {
|
||||
echo <<<INACTIVE_SCROLL
|
||||
<img src="i/sh/magicclock.gif" width="40" height="25" title='Произведите размен ударами и магия снова станет доступна' alt="Свиток">
|
||||
INACTIVE_SCROLL;
|
||||
@@ -474,9 +472,8 @@ function ref_drop()
|
||||
// использовать магию
|
||||
function usemagic($id, $target)
|
||||
{
|
||||
global $user;
|
||||
$row = db::c()->query('SELECT * FROM `inventory` WHERE `owner` = ?i AND id = ?i', $user->getId(), $id)->fetch_assoc_array();
|
||||
$bat = db::c()->query('SELECT * FROM `battle` WHERE `id` = ?i', $user->getBattle())->fetch_assoc_array();
|
||||
$row = db::c()->query('SELECT * FROM `inventory` WHERE `owner` = ?i AND id = ?i', User::$current->getId(), $id)->fetch_assoc_array();
|
||||
$bat = db::c()->query('SELECT * FROM `battle` WHERE `id` = ?i', User::$current->getBattle())->fetch_assoc_array();
|
||||
$all_magic = unserialize($bat['magic']);
|
||||
$charge = 0;
|
||||
$magic = db::c()->query('SELECT * FROM `magic` WHERE `id` = ?i', $row['magic'])->fetch_assoc_array();
|
||||
@@ -490,7 +487,7 @@ function usemagic($id, $target)
|
||||
$charge = $incmagic['needcharge'];
|
||||
}
|
||||
//Переделать под новую базу
|
||||
if (($all_magic[$user->getId()] < 1 || $charge == 0) &&
|
||||
if (($all_magic[User::$current->getId()] < 1 || $charge == 0) &&
|
||||
($user['sila'] >= $row['nsila'] &&
|
||||
$user['lovk'] >= $row['nlovk'] &&
|
||||
$user['inta'] >= $row['ninta'] &&
|
||||
@@ -543,16 +540,16 @@ function usemagic($id, $target)
|
||||
$charge = 0;
|
||||
}
|
||||
//ограничение по кол-ву за ход
|
||||
if ($user->getBattle()) {
|
||||
$bat = db::c()->query('SELECT * FROM `battle` WHERE `id` = ?i', $user->getBattle())->fetch_assoc_array();
|
||||
if (User::$current->getBattle()) {
|
||||
$bat = db::c()->query('SELECT * FROM `battle` WHERE `id` = ?i', User::$current->getBattle())->fetch_assoc_array();
|
||||
}
|
||||
if ($bat['magic'] == '') {
|
||||
$all_magic = [];
|
||||
} else {
|
||||
$all_magic = unserialize($bat['magic']);
|
||||
}
|
||||
$all_magic[$user->getId()] += $charge;
|
||||
db::c()->query('UPDATE `battle` SET `magic`= "?s" WHERE id = ?i', serialize($all_magic), $user->getBattle());
|
||||
$all_magic[User::$current->getId()] += $charge;
|
||||
db::c()->query('UPDATE `battle` SET `magic`= "?s" WHERE id = ?i', serialize($all_magic), User::$current->getBattle());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@@ -560,9 +557,8 @@ function usemagic($id, $target)
|
||||
|
||||
function addch($text, $room = 0)
|
||||
{
|
||||
global $user;
|
||||
if ($room == 0) {
|
||||
$room = $user->getRoom();
|
||||
$room = User::$current->getRoom();
|
||||
}
|
||||
if ($fp = @fopen("tmp/chat.txt", "a")) { //открытие
|
||||
flock($fp, LOCK_EX); //БЛОКИРОВКА ФАЙЛА
|
||||
@@ -576,9 +572,8 @@ function addch($text, $room = 0)
|
||||
|
||||
function addchp($text, $who, $room = 0)
|
||||
{
|
||||
global $user;
|
||||
if ($room == 0) {
|
||||
$room = $user->getRoom();
|
||||
$room = User::$current->getRoom();
|
||||
}
|
||||
$fp = fopen("tmp/chat.txt", "a"); //открытие
|
||||
flock($fp, LOCK_EX); //БЛОКИРОВКА ФАЙЛА
|
||||
@@ -615,18 +610,15 @@ function err($t)
|
||||
*/
|
||||
function telegraph(int $userId, string $text)
|
||||
{
|
||||
$db = DBPDO::INIT();
|
||||
if ($db->ofetch('SELECT 1 FROM users WHERE id = ?', $userId)) {
|
||||
$db->execute('INSERT INTO chat (user_id,receiver_id,msg,type) VALUES (-1,?,?,?)', [$userId, $text, 'sms']);
|
||||
if (DBPDO::$db->ofetch('SELECT 1 FROM users WHERE id = ?', $userId)) {
|
||||
DBPDO::$db->execute('INSERT INTO chat (user_id,receiver_id,msg,type) VALUES (-1,?,?,?)', [$userId, $text, 'sms']);
|
||||
}
|
||||
unset($db);
|
||||
}
|
||||
|
||||
function get_meshok()
|
||||
{
|
||||
global $user;
|
||||
$itemsWeight = db::c()->query('SELECT SUM(weight) AS all_weight FROM `inventory` WHERE owner_id = ?i AND on_sale = 0', $_SESSION['uid'])->fetch_assoc();
|
||||
return ($user->getStrength() * 4 + $itemsWeight['all_weight']);
|
||||
return (User::$current->getStrength() * 4 + $itemsWeight['all_weight']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user