<?php
##########################################################################
# DB Functions
##########################################################################
//Var
$server = "localhost";
$user = "user";
$pass = "pass";
$datenbank = "db";
// MySQL Verbindung herstellen
$conn = @mysql_connect($server, $user, $pass);
@mysql_select_db($datenbank, $conn);
// Bei Fehler Verbindung kappen, und Nachricht hinterlassen.
if ($conn!=TRUE)
{
echo "Verbindungsfehler: ".mysql_error()." !! Versuchen Sie es zu einem späteren Zeitpunkt nochmals. Danke.";
die;
} else {
//echo 'DB da';
}
###################
#Functions
function simpleRandString ($len = 8, $list = '23456789ABCDEFGHJKMNPQRSTUVWXYZ') {
$str = '';
if (is_numeric ($len) && !empty ($list)) {
mt_srand ((double) microtime () * 1000000);
while (strlen ($str) < $len) {
$str .= $list[mt_rand (0, strlen ($list)-1)];
}
}
return $str;
}
function convert_date($timestamp) {
$date = date("d.m.Y",$timestamp);
$time = date("H:i",$timestamp);
$rtrstr = $date . " - " . $time . " Uhr";
return $rtrstr;
}
function insert_user_into_db ($username, $password, $auth, $email) {
$time_now = time();
$day = 60 * 60 * 24;
$month = $day * 30;
$year = $month * 12;
$extra_time = 5 * 60;
$time_tomorrow = $time_now + $year + extra_time;
$anfrage = "INSERT INTO
`user_registered`
( `id` , `nickname` , `pw`, `sheet`, `zeit`, `auth`, `end_time`, `email`)
VALUES
('', '$username', '$password', 'Weine_ohne_mixed_lot_neu', '$time_now', '$auth', '$time_tomorrow', '$email')
; ";
$ergebnis=mysql_query($anfrage);
return $ergebnis;
}
function make_log($logtext) {
$file = "log_paypal.html";
$fp = fopen($file,"a+");
fwrite($fp,"$logtext\n");
fclose($fp);
}
function log_private() {
// Browser ermittlen
$agent=$_SERVER['HTTP_USER_AGENT'];
if (ereg("Opera",$agent)) $browser = 'Opera';
elseif (eregi("Firefox",$agent)) $browser = 'Firefox';
elseif (ereg("MSIE 6\.0",$agent)) $browser = 'MSIE 6.0';
elseif (ereg("MSIE 5\.5",$agent)) $browser = 'MSIE 5.5';
elseif (ereg("MSIE 5\.",$agent)) $browser = 'MSIE 5.0-4';
elseif (ereg("MSIE 4\.",$agent)) $browser = 'MSIE 4.x';
elseif (ereg("Netscape/7\.",$agent)) $browser = 'Netscape 7.x';
elseif (ereg("Netscape6/6\.",$agent)) $browser = 'Netscape 6.x';
else $browser = 'sonstiger Browser';
//Betriebssystem ermitteln
function os() {
$agent=$_SERVER['HTTP_USER_AGENT'];
$os ="unknown";
if (strstr($agent, "Windows 98")) $os="Windows 98";
elseif (strstr($agent, "NT 4.0")) $os="Windows NT ";
elseif (strstr($agent, "NT 5.1")) $os="Windows XP";
elseif (strstr($agent, "Win")) $os="Windows";
elseif (strstr($agent, "Mac")) $os="Mac OS";
elseif (strstr($agent, "Linux")) $os="Linux";
elseif (strstr($agent, "Unix")) $os="Unix";
return $os;
}
$domain = $_SERVER['REMOTE_ADDR'];
$fp = fsockopen ("whois.ripe.net", 43) or die ("Fehler beim Öffnen der whois.ripe.net Anfrage !!");
fputs($fp, "$domain\n");
// Der Domainname wird in die Socket - Verbindung zu ripe.net wie in eine
// Datei eingeschrieben.
while (!feof($fp))
{
$output[] = fgets($fp, 2048);
// Das Ergebnis wird wie aus einer Datei ausgelesen
}
fclose($fp);
$private .= '<tr>';
$private .= '<td><b>IP:</b></td><td> ' . $_SERVER['REMOTE_ADDR'] . '</td>';
$private .= '</tr><tr>';
$private .= '<td><b>Provider:</b></td><td> ' . str_replace('descr:','',$output['13']) . '</td>';
$private .= '</tr><tr>';
$private .= '<td><b>Host-Adresse:</b></td><td> ' . gethostbyaddr($_SERVER['REMOTE_ADDR']) . '</td>';
$private .= '</tr><tr>';
$private .= '<td><b>Browser:</b></td><td> ' . $browser . '</td>';
$private .= '</tr><tr>';
$private .= '<td><b>Betriebssystem:</b></td><td> ' . os() . '</td>';
$private .= '</tr><tr>';
$private .= '<td><b>Kommt von:</b></td><td> ' . $_SERVER['HTTP_REFERER'] . '</td>';
$private .= '</tr><tr>';
$private .= '<td><b>Wohnt bei:</b></td><td> ' . str_replace('address:','',$output['30']) . '</td>';
$private .= '</tr>';
return $private;
}
###################
// VALIDATING
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// post back to PayPal system to validate
$header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);
//echo $_POST['invoice'];
if (!$fp) {
echo "http error";
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
$resarray[] = $res;
}
fclose ($fp);
if ($resarray['12'] == "VERIFIED") {
echo '<font color="#000000"><br><p>Vielen Dank für Ihren Auftrag. Sie erhalten in Kürze eine E-Mail an ' . $_POST['payer_email'] . ' mit Ihrem Zugang. </p><br></font>';
echo '<head><meta http-equiv="refresh" content="5; URL=http://www.winesupporters.com/"></head>';
//Log Schreiben
$logtext = '<hr><p><p><b>Bezahlung erfolgreich ( ' . date("l dS of F Y h:i:s A") . ' ):</b></p><table>';
foreach ($_POST as $key => $value) {
$logtext .= '<tr><td><b>' . $key . '</b></td><td> ' . $value . '</td></tr>';
}
$logtext .= '<tr><td colspan="2"><hr></td></tr>';
$logtext .= log_private();
$logtext .= '</table><hr><p><hr color="#02fc02"></p>';
make_log($logtext);
// /Log Schreiben
//Rechnungsnummer erhöhen
$datei_handle=fopen("invoice.txt",w);
fwrite($datei_handle,$_POST['invoice'] + 1);
fclose($datei_handle);
//Zugangsdaten an $_POST['payer_email'] senden
# Kommt noch
// Test
if (gethostbyaddr($_SERVER['REMOTE_ADDR']) != 'notify.paypal.com') {
$username = simpleRandString();
$password = simpleRandString();
$auth = $_POST['verify_sign'];
insert_user_into_db ($username, $password, $auth, $_POST['payer_email']);
$nachricht = '<html><head></head><body>Sehr geehrter Neukunde,<br><br>ihre Zugangsdaten lauten:<br><br><table><tr><td>
<b>Benutzername: </b></td><td>' . $username . '</td></tr><tr><td><b>Passwort: </b></td><td>' . $password
. '</td></tr></table></body>';
$header = "MIME-Version: 1.0\n";
$header .= "Content-type: text/html; charset=iso-8859-1\n";
$header .= "From: DoNotReply <donotreply@winesupporters.com>\n";
mail($_POST['payer_email'],'Ihre Zugangsdaten',$nachricht, $header);
$nachricht2 = '<html><head></head><body>'. $_POST['payer_email'] .',<br><br>Zugangsdaten lauten:<br><br><table><tr><td>
<b>Benutzername: </b></td><td>' . $username . '</td></tr><tr><td><b>Passwort: </b></td><td>' . $password
. '</td></tr></table></body>';
mail('dannyfaak@gmail.com','Neuer Kunde',$nachricht2,$header);
mail('duringo@gmail.com','Neuer Kunde',$nachricht2,$header);
}
//print_r($_POST);
} else {
echo '<font color="#000000"><br><p>Es ist ein Fehler bei der Bezahlung aufgetreten.</p><br></font>';
//print_r($resarray);
}
//print_r($resarray);
//print_r($_POST);
}
?>