Рефакторинг, очистка, работа над ошибками, связанными с базой, отказ от глобальной переменной $user во многих файлах.
Singleton в некоторых местах вместо решения #42. Новые шаги для решения #16 и #52. Closes #42. Closes #32. Closes #31.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace Battles;
|
||||
|
||||
use Battles\Database\DBPDO;
|
||||
use Battles\Database\Db;
|
||||
use Battles\Models\EffectsModel;
|
||||
|
||||
class UserInfo extends UserStats
|
||||
@@ -10,8 +10,6 @@ class UserInfo extends UserStats
|
||||
use Rooms;
|
||||
|
||||
private int $bankMoney;
|
||||
//Тот, кто смотрит на информацию.
|
||||
private User $watcher;
|
||||
|
||||
public function __construct($user)
|
||||
{
|
||||
@@ -172,7 +170,7 @@ HTML;
|
||||
while ($userLogRow = $userLogs->fetchArray(SQLITE3_ASSOC)) {
|
||||
$log .= sprintf('<code>%s</code><br>', date('d.m.Y H:i ', strtotime($userLogRow['date'])) . $userLogRow['text']);
|
||||
}
|
||||
$adminData = $this->watcher->getAdmin() ? $this->showAdminOnlyData() : null;
|
||||
$adminData = User::getInstance()->getAdmin() ? $this->showAdminOnlyData() : null;
|
||||
return <<<INFO
|
||||
<div class="secret-info">
|
||||
E-Mail: $this->email<br>
|
||||
@@ -216,7 +214,7 @@ INFO;
|
||||
echo $this->realname ? "Имя: $this->realname" : "";
|
||||
echo $this->info ? "<br>" . nl2br($this->info) : "";
|
||||
echo '</div><!-- u-i-c-l -->';
|
||||
if ($this->watcher->getAdmin() || $this->watcher->getAlign() == 1) {
|
||||
if (User::getInstance()->getAdmin() || User::getInstance()->getAlign() == 1) {
|
||||
echo $this->showPrivateData();
|
||||
}
|
||||
}
|
||||
@@ -225,9 +223,9 @@ INFO;
|
||||
{
|
||||
$effects = new EffectsModel($this->id);
|
||||
|
||||
if ($this->block && (!$this->watcher->getAdmin() || !$this->watcher->getAlign() == 1)) {
|
||||
if ($this->block && (!User::getInstance()->getAdmin() || !User::getInstance()->getAlign() == 1)) {
|
||||
echo "<span class='error'>Персонаж $this->login заблокирован!</span>";
|
||||
} elseif ($effects->getHideUserInfoStatus() && (!$this->watcher->getAdmin() || !$this->watcher->getAlign() == 1)) {
|
||||
} elseif ($effects->getHideUserInfoStatus() && (!User::getInstance()->getAdmin() || !User::getInstance()->getAlign() == 1)) {
|
||||
if ($effects->getHideUserInfoStatus() == -1) {
|
||||
$date = 'навсегда';
|
||||
} else {
|
||||
@@ -256,7 +254,7 @@ INFO;
|
||||
|
||||
public function showUserEffects(): string
|
||||
{
|
||||
$effs = DBPDO::INIT()->ofetchAll('SELECT * FROM users_effects WHERE owner_id = ?', $this->id);
|
||||
$effs = Db::getInstance()->ofetchAll('SELECT * FROM users_effects WHERE owner_id = ?', $this->id);
|
||||
$img = UserEffects::$effectImage;
|
||||
$r = '';
|
||||
foreach ($effs as $effect) {
|
||||
@@ -271,14 +269,4 @@ INFO;
|
||||
}
|
||||
return $r;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $watcher_id
|
||||
*/
|
||||
public function setWatcher(int $watcher_id): void
|
||||
{
|
||||
$this->watcher = new User($watcher_id);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user