Beispiel #1
0
<?php

include "inc/core.php";
include "inc/functions.php";
/**
 * Check the event title
 */
$title = htmlspecialchars(postOrDie("name"));
//expected event id:
$eeid = getOrDie("eeid");
/**
 * Check the total to be a float
 */
$total = postOrDie("total");
$users = array_keys(postOrDie("user"));
$payer = postOrDie("payer");
$total_f = floatval(str_replace(",", ".", $total));
if ($total_f == 0) {
    die("Fatal: Bad total (not a float)!");
}
$user_c = sizeof($users);
/**
 * Get the +X for ATTENDING users!
 */
$plus = postOrDie("plus");
$pp = 0;
foreach ($users as $u) {
    $pp += $plus[$u];
}
$user_c += $pp;
//make sure we have no +X for NON-ATTENDING users:
Beispiel #2
0
    $random = openssl_random_pseudo_bytes(32);
    $random = base64_encode($random);
    $q = $_DB->prepare("UPDATE Users SET Token = :1 WHERE Mail = :2");
    $q->bindParam(":1", $random);
    $q->bindParam(":2", $addr);
    $q->execute();
    if ($_DB->changes() > 0) {
        $link = $_CONFIG["URL"] . "password.php?mode=token&token=" . urlencode($random);
        mail($addr, "Passwort vergessen", wordwrap("Hallo, fuer deinen Account bei " . $_CONFIG["URL"] . " wurde von der IP " . $_SERVER["REMOTE_ADDR"] . " ein neues Passwort angefordert.\n\n<a href=\"{$link}\">Klicke hier, um ein neues Passwort zu setzen</a>\n\nSollte der Link nicht funktionieren, kopiere ihn in deinen Browser:\n\n{$link}\n\nSolltest du kein neues Passwort angefordert haben, wende dich bitte an einen Administrator!\n", 70), "From: " . $_CONFIG["MAIL_FROM"]);
    }
    print "Sollte die angegebene Adresse in der Datenbank hinterlegt sein, so solltest du gleich eine E-Mail mit einem Link f&uuml;r ein neues Passwort bekommen.<br><br>Bis dein Anbieter die Mail empfangen hat, k&ouml;nnten bis zu 15 Minuten vergehen. Vergess auch nicht, mal einen Blick in deinen Spam-Ordner zu werfen, da die Mail dort einsortiert werden k&ouml;nnte.<br><br>Sollte auch nach l&auml;ngerer Zeit keine E-Mail gekommen sein, kontaktiere bitte einen Administrator.";
    exit;
}
$token = "auth";
if ($mode == "token") {
    $token = getOrDie("token");
    if (strlen($token) < 10) {
        print "Token is too short!";
        die;
    }
    $q = $_DB->prepare("SELECT * FROM Users WHERE Token = :1");
    $q->bindParam(":1", $token);
    $r = $q->execute();
    $_USER = $r->fetchArray();
    if (!$_USER) {
        print "Das Token ist ung&uuml;ltig! Versuch doch bitte, den Link von Hand in deinen Browser zu kopieren, da manche E-Mail Clients den Link beim Anklicken abschneiden.";
        die;
    }
} else {
    if ($mode == "change") {
        include "inc/core.php";