ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilPurchasePaypal Class Reference
+ Collaboration diagram for ilPurchasePaypal:

Public Member Functions

 ilPurchasePaypal (&$user_obj)
 openSocket ()
 checkData ($fp)
 __checkTransactionId ($a_id)
 __checkItems ($a_array)
 __saveTransaction ($a_id)
 __sendBill ($bookings, $a_array)
 __initShoppingCartObject ()
 __getCountries ()
 __getCountryCode ($value="")
 __getCountryName ($value="")

Data Fields

 $psc_obj = null
 $user_obj = null
 $db = null
 $paypalConfig

Detailed Description

Definition at line 45 of file class.ilPurchasePaypal.php.

Member Function Documentation

ilPurchasePaypal::__checkItems (   $a_array)

Definition at line 187 of file class.ilPurchasePaypal.php.

References $_SESSION, $total, and PAY_METHOD_PAYPAL.

Referenced by checkData().

{
$genSet = new ilGeneralSettings();
include_once './payment/classes/class.ilPayMethods.php';
// Wrong currency
if ($a_array["mc_currency"] != $genSet->get("currency_unit"))
{
return false;
}
$sc = $this->psc_obj->getShoppingCart(PAY_METHOD_PAYPAL);
$this->psc_obj->clearCouponItemsSession();
if (is_array($sc) &&
count($sc) > 0)
{
for ($i = 0; $i < count($sc); $i++)
{
$items[$i] = array(
"name" => $a_array["item_name".($i+1)],
"amount" => $a_array["mc_gross_".($i+1)]
);
if (!empty($_SESSION["coupons"]["paypal"]))
{
$sc[$i]["math_price"] = (float) $sc[$i]["betrag"];
$tmp_pobject =& new ilPaymentObject($this->user_obj, $sc[$i]['pobject_id']);
foreach ($_SESSION["coupons"]["paypal"] as $key => $coupon)
{
$this->coupon_obj->setId($coupon["pc_pk"]);
$this->coupon_obj->setCurrentCoupon($coupon);
if ($this->coupon_obj->isObjectAssignedToCoupon($tmp_pobject->getRefId()))
{
$_SESSION["coupons"]["paypal"][$key]["total_objects_coupon_price"] += (float) $sc[$i]["betrag"];
$_SESSION["coupons"]["paypal"][$key]["items"][] = $sc[$i];
}
}
unset($tmp_pobject);
}
}
$coupon_discount_items = $this->psc_obj->calcDiscountPrices($_SESSION["coupons"]["paypal"]);
$found = 0;
$total = 0;
for ($i = 0; $i < count($sc); $i++)
{
if (array_key_exists($sc[$i]["pobject_id"], $coupon_discount_items))
{
$sc[$i]["betrag"] = round($coupon_discount_items[$sc[$i]["pobject_id"]]["discount_price"], 2);
if ($sc[$i]["betrag"] < 0) $sc[$i]["betrag"] = 0.0;
}
for ($j = 0; $j < count($items); $j++)
{
if (substr($items[$j]["name"], 0, strlen($sc[$i]["obj_id"])+2) == "[".$sc[$i]["obj_id"]."]" &&
$items[$j]["amount"] == $sc[$i]["betrag"])
{
$total += $items[$j]["amount"];
$found++;
}
}
}
// The number of items, the items themselves and their amounts and the total amount correct
if (number_format($total, 2, ".", "") == $a_array["mc_gross"] &&
$found == count($sc))
{
return true;
}
}
return false;
}

+ Here is the caller graph for this function:

ilPurchasePaypal::__checkTransactionId (   $a_id)

Definition at line 177 of file class.ilPurchasePaypal.php.

References $res.

Referenced by checkData().

{
$query = "SELECT * FROM payment_statistic ".
"WHERE transaction_extern = '".$a_id."'";
$res = $this->db->query($query);
return $res->numRows() ? true : false;
}

+ Here is the caller graph for this function:

ilPurchasePaypal::__getCountries ( )

Definition at line 563 of file class.ilPurchasePaypal.php.

References $lng.

Referenced by __getCountryCode(), and __getCountryName().

{
global $lng;
$lng->loadLanguageModule("meta");
$cntcodes = array ("DE","ES","FR","GB","AT","CH","AF","AL","DZ","AS","AD","AO",
"AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY",
"BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","BN","BG","BF",
"BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM",
"CG","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","TP","EC",
"EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","FX","GF","PF",
"TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GN",
"GW","GY","HT","HM","HN","HU","IS","IN","ID","IR","IQ","IE","IL","IT",
"JM","JP","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS",
"LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH",
"MQ","MR","MU","YT","MX","FM","MD","MC","MN","MS","MA","MZ","MM","NA",
"NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM",
"PK","PW","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO",
"RU","RW","KN","LC","VC","WS","SM","ST","SA","CH","SN","SC","SL","SG",
"SK","SI","SB","SO","ZA","GS","ES","LK","SH","PM","SD","SR","SJ","SZ",
"SE","SY","TW","TJ","TZ","TH","TG","TK","TO","TT","TN","TR","TM","TC",
"TV","UG","UA","AE","GB","UY","US","UM","UZ","VU","VA","VE","VN","VG",
"VI","WF","EH","YE","ZR","ZM","ZW");
$cntrs = array();
foreach($cntcodes as $cntcode)
{
$cntrs[$cntcode] = $lng->txt("meta_c_".$cntcode);
}
asort($cntrs);
return $cntrs;
}

+ Here is the caller graph for this function:

ilPurchasePaypal::__getCountryCode (   $value = "")

Definition at line 596 of file class.ilPurchasePaypal.php.

References __getCountries().

{
$countries = $this->__getCountries();
foreach($countries as $code => $text)
{
if ($text == $value)
{
return $code;
}
}
return;
}

+ Here is the call graph for this function:

ilPurchasePaypal::__getCountryName (   $value = "")

Definition at line 609 of file class.ilPurchasePaypal.php.

References __getCountries().

{
$countries = $this->__getCountries();
return $countries[$value];
}

+ Here is the call graph for this function:

ilPurchasePaypal::__initShoppingCartObject ( )

Definition at line 558 of file class.ilPurchasePaypal.php.

Referenced by ilPurchasePaypal().

{
$this->psc_obj =& new ilPaymentShoppingCart($this->user_obj);
}

+ Here is the caller graph for this function:

ilPurchasePaypal::__saveTransaction (   $a_id)

Definition at line 268 of file class.ilPurchasePaypal.php.

References $_SESSION, $total, ilPaymentObject\_getObjectData(), ilPaymentPrices\_getPriceStringFromAmount(), and PAY_METHOD_PAYPAL.

Referenced by checkData().

{
global $ilias, $ilUser, $ilObjDataCache;
$sc = $this->psc_obj->getShoppingCart(PAY_METHOD_PAYPAL);
$this->psc_obj->clearCouponItemsSession();
if (is_array($sc) &&
count($sc) > 0)
{
include_once './payment/classes/class.ilPaymentBookings.php';
$book_obj =& new ilPaymentBookings($this->usr_obj);
for ($i = 0; $i < count($sc); $i++)
{
if (!empty($_SESSION["coupons"]["paypal"]))
{
$sc[$i]["math_price"] = (float) $sc[$i]["betrag"];
$tmp_pobject =& new ilPaymentObject($this->user_obj, $sc[$i]['pobject_id']);
foreach ($_SESSION["coupons"]["paypal"] as $key => $coupon)
{
$this->coupon_obj->setId($coupon["pc_pk"]);
$this->coupon_obj->setCurrentCoupon($coupon);
if ($this->coupon_obj->isObjectAssignedToCoupon($tmp_pobject->getRefId()))
{
$_SESSION["coupons"]["paypal"][$key]["total_objects_coupon_price"] += (float) $sc[$i]["betrag"];
$_SESSION["coupons"]["paypal"][$key]["items"][] = $sc[$i];
}
}
unset($tmp_pobject);
}
}
$coupon_discount_items = $this->psc_obj->calcDiscountPrices($_SESSION["coupons"]["paypal"]);
for ($i = 0; $i < count($sc); $i++)
{
$pobjectData = ilPaymentObject::_getObjectData($sc[$i]["pobject_id"]);
$pobject =& new ilPaymentObject($this->user_obj,$sc[$i]['pobject_id']);
$inst_id_time = $ilias->getSetting('inst_id').'_'.$ilUser->getId().'_'.substr((string) time(),-3);
$price = $sc[$i]["betrag"];
$bonus = 0.0;
if (array_key_exists($sc[$i]["pobject_id"], $coupon_discount_items))
{
$bonus = $coupon_discount_items[$sc[$i]["pobject_id"]]["math_price"] - $coupon_discount_items[$sc[$i]["pobject_id"]]["discount_price"];
}
$book_obj->setTransaction($inst_id_time.substr(md5(uniqid(rand(), true)), 0, 4));
$book_obj->setPobjectId($sc[$i]["pobject_id"]);
$book_obj->setCustomerId($ilUser->getId());
$book_obj->setVendorId($pobjectData["vendor_id"]);
$book_obj->setPayMethod($pobjectData["pay_method"]);
$book_obj->setOrderDate(time());
$book_obj->setDuration($sc[$i]["dauer"]);
$book_obj->setPrice($sc[$i]["betrag_string"]);
$book_obj->setDiscount($bonus > 0 ? ilPaymentPrices::_getPriceStringFromAmount($bonus * (-1)) : "");
$book_obj->setPayed(1);
$book_obj->setAccess(1);
$book_obj->setVoucher('');
$book_obj->setTransactionExtern($a_id);
$booking_id = $book_obj->add();
if (!empty($_SESSION["coupons"]["paypal"]) && $booking_id)
{
foreach ($_SESSION["coupons"]["paypal"] as $coupon)
{
$this->coupon_obj->setId($coupon["pc_pk"]);
$this->coupon_obj->setCurrentCoupon($coupon);
if ($this->coupon_obj->isObjectAssignedToCoupon($pobject->getRefId()))
{
$this->coupon_obj->addCouponForBookingId($booking_id);
}
}
}
unset($booking_id);
unset($pobject);
$obj_id = $ilObjDataCache->lookupObjId($pobjectData["ref_id"]);
$obj_type = $ilObjDataCache->lookupType($obj_id);
$obj_title = $ilObjDataCache->lookupTitle($obj_id);
$bookings["list"][] = array(
"type" => $obj_type,
"title" => "[".$obj_id."]: " . $obj_title,
"duration" => $sc[$i]["dauer"],
"price" => $sc[$i]["betrag_string"],
"betrag" => $sc[$i]["betrag"]
);
$total += $sc[$i]["betrag"];
if ($sc[$i]["psc_id"]) $this->psc_obj->delete($sc[$i]["psc_id"]);
}
if (!empty($_SESSION["coupons"]["paypal"]))
{
foreach ($_SESSION["coupons"]["paypal"] as $coupon)
{
$this->coupon_obj->setId($coupon["pc_pk"]);
$this->coupon_obj->setCurrentCoupon($coupon);
$this->coupon_obj->addTracking();
}
}
}
$bookings["total"] = $total;
$bookings["vat"] = $this->psc_obj->getVat($total);
return $bookings;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPurchasePaypal::__sendBill (   $bookings,
  $a_array 
)

Definition at line 390 of file class.ilPurchasePaypal.php.

References $_SESSION, $tpl, ilMimeMail\From(), ilUtil\html2pdf(), and ilUtil\makeDir().

Referenced by checkData().

{
global $ilUser, $ilias;
$transaction = $a_array["txn_id"];
include_once './classes/class.ilTemplate.php';
include_once "./Services/Utilities/classes/class.ilUtil.php";
include_once './payment/classes/class.ilGeneralSettings.php';
include_once './payment/classes/class.ilPaymentShoppingCart.php';
include_once 'Services/Mail/classes/class.ilMimeMail.php';
$genSet = new ilGeneralSettings();
$tpl = new ilTemplate("./payment/templates/default/tpl.pay_paypal_bill.html", true, true, true);
$tpl->setVariable("VENDOR_ADDRESS", nl2br(utf8_decode($genSet->get("address"))));
$tpl->setVariable("VENDOR_ADD_INFO", nl2br(utf8_decode($genSet->get("add_info"))));
$tpl->setVariable("VENDOR_BANK_DATA", nl2br(utf8_decode($genSet->get("bank_data"))));
$tpl->setVariable("TXT_BANK_DATA", utf8_decode($this->lng->txt("pay_bank_data")));
# $tpl->setVariable("CUSTOMER_FIRSTNAME", utf8_decode($ilUser->getFirstname()));
# $tpl->setVariable("CUSTOMER_LASTNAME", utf8_decode($ilUser->getLastname()));
# $tpl->setVariable("CUSTOMER_STREET", utf8_decode($ilUser->getStreet()));
# $tpl->setVariable("CUSTOMER_ZIPCODE", utf8_decode($ilUser->getZipcode()));
# $tpl->setVariable("CUSTOMER_CITY", utf8_decode($ilUser->getCity()));
# $tpl->setVariable("CUSTOMER_COUNTRY", utf8_decode($ilUser->getCountry()));
$tpl->setVariable("CUSTOMER_FIRSTNAME", $a_array["first_name"]);
$tpl->setVariable("CUSTOMER_LASTNAME", $a_array["last_name"]);
$tpl->setVariable("CUSTOMER_STREET", $a_array["address_street"]);
$tpl->setVariable("CUSTOMER_ZIPCODE", $a_array["address_zip"]);
$tpl->setVariable("CUSTOMER_CITY", $a_array["address_city"]);
$tpl->setVariable("CUSTOMER_COUNTRY", $a_array["address_country"]);
$tpl->setVariable("BILL_NO", $transaction);
$tpl->setVariable("DATE", date("d.m.Y"));
$tpl->setVariable("TXT_BILL", utf8_decode($this->lng->txt("pays_bill")));
$tpl->setVariable("TXT_BILL_NO", utf8_decode($this->lng->txt("pay_bill_no")));
$tpl->setVariable("TXT_DATE", utf8_decode($this->lng->txt("date")));
$tpl->setVariable("TXT_ARTICLE", utf8_decode($this->lng->txt("pay_article")));
$tpl->setVariable("TXT_PRICE", utf8_decode($this->lng->txt("price_a")));
for ($i = 0; $i < count($bookings["list"]); $i++)
{
$tmp_pobject =& new ilPaymentObject($this->user_obj, $bookings["list"][$i]['pobject_id']);
$assigned_coupons = '';
if (!empty($_SESSION["coupons"]["paypal"]))
{
foreach ($_SESSION["coupons"]["paypal"] as $key => $coupon)
{
$this->coupon_obj->setId($coupon["pc_pk"]);
$this->coupon_obj->setCurrentCoupon($coupon);
if ($this->coupon_obj->isObjectAssignedToCoupon($tmp_pobject->getRefId()))
{
$assigned_coupons .= '<br />' . $this->lng->txt('paya_coupons_coupon') . ': ' . $coupon["pcc_code"];
}
}
}
$tpl->setCurrentBlock("loop");
$tpl->setVariable("LOOP_OBJ_TYPE", utf8_decode($this->lng->txt($bookings["list"][$i]["type"])));
$tpl->setVariable("LOOP_TITLE", utf8_decode($bookings["list"][$i]["title"]) . $assigned_coupons);
$tpl->setVariable("LOOP_TXT_ENTITLED_RETRIEVE", utf8_decode($this->lng->txt("pay_entitled_retrieve")));
$tpl->setVariable("LOOP_DURATION", $bookings["list"][$i]["duration"] . " " . utf8_decode($this->lng->txt("paya_months")));
$tpl->setVariable("LOOP_PRICE", $bookings["list"][$i]["price"]);
$tpl->parseCurrentBlock("loop");
unset($tmp_pobject);
}
if (!empty($_SESSION["coupons"]["paypal"]))
{
if (count($items = $bookings["list"]))
{
$sub_total_amount = $bookings["total"];
foreach ($_SESSION["coupons"]["paypal"] as $coupon)
{
$this->coupon_obj->setId($coupon["pc_pk"]);
$this->coupon_obj->setCurrentCoupon($coupon);
$total_object_price = 0.0;
$current_coupon_bonus = 0.0;
foreach ($bookings["list"] as $item)
{
$tmp_pobject =& new ilPaymentObject($this->user_obj, $item['pobject_id']);
if ($this->coupon_obj->isObjectAssignedToCoupon($tmp_pobject->getRefId()))
{
$total_object_price += $item["betrag"];
}
unset($tmp_pobject);
}
$current_coupon_bonus = $this->coupon_obj->getCouponBonus($total_object_price);
$bookings["total"] += $current_coupon_bonus * (-1);
$tpl->setCurrentBlock("cloop");
$tpl->setVariable("TXT_COUPON", utf8_decode($this->lng->txt("paya_coupons_coupon") . " " . $coupon["pcc_code"]));
$tpl->setVariable("BONUS", number_format($current_coupon_bonus * (-1), 2, ',', '.') . " " . $genSet->get("currency_unit"));
$tpl->parseCurrentBlock();
}
$tpl->setVariable("TXT_SUBTOTAL_AMOUNT", utf8_decode($this->lng->txt("pay_bmf_subtotal_amount")));
$tpl->setVariable("SUBTOTAL_AMOUNT", number_format($sub_total_amount, 2, ",", ".") . " " . $genSet->get("currency_unit"));
}
}
if ($bookings["total"] < 0)
{
$bookings["total"] = 0.0;
$bookings["vat"] = 0.0;
}
else
{
$bookings["vat"] = $this->psc_obj->getVat($bookings["total"]);
}
$tpl->setVariable("TXT_TOTAL_AMOUNT", utf8_decode($this->lng->txt("pay_bmf_total_amount")));
$tpl->setVariable("TOTAL_AMOUNT", number_format($bookings["total"], 2, ",", ".") . " " . $genSet->get("currency_unit"));
if ($bookings["vat"] > 0)
{
$tpl->setVariable("VAT", number_format($bookings["vat"], 2, ",", ".") . " " . $genSet->get("currency_unit"));
$tpl->setVariable("TXT_VAT", $genSet->get("vat_rate") . "% " . utf8_decode($this->lng->txt("pay_bmf_vat_included")));
}
$tpl->setVariable("TXT_PAYMENT_TYPE", utf8_decode($this->lng->txt("pay_payed_paypal")));
if (!@file_exists($genSet->get("pdf_path")))
{
ilUtil::makeDir($genSet->get("pdf_path"));
}
if (@file_exists($genSet->get("pdf_path")))
{
ilUtil::html2pdf($tpl->get(), $genSet->get("pdf_path") . "/" . $transaction . ".pdf");
}
if (@file_exists($genSet->get("pdf_path") . "/" . $transaction . ".pdf") &&
$ilUser->getEmail() != "" &&
$ilias->getSetting("admin_email") != "")
{
$m= new ilMimeMail; // create the mail
$m->From( $ilias->getSetting("admin_email") );
$m->To( $ilUser->getEmail() );
$m->Subject( $this->lng->txt("pay_message_subject") );
$message = $this->lng->txt("pay_message_hello") . " " . $ilUser->getFirstname() . " " . $ilUser->getLastname() . ",\n\n";
$message .= $this->lng->txt("pay_message_thanks") . "\n\n";
$message .= $this->lng->txt("pay_message_attachment") . "\n\n";
$message .= $this->lng->txt("pay_message_regards") . "\n\n";
$message .= strip_tags($genSet->get("address"));
$m->Body( $message ); // set the body
$m->Attach( $genSet->get("pdf_path") . "/" . $transaction . ".pdf", "application/pdf" ) ; // attach a file of type image/gif
$m->Send(); // send the mail
}
@unlink($genSet->get("pdf_path") . "/" . $transaction . ".html");
@unlink($genSet->get("pdf_path") . "/" . $transaction . ".pdf");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPurchasePaypal::checkData (   $fp)

Definition at line 86 of file class.ilPurchasePaypal.php.

References $_SESSION, $auth_token, $res, __checkItems(), __checkTransactionId(), __saveTransaction(), __sendBill(), ERROR_FAIL, ERROR_NOT_COMPLETED, ERROR_PREV_TRANS_ID, ERROR_WRONG_CUSTOMER, ERROR_WRONG_ITEMS, ERROR_WRONG_VENDOR, and SUCCESS.

{
global $ilUser;
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-synch';
$tx_token = $_REQUEST['tx'];
$auth_token = $this->paypalConfig["auth_token"];
$req .= "&tx=$tx_token&at=$auth_token";
$header .= "POST " . $this->paypalConfig["server_path"] . " HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
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 has been read. now read the contents
$res .= $line;
}
}
// parse the data
$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 customer
if ($ilUser->getId() != $keyarray["custom"])
{
#echo "Wrong customer";
}
// check the payment_status is Completed
if (!in_array($keyarray["payment_status"], array("Completed", "In-Progress", "Pending", "Processed")))
{
#echo "Not completed";
}
// check that txn_id has not been previously processed
if ($this->__checkTransactionId($keyarray["txn_id"]))
{
#echo "Prev. processed trans. id";
}
// check that receiver_email is your Primary PayPal email
if ($keyarray["receiver_email"] != $this->paypalConfig["vendor"])
{
#echo "Wrong vendor";
}
// check that payment_amount/payment_currency are correct
if (!$this->__checkItems($keyarray))
{
#echo "Wrong items";
}
$bookings = $this->__saveTransaction($keyarray["txn_id"]);
$this->__sendBill($bookings, $keyarray);
$_SESSION["coupons"]["paypal"] = array();
return SUCCESS;
}
else if (strcmp ($lines[0], "FAIL") == 0)
{
return ERROR_FAIL;
}
}

+ Here is the call graph for this function:

ilPurchasePaypal::ilPurchasePaypal ( $user_obj)

Definition at line 56 of file class.ilPurchasePaypal.php.

References $_SESSION, $lng, $user_obj, __initShoppingCartObject(), and ilPaypalSettings\getInstance().

{
global $ilDB,$lng;
$this->user_obj =& $user_obj;
$this->db =& $ilDB;
$this->lng =& $lng;
$this->coupon_obj = new ilPaymentCoupons($this->user_obj);
$this->paypalConfig = $ppSet->getAll();
$this->lng->loadLanguageModule("payment");
if (!is_array($_SESSION["coupons"]["paypal"]))
{
$_SESSION["coupons"]["paypal"] = array();
}
}

+ Here is the call graph for this function:

ilPurchasePaypal::openSocket ( )

Definition at line 79 of file class.ilPurchasePaypal.php.

{
// post back to PayPal system to validate
$fp = @fsockopen ($this->paypalConfig["server_host"], 80, $errno, $errstr, 30);
return $fp;
}

Field Documentation

ilPurchasePaypal::$db = null

Definition at line 52 of file class.ilPurchasePaypal.php.

ilPurchasePaypal::$paypalConfig

Definition at line 54 of file class.ilPurchasePaypal.php.

ilPurchasePaypal::$psc_obj = null

Definition at line 50 of file class.ilPurchasePaypal.php.

ilPurchasePaypal::$user_obj = null

Definition at line 51 of file class.ilPurchasePaypal.php.

Referenced by ilPurchasePaypal().


The documentation for this class was generated from the following file: