prepare("SELECT id FROM users WHERE username = ?"); $stmt->execute([$username]); if ($stmt->rowCount() == 0) { $stmt = $db->prepare("UPDATE users SET username = ? WHERE id = ?"); $stmt->execute([$username, $_SESSION["user_id"]]); } else { generate_alert("/account", "The username has already taken"); exit; } } if (isset($_FILES["pfp"]) && !empty($_FILES["pfp"]["tmp_name"])) { $pfp = $_FILES["pfp"]; if ( $err = create_image_bundle( $pfp["tmp_name"], $_SERVER["DOCUMENT_ROOT"] . "/static/userdata/avatars/" . $_SESSION["user_id"], CONFIG['account']['pfpsizex'], CONFIG['account']['pfpsizey'], true, true ) ) { generate_alert("/account", sprintf("Error occurred while processing the profile picture (%d)", $err)); exit; } } if (isset($_FILES["banner"]) && !empty($_FILES["banner"]["tmp_name"])) { $banner = $_FILES["banner"]; if ( $err = create_image_bundle( $banner["tmp_name"], $_SERVER["DOCUMENT_ROOT"] . "/static/userdata/banners/" . $_SESSION["user_id"], CONFIG['account']['bannersizex'], CONFIG['account']['bannersizey'], true, true ) ) { generate_alert("/account", sprintf("Error occurred while processing the profile banner (%d)", $err)); exit; } } if (isset($_FILES["badge"]) && !empty($_FILES["badge"]["tmp_name"])) { $badge = $_FILES["badge"]; $badge_id = bin2hex(random_bytes(16)); if ( $err = create_image_bundle( $badge["tmp_name"], $_SERVER["DOCUMENT_ROOT"] . "/static/userdata/badges/" . $badge_id, CONFIG['account']['badgesizex'], CONFIG['account']['badgesizey'], true, true ) ) { generate_alert("/account", sprintf("Error occurred while processing the personal badge (%d)", $err)); exit; } $db->prepare("DELETE FROM user_badges WHERE badge_id != ? AND user_id = ?")->execute([$badge_id, $_SESSION["user_id"]]); $db->prepare("INSERT INTO badges(id, uploaded_by) VALUES (?, ?)")->execute([$badge_id, $_SESSION["user_id"]]); $db->prepare("INSERT INTO user_badges(badge_id, user_id) VALUES (?, ?)")->execute([$badge_id, $_SESSION["user_id"]]); } $db = null; generate_alert("/account", "Your changes have been applied!", 200); exit; } ?> Account management - <?php echo CONFIG['instance']['name'] ?>

Account management

Profile

Profile picture

'; } else { echo "

You don't have profile picture

"; } ?>

Profile banner

'; } else { echo "

You don't have profile banner

"; } ?>

Personal badge

prepare("SELECT badge_id FROM user_badges WHERE user_id = ?"); $stmt->execute([$_SESSION["user_id"]]); $has_badge = false; if ($row = $stmt->fetch()) { echo '
'; echo ''; echo ''; echo ''; echo '
'; $has_badge = true; } else { echo "

You don't have personal badge

"; } ?>

Username

">

Connections

prepare("SELECT * FROM connections WHERE user_id = ?"); $stmt->execute([$_SESSION["user_id"]]); $connections = $stmt->fetchAll(); $platforms = ["twitch"]; foreach ($platforms as $platform) { $connection = null; $key = array_search($platform, array_column($connections, "platform")); if (!is_bool($key)) { $connection = $connections[$key]; } echo "
"; echo "
"; echo "
"; echo "" . ucfirst($platform) . ""; // TODO: check if connection is still alive if ($connection == null) { echo "Not connected"; } else { echo "" . $connection["alias_id"] . ""; } echo "
"; echo "
"; if ($connection == null) { echo ""; echo 'Connect'; echo ""; } else { echo ""; echo 'Disconnect'; echo ""; } echo "
"; } ?>

Security & Privacy

prepare("SELECT CASE WHEN password IS NOT NULL THEN 1 ELSE 0 END as set_password FROM users WHERE id = ?"); $stmt->execute([$_SESSION["user_id"]]); $set_password = $stmt->fetch()[0]; if ($set_password): ?>
prepare("SELECT private_profile FROM user_preferences WHERE id = ?"); $stmt->execute([$_SESSION["user_id"]]); if (intval($stmt->fetch()[0]) == 1) { echo 'checked'; } ?>>

Enabling this feature will hide your authorship of uploaded emotes and actions.

Delete me