diff options
| author | ilotterytea <iltsu@alright.party> | 2025-10-26 18:07:02 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-10-26 18:07:02 +0500 |
| commit | a8a338599b3d891ee72a48a5f01f25c1ded31f21 (patch) | |
| tree | 87551e161b5070da1ee87eecf4c0d9c5f4af3c47 /lib/users.php | |
| parent | d3baca2f2df52d78566024c26f694d1f26693b25 (diff) | |
feat: authenticate users
Diffstat (limited to 'lib/users.php')
| -rw-r--r-- | lib/users.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/users.php b/lib/users.php new file mode 100644 index 0000000..e454a72 --- /dev/null +++ b/lib/users.php @@ -0,0 +1,32 @@ +<?php +include_once $_SERVER['DOCUMENT_ROOT'] . '/lib/config.php'; + +function authenticate_user(): bool +{ + session_start(); + if (!isset($_COOKIE['SECRET_TINYSOUNDS_KEY'])) { + unset($_SESSION['user']); + return false; + } + + $db = new PDO(DB_URL, DB_USER, DB_PASS); + + $stmt = $db->prepare('SELECT * FROM users WHERE token = ?'); + $stmt->execute([$_COOKIE['SECRET_TINYSOUNDS_KEY']]); + + $user = $stmt->fetch(PDO::FETCH_ASSOC) ?: null; + + if (!$user) { + unset($_COOKIE['SECRET_TINYSOUNDS_KEY']); + unset($_SESSION['user']); + return false; + } + + $stmt = $db->prepare('SELECT * FROM user_connections WHERE user_id = ?'); + $stmt->execute([$user['id']]); + + $user['connections'] = $stmt->fetchAll(PDO::FETCH_ASSOC); + + $_SESSION['user'] = $user; + return true; +}
\ No newline at end of file |
