コード例 #1
0
function updateRegistration($conn, $transaction_results)
{
    $gamertag = trim($_SESSION['portal_form']['gamertag']);
    $melee_singles = is_null($_SESSION['portal_form']['melee_singles']) ? 0 : 1;
    $melee_doubles = is_null($_SESSION['portal_form']['melee_doubles']) ? 0 : 1;
    $melee_teammate = trim($_SESSION['portal_form']['melee_teammate'] ?: '');
    $pm_singles = is_null($_SESSION['portal_form']['pm_singles']) ? 0 : 1;
    $pm_doubles = is_null($_SESSION['portal_form']['pm_doubles']) ? 0 : 1;
    $pm_teammate = trim($_SESSION['portal_form']['pm_teammate'] ?: '');
    $smash4_singles = is_null($_SESSION['portal_form']['smash4_singles']) ? 0 : 1;
    $arcade = $_SESSION['auth']['arcade'] == 1 || $_SESSION['new_arcade'] == 1 ? 1 : 0;
    $credits = $_SESSION['new_credits'];
    $transactionID = $transaction_results['PAYMENTINFO_0_TRANSACTIONID'];
    $amtPaid = $transaction_results['PAYMENTINFO_0_AMT'];
    if (is_null($transaction_results)) {
        $query = "UPDATE registration r\n              LEFT JOIN teams t ON t.account_id = r.id\n              SET r.tag=?, r.melee_singles=?, r.melee_doubles=?, t.melee_partner=?, r.pm_singles=?, r.pm_doubles=?, t.pm_partner=?, r.smash4_singles=?, r.arcade=?, r.credits=r.credits+?\n              WHERE r.id=?";
        $stmt = $conn->prepare($query);
        $stmt->bind_param("siisiisiiii", $gamertag, $melee_singles, $melee_doubles, $melee_teammate, $pm_singles, $pm_doubles, $pm_teammate, $smash4_singles, $arcade, $credits, $_SESSION['auth']['id']);
    } else {
        $query = "UPDATE registration r\n              LEFT JOIN teams t ON t.account_id = r.id\n              SET r.tag=?, r.melee_singles=?, r.melee_doubles=?, t.melee_partner=?, r.pm_singles=?, r.pm_doubles=?, t.pm_partner=?, r.smash4_singles=?, r.arcade=?, r.credits=r.credits+?, r.paypal_transaction_id=r.paypal_transaction_id + ',' + ?, r.amount_paid=r.amount_paid+?\n              WHERE r.id=?";
        $stmt = $conn->prepare($query);
        $stmt->bind_param("siisiisiiisdi", $gamertag, $melee_singles, $melee_doubles, $melee_teammate, $pm_singles, $pm_doubles, $pm_teammate, $smash4_singles, $arcade, $credits, $transactionID, $amtPaid, $_SESSION['auth']['id']);
    }
    if ($stmt->execute()) {
        /* UPDATE SUCCESS, re-populate user session and send e-mails to all affected doubles partners */
        repopulateSession($conn);
        $email = $_SESSION['auth']['email'];
        $old_pm_teammate = $_SESSION['auth']['pm_partner'];
        $old_melee_teammate = $_SESSION['auth']['melee_partner'];
        // PROJECT M
        if ($pm_doubles == 1) {
            if ($_SESSION['auth']['pm_doubles'] == 1 && $pm_teammate != $old_pm_teammate) {
                // Send e-mail to old partner saying the teammate has left
                $message = [];
                $message[] = "Hey smasher,";
                $message[] = "We're just letting you know that {$gamertag} has unregistered you as their Project M Doubles partner.";
                $message[] = "You can update your registration information, including doubles partners, by visiting the Player Portal.";
                $message[] = "Click <a href='http://www.smashsummit.ca/?portal'>here</a> to go there now!";
                sendEmail($message, "{$gamertag} no longer wants to team!", $old_pm_teammate);
                // Send e-mail to new partner
                $status = checkPartnerStatus($conn, $email, $pm_teammate, "pm_doubles")[0];
                sendTeamStatusEmail($email, $gamertag, $pm_teammate, $status['tag'], "Project: M Doubles", $status['status']);
            } else {
                if ($_SESSION['auth']['pm_doubles'] == 0) {
                    // Send e-mail to new partner
                    $status = checkPartnerStatus($conn, $email, $pm_teammate, "pm_doubles")[0];
                    sendTeamStatusEmail($email, $gamertag, $pm_teammate, $status['tag'], "Project: M Doubles", $status['status']);
                }
            }
        } else {
            if ($pm_doubles == 0 && $_SESSION['auth']['pm_doubles'] == 1) {
                // Send e-mail to old partner saying the teammate has unregistered from doubles
                $message = [];
                $message[] = "Hey smasher,";
                $message[] = "We're just letting you know that {$gamertag} is no longer playing in Project M Doubles.";
                $message[] = "You can update your registration information, including doubles partners, by visiting the Player Portal.";
                $message[] = "Click <a href='http://www.smashsummit.ca/?portal'>here</a> to go there now!";
                sendEmail($message, "{$gamertag} is no longer playing in doubles!", $old_pm_teammate);
            }
        }
        // MELEE
        if ($melee_doubles == 1) {
            if ($_SESSION['auth']['melee_doubles'] == 1 && $melee_teammate != $old_melee_teammate) {
                // Send e-mail to old partner saying the teammate has left
                $message = [];
                $message[] = "Hey smasher,";
                $message[] = "We're just letting you know that {$gamertag} has unregistered you as their Melee Doubles partner.";
                $message[] = "You can update your registration information, including doubles partners, by visiting the Player Portal.";
                $message[] = "Click <a href='http://www.smashsummit.ca/?portal'>here</a> to go there now!";
                sendEmail($message, "{$gamertag} no longer wants to team!", $old_melee_teammate);
                // Send e-mail to new partner
                $status = checkPartnerStatus($conn, $email, $melee_teammate, "melee_doubles")[0];
                sendTeamStatusEmail($email, $gamertag, $melee_teammate, $status['tag'], "Melee Doubles", $status['status']);
            } else {
                if ($_SESSION['auth']['melee_doubles'] == 0) {
                    // Send e-mail to new partner
                    $status = checkPartnerStatus($conn, $email, $melee_teammate, "melee_doubles")[0];
                    sendTeamStatusEmail($email, $gamertag, $melee_teammate, $status['tag'], "Melee Doubles", $status['status']);
                }
            }
        } else {
            if ($melee_doubles == 0 && $_SESSION['auth']['melee_doubles'] == 1) {
                // Send e-mail to old partner saying the teammate has unregistered from doubles
                $message = [];
                $message[] = "Hey smasher,";
                $message[] = "We're just letting you know that {$gamertag} is no longer playing in Melee Doubles.";
                $message[] = "You can update your registration information, including doubles partners, by visiting the Player Portal.";
                $message[] = "Click <a href='http://www.smashsummit.ca/?portal'>here</a> to go there now!";
                sendEmail($message, "{$gamertag} is no longer playing in doubles!", $old_melee_teammate);
            }
        }
        // After update is complete, send user back to portal
        header('Location: /?portal');
    } else {
        // TODO: registration error page
        if (is_null(transaction_results)) {
            echo "Oops. Something went wrong.  Please contact support@smashsummit.ca and we'll get it sorted out.";
        } else {
            echo "Oops. Something went wrong.  Please contact support@smashsummit.ca with your paypal transaction ID and we'll get it sorted out.";
        }
        // TODO: more detailed error email
        $message = $stmt->error;
        $message .= "\r\n";
        if (!is_null($transaction_results)) {
            $message .= print_r($transaction_results, true);
        }
        $message .= "\r\n";
        $message .= print_r($_SESSION, true);
        sendErrorEmail($message);
    }
    $stmt->close();
    $conn->close();
}
コード例 #2
0
ファイル: register.php プロジェクト: jeger1917/Summit
 if ($stmt->execute()) {
     /* REGISTRATION SUCCESS */
     $regid = $conn->insert_id;
     // Insert teams information
     $query = "INSERT INTO teams (account_id, pm_partner, melee_partner) VALUES (?,?,?)";
     $stmt = $conn->prepare($query);
     $stmt->bind_param("iss", $regid, $pm_teammate, $melee_teammate);
     $stmt->execute();
     // Send emails to registered teammates
     if ($pm_doubles == 1) {
         $status = checkPartnerStatus($conn, $email, $pm_teammate, "pm_doubles")[0];
         sendTeamStatusEmail($email, $gamertag, $pm_teammate, $status['tag'], "Project: M Doubles", $status['status']);
     }
     if ($melee_doubles == 1) {
         $status = checkPartnerStatus($conn, $email, $melee_teammate, "melee_doubles")[0];
         sendTeamStatusEmail($email, $gamertag, $melee_teammate, $status['tag'], "Melee Doubles", $status['status']);
     }
     // TODO: move this to email class
     // Send confirmation email
     $brackets = $melee_singles + $melee_doubles + $pm_singles + $pm_doubles + $smash4_singles;
     $message = array();
     $message[] = "Hey {$first_name},";
     $line = "Congrats!  You successfully registered for ";
     if ($brackets > 0) {
         $line .= "the following brackets:\n            <ul>";
         if ($melee_singles == 1) {
             $line .= "<li>Melee Singles</li>";
         }
         if ($melee_doubles == 1) {
             $line .= "<li>Melee Doubles</li>";
         }