| <?php |
| /******************************************************************************* |
| * Copyright (c) 2012 Eclipse Foundation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Nathan Gervais (Eclipse Foundation)- initial API and implementation |
| * Christopher Guindon (Eclipse Foundation) |
| *******************************************************************************/ |
| |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); $App = new App(); |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/friends/friend.class.php"); |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/friends/contribution.class.php"); |
| |
| //require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); $App = new App(); |
| //require_once("test/friends/friend.class.php"); |
| //require_once("test/friends/contribution.class.php"); |
| |
| // 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 .= "Host: www.paypal.com\r\n"; |
| $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; |
| $header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; |
| $fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30); |
| |
| if (!$fp) { |
| // HTTP ERROR |
| } else { |
| fputs ($fp, $header . $req); |
| while (!feof($fp)) { |
| $res = fgets ($fp, 1024); |
| if (strcmp ($res, "VERIFIED") == 0) { |
| // check the payment_status is Completed |
| // check that txn_id has not been previously processed |
| // check that receiver_email is your Primary PayPal email |
| // check that payment_amount/payment_currency are correct |
| // process payment |
| |
| |
| // echo the response |
| echo "The response from IPN was: <b>" .$res ."</b><br><br>"; |
| |
| //loop through the $_POST array and print all vars to the screen. |
| |
| foreach($_POST as $key => $value){ |
| // echo $key." = ". $value."<br>"; |
| } |
| |
| //empty if the donation is made from the new thankyou page. |
| //donation from the new "thankyou" page needs the return form to complete the membership. |
| /*if(empty($_POST['option_selection2'])){ |
| exit(); |
| }*/ |
| // check the payment_status is Completed |
| // check that txn_id has not been previously processed |
| // check that receiver_email is your Primary PayPal email |
| // check that payment_amount/payment_currency are correct |
| // process payment |
| |
| $firstname = $_POST['first_name']; |
| $lastname = $_POST['last_name']; |
| $itemname = $_POST['item_name']; |
| $amount = $_POST['payment_gross']; |
| $bugzillaEmail = $_POST['item_number']; |
| |
| $anonymous = $_POST['option_selection2']; |
| $comment = strip_tags($_POST['option_selection1']); |
| $transactionID = $_POST['txn_id']; |
| $paymentStatus = $_POST['payment_status']; |
| |
| $statusCheck = array('Completed'); |
| |
| include_once('includes/donation_process.inc.php'); |
| } |
| else if (strcmp ($res, "INVALID") == 0) { |
| // log for manual investigation |
| |
| // echo the response |
| echo "The response from IPN was: <b>" .$res ."</b>"; |
| |
| } |
| |
| } |
| fclose ($fp); |
| } |
| |
| |
| |
| $html = ob_get_clean(); |
| echo $html; |
| ?> |
| |
| |