Beispiel #1
0
 // TODO: move away from if branch structure, use errorcheck -> printerror -> die mechanism instead-
 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>";
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();
}
Beispiel #3
0
        if ($stmt->num_rows == 0) {
            $result = ["status" => 0, "message" => "<span class='warn'>There is no player registered under that e-mail yet.  They will be sent an e-mail requesting to join your team.</span>", "tag" => ''];
        } else {
            $registeredPartner = '';
            $registeredBracket = '';
            $registeredTag = '';
            $stmt->bind_result($registeredPartner, $registeredBracket, $registeredTag);
            $stmt->fetch();
            if ($registeredBracket == 0) {
                $result = ["status" => 1, "message" => "<span class='warn'>That e-mail has been registered by {$registeredTag}, but they have not registered for {$bracketName}.  They will be sent an e-mail requesting to join your team.</span>", "tag" => $registeredTag];
            } else {
                if ($registeredPartner == $email) {
                    $result = ["status" => 2, "message" => "<span class='success'>That e-mail has been registered by {$registeredTag}, and they have registered you as their partner for {$bracketName}!</span>", "tag" => $registeredTag];
                } else {
                    $result = ["status" => 3, "message" => "<span class='error'>That e-mail has been registered by {$registeredTag}, but they have already registered another partner for {$bracketName}.  They will be sent an e-mail requesting to join your team.</span>", "tag" => "{$registeredTag}"];
                }
            }
        }
    }
    return $result;
}
if (isset($_GET['jscheck'])) {
    if (!isset($_POST['email']) || !isset($_POST['partnerEmail']) || !isset($_POST['bracket'])) {
        header('Location: http://www.smashsummit.ca/');
    } else {
        $email = $_POST['email'];
        $partnerEmail = $_POST['partnerEmail'];
        $bracket = $_POST['bracket'];
        echo checkPartnerStatus($conn, $email, $partnerEmail, $bracket)['message'];
    }
}