예제 #1
0
if (login_check()) {
    $me = $_SESSION['u'];
    if ($me == $memberID) {
        $memberID = 'me';
    }
}
/* check here for POST, for create/delete member account */
// are we supplying data via POST? → write to log, create DB duplicate, Location: /member?
if (isset($_POST['store'])) {
    $profile = getPlayerSummary($me);
    $profile['isgroupmember'] = $_SESSION['g'];
    logDB("User requested profile storage: {$me}");
    storePlayerSummaryDB($profile);
    /* if this ever fails, ignore it :] */
    /* XXX messy line to get memberurl populated */
    $profile = inflatePlayerSummary(deflatePlayerSummary($profile));
    if (true) {
        header("Location: " . str_replace('//steamlug.org', '', $profile['memberurl']));
        exit;
    }
}
// are we supplying data via POST? → write to log, remove DB duplicate, Location: /member?
if (isset($_POST['unstore'])) {
    logDB("User requested profile removal: {$me}");
    $removed = removePlayerSummaryDB($me);
    if ($removed) {
        header("Location: /member/");
        exit;
    }
}
$accountUpdate = "";
예제 #2
0
function storePlayerSummaryDB($profile)
{
    global $database;
    try {
        $database->beginTransaction();
        $profile = deflatePlayerSummary($profile);
        /* TODO: safe-ify _everything_ */
        $statement = $database->prepare("INSERT INTO steamlug.members\n\t\t\t\t(steamid, personaname, profileurl, avatar, isgroupmember,\n\t\t\t\tsuggestedvisibility) VALUES (:steamid, :persona, :vanity, :avatar,\n\t\t\t\t:group, :privacy) ON DUPLICATE KEY UPDATE personaname=VALUES(personaname),\n\t\t\t\tprofileurl=VALUES(profileurl), avatar=VALUES(avatar),\n\t\t\t\tisgroupmember=VALUES(isgroupmember),\n\t\t\t\tsuggestedvisibility=VALUES(suggestedvisibility);");
        $statement->execute(array('steamid' => $profile['steamid'], 'persona' => $profile['personaname'], 'vanity' => $profile['profileurl'], 'avatar' => $profile['avatar'], 'group' => $profile['isgroupmember'], 'privacy' => $profile['communityvisibilitystate']));
        $user = $statement->fetch(PDO::FETCH_ASSOC);
        $database->commit();
        return $user;
    } catch (Exception $e) {
        return false;
    }
}