1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
<?php
// On défini une fonction pour les requêtes afin d'écrire quelques part l'erreur sql qui s'est produite pour que l'on puisse la connaître
function requete_don($sql) {
$result = @mysql_query($sql);
if ($result === false)
log_erreur("Erreur don : " . $sql . " - " . mysql_error());
return $result;
}
// On ajoute 'cmd' après avoir lu les données reçu par paypal
$req = 'cmd=_notify-validate';
// On défini la variable qui va nous servir pour l'encodage de l'url
foreach ($_POST as $key => $value) {
$value = urlencode($value);
$req .= "&$key=$value";
}
// Système retourné en POST pour validation 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);
// Définir les variables
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];
$paypal_email = $config['paypal_mail'];
$clid = $_POST['custom'];
if (!$fp) {
// Erreur
log_erreur('Erreur donation (!$fp)');
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// si le payement est confirmé par paypal
if ($receiver_email == $paypal_email && $payment_status == "Completed") {
// ICI METTRE LE CODE QUI SERA APPLIQUé
//////////////////exemple de requête:
$mod_r = requete_don("SELECT commentaire_moderation FROM membres WHERE id = " . sqlesc($clid));
$mod = mysql_fetch_row($mod_r);
$doncom = date("d/m/Y") . " - " . $payment_amount . " - ";
if (!empty($mod[0]))
$doncom .= "\n" . htmlspecialchars_decode($mod[0]);
$query = "UPDATE membres".SUF." SET commentaire_moderation = " . sqlesc(htmlspecialchars($doncom)) . " WHERE id = " . sqlesc($clid);
$result = requete_don($query);
////////////////////////////////
}
// sinon on redirige vers une autre page
} else if (strcmp ($res, "INVALID") == 0) {
header("Location: MAPAGE_ERREUR.php");
}
}
fclose ($fp);
}
?> |
Partager