diff -r c2ac2609bd56 -r 221663a01729 dhv.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dhv.php Wed Oct 19 22:39:30 2011 +0200 @@ -0,0 +1,213 @@ + + // image create is done on the fly + if (isset($_REQUEST["png"])) { + list($donate, $refund, $nn) = explode(":", trim($_REQUEST["png"])); + $sum = $donate + $refund + $nn; + + $donate = $donate/$sum; + $refund = $refund/$sum; + $nn = $nn/$sum; + + // dimensions + $width = 300; + $height = $width / 3; + + $pie_width = $height * 0.9; + $pie_height = $pie_width; + + $pie_x = $height / 2; + $pie_y = $pie_x; + $text_x = $pie_width * 1.2; + + // Image and colors + $im = imagecreatetruecolor($width, $height); + $c_donate = imagecolorallocate($im, 255, 0, 0); + $c_refund = imagecolorallocate($im, 0, 225, 0); + $c_nn = imagecolorallocate($im, 150, 150, 150); + $bg = imagecolorallocate($im, 255, 255, 255); + + // background + imagefill($im, 0, 0, $bg); + imagecolortransparent($im, $bg); + $a = 0.0; + if ($donate > 0) imagefilledarc($im, + $pie_x, $pie_y, $pie_width, $pie_height, + $a, $a += $donate*360, $c_donate, IMG_ARC_PIE); + if ($refund > 0) imagefilledarc($im, + $pie_x, $pie_y, $pie_width, $pie_height, + $a, $a += $refund*360, $c_refund, IMG_ARC_PIE); + if ($nn > 0) imagefilledarc($im, + $pie_x, $pie_y, $pie_width, $pie_height, + $a, $a += $nn*360, $c_nn, IMG_ARC_PIE); + + imagestring($im, 5, $text_x, 0 + 0.1*$height, sprintf("Elbtalflieger %.1f%%", $donate*100), $c_donate); + imagestring($im, 5, $text_x, 1*$height/3 + 0.1*$height, sprintf("Erstattung %.1f%%", $refund*100), $c_refund); + imagestring($im, 5, $text_x, 2*$height/3 + 0.1*$height, sprintf("keine Angabe %.1f%%", $nn*100), $c_nn); + + + header("Content-Type: image/png"); + imagepng($im); + exit; + } + + // Template vars + $T = array("verified" => false, + "givenname" => null, + "surname" => null, + "dhv" => null, + "stats" => array("donate" => 0, + "refund" => 0, + "nn" => 0), + "email" => null, + "pass" => null, + ); + + if (isset($_REQUEST["email"])) { + $dbh = new PDO("sqlite:var/db.sqlite3", "", ""); + + // sanitze the request variables + foreach ($_REQUEST as &$v) $v = trim($v); + + // check access and state of current user + $sth = $dbh->prepare("SELECT givenname, surname, dhv FROM db WHERE email = :email AND pass = :pass"); + $sth->execute(array("email" => $_REQUEST["email"], "pass" => $_REQUEST["pass"])); + + $T["email"] = htmlspecialchars($_REQUEST["email"]); + $T["pass"] = htmlspecialchars($_REQUEST["pass"]); + + if ($o = $sth->fetchObject()) { + $T["verified"] = true; + foreach (array("givenname", "surname", "dhv") as $k) $T[$k] = $o->{$k}; + + if (isset($_REQUEST['dhv'])) { + $sth = $dbh->prepare("UPDATE db SET dhv = ? WHERE email = ?"); + switch ($_REQUEST['dhv']) { + case "donate": $T['dhv'] = "donate"; $v = 0; break; + case "refund": $T['dhv'] = "refund"; $v = 1; break; + default: $v = NULL; + } + if (isset($v)) $sth->execute(array($v, $T['email'])); + } else { + switch($T['dhv']) { + case NULL: break; + case 0: $T['dhv'] = "donate"; break; + case 1: $T['dhv'] = "refund"; break; + } + } + + // check overall stats + $sth = $dbh->query("SELECT dhv FROM db"); + while ($o = $sth->fetchObject()) { + switch($o->{"dhv"}) { + case NULL: $T["stats"]["nn"]++; break; + case 0: $T["stats"]["donate"]++; break; + case 1: $T["stats"]["refund"]++; break; + } + } + } + } + + //if (isset($T)) { print "
\n"; var_dump($T); print ""; } + + +?> + + + + + + + +[HOME] + +
+Wie ihr wißt, zahlt der DHV für jedes Mitglied an den ausrichtenden +Verein einen Zuschuß von etwas über 11€. Die Frage ist jetzt, was +machen wir mit diesem Zuschuß. + + if (!$T['verified']) { ?> +
+ + if (isset($_REQUEST["email"])) { ?> + Deine Angaben sind so leider nicht richtig. Bitte + prüfe sie noch mal, oder kontaktiere + hs+retter@schlittermann.de + + } else { ?> + Bitte verwende Deine Mailadresse und den Code aus der Mail, die Du + erhalten hast, um Deinen Wunsch entsprechend einzutragen. + } ?> + +
+
+ + } else { ?> + ++Bitte Deine Entscheidung (Du kannst sie bis einschließlich 31. Oktober +2011 jederzeit ändern): +
+ ++Zu Deiner Orientierung haben wir hier die aktuelle Entscheidungsquote +dargestellt: + +
+
+
+ } ?>
+
+ if($T['dhv'] == 'refund') { ?>
+
+
+ Für die Erstattung des Geldes nimm bitte Kontakt mit + Heiko Schlittermann + auf, wir benötigen die Bankverbindung, auf die wir den Betrag + überweisen sollen. + + } else if ($T['dhv'] == 'donate') { ?> + +
+ Die Elbtalflieger sind Dir für diese Spende so dankbar, daß sie Dich + zu drei kostenlosen Windenschlepps und einem anschließenden + Landebier einladen. + + } ?> + + +