Account management
Connections
Delete me
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"], ACCOUNT_PFP_MAX_SIZE[0], ACCOUNT_PFP_MAX_SIZE[1], 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"], ACCOUNT_BANNER_MAX_SIZE[0], ACCOUNT_BANNER_MAX_SIZE[1], 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, ACCOUNT_BADGE_MAX_SIZE[0], ACCOUNT_BADGE_MAX_SIZE[1], 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; } ?>