now most of logic works as it should

This commit is contained in:
GitProtogen
2026-03-07 20:34:10 +01:00
parent ced7937583
commit aebe0c7549
4 changed files with 9 additions and 9 deletions
+2 -2
View File
@@ -38,7 +38,7 @@ class WebSocketServer implements MessageComponentInterface
{
foreach ($this->connectionsData as $connectionData) {
if ($connectionData["username"] !== $username) {
$connectionData["connection"]->send("{\"sender\": \"{$username}\",\"msg\": \"{$msg}\"");
$connectionData["connection"]->send("{\"sender\": \"{$username}\",\"msg\": \"{$msg}\"}");
}
}
}
@@ -72,7 +72,7 @@ class WebSocketServer implements MessageComponentInterface
if ($index === null) return;
if ($this->connectionsData[$index]["username"]) {
$msgContent = $decodedMsg["msg"] ?? null;
$msgContent = $decodedMsg["message"] ?? null;
if ($msgContent) {
$this->sendToAllAuthenticated($this->connectionsData[$index]["username"], $msgContent);
$from->send("{\"success\"}: \"message send\"");
+3 -3
View File
@@ -82,13 +82,13 @@ $html->content = <<<'HTML'
ws.onmessage = (event) => {
const text = event.data;
if (text === 'authenticated') {
if (text === '{"success"}: "authenticated"') {
log('Authenticated.', 'system');
setAuthenticated(true);
} else if (text === 'invalid token') {
} else if (text === '{"error"}: "invalid token"') {
log('Invalid token. Connection closed.', 'error');
ws.close();
} else if (text === 'not authenticated') {
} else if (text === '{"error"}: "you are not authenticated"') {
log('Server: not authenticated', 'error');
} else {
try {
+3 -3
View File
@@ -60,11 +60,11 @@ class Handler
}
public function userExists(string $username): bool
{
$statement = $this->pdo->prepare("SELECT * FROM users WHERE username = :username");
$statement = $this->pdo->prepare("SELECT 1 FROM users WHERE username = :username");
$statement->execute([
$username
"username" => $username
]);
return $statement->rowCount() > 0;
return (bool) $statement->fetchColumn();
}
public function getPasswordHash(string $username): string
{
+1 -1
View File
@@ -27,7 +27,7 @@ class LoginController implements HttpServerInterface
$responseHead = "400";
$json = json_encode(["error" => "Not enough params"]);
}
else if (!Handler::getInstance()->userExists($username) == !password_verify($password, Handler::getInstance()->getPasswordHash($username)))
else if (!Handler::getInstance()->userExists($username) || !password_verify($password, Handler::getInstance()->getPasswordHash($username)))
{
$login = false;
$responseHead = "409";