<?php
require ("config.php");
function generatePassword ($length = 16)
{

  // Passwort
  $password = "";

  
  $possible = "0123456789bcdfghjkmnpqrstvwxyz"; 
    
  
  $i = 0; 
    
  while ($i < $length) { 

   $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
        
    if (!strstr($password, $char)) { 
      $password .= $char;
      $i++;
    }

  }

  return $password;

}

// Rückgabe von PayPal
$req = 'cmd=_notify-synch';

$tx_token = $_GET['tx'];
$req .= "&tx=$tx_token&at=$auth_token";

// zurück zu PayPal
$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);
// Wenn möglich per HTTPS
// $fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);

if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
// read the body data 
$res = '';
$headerdone = false;
while (!feof($fp)) {
$line = fgets ($fp, 1024);
if (strcmp($line, "\r\n") == 0) {
// read the header
$headerdone = true;
}
else if ($headerdone)
{
// Header wurde gelesen, jetzt der Inhalt
$res .= $line;
}
}

// parse 
$lines = explode("\n", $res);
$keyarray = array();
if (strcmp ($lines[0], "SUCCESS") == 0) {
for ($i=1; $i<count($lines);$i++){
list($key,$val) = explode("=", $lines[$i]);
$keyarray[urldecode($key)] = urldecode($val);
}
// check payment_status
// check txn_id
// check receiver_email 
// check payment_amount/payment_currency 
$firstname = $keyarray['first_name'];
$lastname = $keyarray['last_name'];
$itemname = $keyarray['item_name'];
$amount = $keyarray['payment_gross'];
$eml = $keyarray['payer_email'];
$itemid = $keyarray['item_number'];

include "header.php";

echo ("<p align='center'><h3>Vielen Dank für Ihren Kauf!</h3></p>");

echo ("<b>Details dieser Zahlung</b><br>\n");
echo ("<li>Name: $firstname $lastname</li>\n");
echo ("<li>Art.Nr: $itemname</li>\n");
echo ("<li>Preis: $amount</li>\n");
echo ("<li>E-mail: $eml</li>\n");
echo ("<li>Produkt ID: $itemid</li>\n");
echo ("");


$active = 0;
$dlcode = generatePassword();

$sql = "Select * from pps_kunden where EMail='$eml';";
$result = mysql_query($sql);

if (mysql_num_rows($result) == 0)
{

$sql = "Insert into pps_kunden(CustomerID, FirstName, LastName, EMail)
VALUES('','$firstname','$lastname','$eml');";
mysql_query($sql) or die(mysql_error());

$sql = "Select * from pps_kunden where EMail='$eml';";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$custid = $row['CustomerID'];


}

else

{

$sql = "Select * from pps_kunden where EMail='$eml';";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$custid = $row['CustomerID'];

}

$sql = "Insert into pps_bestellungen(OrderID, ProductID, CustomerID, DLCode, Active) 
VALUES ('','$itemid','$custid','$dlcode','$active');";
mysql_query($sql) or die(mysql_error());

$link = $sitepath."/download.php?DLCode=$dlcode";

$to = $eml;
$subject = "$itemname Download ";
$message = "Sie können den Artikel ($itemname) unter folgender URL downloaden:

$link

Viele Grüsse,
$yourname
$ppemail";
$from = $yourname." <".$ppemail.">";
$headers = "From: $from";
mail($to,$subject,$message,$headers);

echo("Der Downloadlink wurde an folgende Emailadresse gesandt: $eml");
echo "<br>Bei Fragen oder Problemen, senden Sie bitte eine Email an: <a href='mailto:".$ppemail."'>".$ppemail."</a>";
include "footer.php"; 


}
else if (strcmp ($lines[0], "FAIL") == 0) {
// log for manual investigation
}

}

fclose ($fp);

?>