Рефакторинг, очистка, работа над ошибками, связанными с базой, отказ от глобальной переменной $user во многих файлах.

Singleton в некоторых местах вместо решения #42.
Новые шаги для решения #16 и #52.
Closes #42.
Closes #32.
Closes #31.
This commit is contained in:
Igor Barkov (iwork)
2022-01-27 01:15:33 +02:00
parent b1ba212c8c
commit 3502904656
82 changed files with 1575 additions and 2015 deletions
+6 -7
View File
@@ -1,6 +1,6 @@
<?php
use Battles\Template, Battles\Database\DBPDO;
use Battles\Template, Battles\Database\Db;
require_once "config.php";
@@ -18,15 +18,14 @@ if ($_COOKIE[GAMEDOMAIN] ?? null) {
$newUser = new class {
public static function addUser(string $login, string $password, string $email, string $birthday): bool
{
$db = new DBPDO();
if ($db->ofetch('SELECT 1 FROM users WHERE login = ? OR email = ?', [$login, $email])) {
if (Db::getInstance()->ofetch('SELECT 1 FROM users WHERE login = ? OR email = ?', [$login, $email])) {
return false;
}
$db->execute('INSERT INTO users (login,pass,email,borndate,ip,session_id,shadow)
Db::getInstance()->execute('INSERT INTO users (login,pass,email,borndate,ip,session_id,shadow)
VALUES (?,?,?,?,?,?,?)', [$login, $password, $email, $birthday, $_SERVER['REMOTE_ADDR'], session_id(), '0.png']);
$userId = $db->lastInsertId();
$db->execute('INSERT INTO online (user_id, login_time, room, real_time) VALUES (?,?,1,?)', [$userId, time(), time()]);
$db->execute('INSERT INTO bank (user_id) VALUES ?', $userId);
$userId = Db::getInstance()->lastInsertId();
Db::getInstance()->execute('INSERT INTO online (user_id, login_time, room, real_time) VALUES (?,?,1,?)', [$userId, time(), time()]);
Db::getInstance()->execute('INSERT INTO bank (user_id) VALUES ?', $userId);
setcookie(GAMEDOMAIN, $userId, time() + 3600);
setcookie("battle", time());
$_SESSION['uid'] = $userId;