diff options
| author | ilotterytea <iltsu@alright.party> | 2025-12-08 22:17:05 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-12-08 22:17:05 +0500 |
| commit | 95800ffe216a83bc0eba994ecc53ed22860fe90e (patch) | |
| tree | 69f1bcb85e63a5fc0fcbc6d70eb56e22940fd6fd /src/user.php | |
| parent | 57472eab3c7b035392c6a5aa240593ecaa7d1ccf (diff) | |
upd: include paths
Diffstat (limited to 'src/user.php')
| -rw-r--r-- | src/user.php | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/user.php b/src/user.php deleted file mode 100644 index d22eeb4..0000000 --- a/src/user.php +++ /dev/null @@ -1,102 +0,0 @@ -<?php -class Badge -{ - public string $id; - - public static function from_array(array $arr, string $prefix = ""): Badge|null - { - if (!empty($prefix)) { - $prefix .= "_"; - } - if (!isset($arr["{$prefix}badge_id"])) { - return null; - } - - $b = new Badge(); - $b->id = $arr["{$prefix}badge_id"]; - - return $b; - } -} - -class Role -{ - public string $name; - public Badge|null $badge; - - public static function from_array(array $arr): Role|null - { - if (!isset($arr["role_name"])) { - return null; - } - - $r = new Role(); - - $r->name = $arr["role_name"]; - $r->badge = Badge::from_array($arr, "role"); - - return $r; - } -} - -class User -{ - public string $id; - public string $username; - public int $joined_at; - public int $last_active_at; - - public Badge|null $custom_badge; - - public Role|null $role; - - public bool $private_profile; - - public static function from_array(array $arr): User - { - $u = new User(); - - $u->id = $arr["id"]; - $u->username = $arr["username"]; - $u->joined_at = strtotime($arr["joined_at"] ?? "0"); - $u->last_active_at = strtotime($arr["last_active_at"] ?? "0"); - - $u->private_profile = $row["private_profile"] ?? false; - - $u->custom_badge = Badge::from_array($arr, "custom"); - - $u->role = Role::from_array($arr); - - return $u; - } - - public static function get_user_by_id(PDO &$db, string $user_id): User|null - { - $stmt = $db->prepare("SELECT - u.id, - u.username, - u.joined_at, - u.last_active_at, - - up.private_profile, - r.name AS role_name, - r.badge_id AS role_badge_id, - ub.badge_id AS custom_badge_id - FROM users u - INNER JOIN user_preferences up ON up.id = u.id - LEFT JOIN role_assigns ra ON ra.user_id = u.id - LEFT JOIN roles r ON r.id = ra.role_id - LEFT JOIN user_badges ub ON ub.user_id = u.id - WHERE u.id = ? - "); - $stmt->execute([$user_id]); - - $u = null; - - if ($uploader_row = $stmt->fetch()) { - $u = User::from_array($uploader_row); - } - - return $u; - } -}
\ No newline at end of file |
