ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilShopShoppingCartGUI Class Reference

Class ilShopShoppingCartGUI. More...

+ Inheritance diagram for ilShopShoppingCartGUI:
+ Collaboration diagram for ilShopShoppingCartGUI:

Public Member Functions

 __construct ($user_obj)
 executeCommand ()
 execute command
 unlockBillObjectsInShoppingCart ()
 unlockBMFObjectsInShoppingCart ()
 unlockPAYPALObjectsInShoppingCart ()
 checkCouponsOfShoppingCart ()
 finishEPay ()
 Return from ePay.
 finishPaypal ()
 cancelEPay ()
 cancelPaypal ()
 cartNotEmpty ()
 showItems ()
 setCoupon ()
 removeCoupon ()
 deleteItem ()
 newUserForm ()
 validateNewUser ()
- Public Member Functions inherited from ilShopBaseGUI
 __construct ()

Protected Member Functions

 prepareOutput ()
- Protected Member Functions inherited from ilShopBaseGUI
 addPager ($result, $a_session_key)
 buildSubTabs ()
 setSection ($a_section)
 getSection ()
 setSubSection ($a_sub_section)
 getSubSection ()
 showButton ($a_cmd, $a_text, $a_target= '')
 initTableGUI ()
 setTableGUIBasicData ($tbl, $result_set, $a_default_order_column= '')

Private Member Functions

 addBookings ($pay_method, $coupon_session)
 _getPayMethods ($limitToEnabled=false)
 _getTemplateFilename ($a_pm_title)
 showCouponInput ($payment_type= '')
 showItemsTable (&$a_tpl, $a_result_set, $a_pay_method=0)
 initShoppingCartObject ()
 initPaypalObject ()
 encryptButton ($buttonParams)
 Creates a new encrypted button HTML block.

Private Attributes

 $user_obj
 $psc_obj = null
 $paypal_obj = null
 $totalAmount = array()
 $totalVat = 0
 $epSet
 $session_id

Additional Inherited Members

- Protected Attributes inherited from ilShopBaseGUI
 $ctrl = null
 $ilias = null
 $lng = null
 $tpl = null
 $oGeneralSettings = null
 $section = 0
 $sub_section = 0

Detailed Description

Constructor & Destructor Documentation

ilShopShoppingCartGUI::__construct (   $user_obj)

Definition at line 39 of file class.ilShopShoppingCartGUI.php.

References $user_obj, ilShopBaseGUI\__construct(), checkCouponsOfShoppingCart(), ilPaypalSettings\getInstance(), and ilEPaySettings\getInstance().

{
$this->user_obj = $user_obj;
$this->session_id = session_id();
$this->coupon_obj = new ilPaymentCoupons($this->user_obj);
$this->paypalConfig = $ppSet->getAll();
$this->epSet = ilEPaySettings::getInstance();
$this->epayConfig = $this->epSet->getAll();
#$this->default_currency = ilPaymentCurrency::_getDefaultCurrency();
}

+ Here is the call graph for this function:

Member Function Documentation

ilShopShoppingCartGUI::_getPayMethods (   $limitToEnabled = false)
private

Definition at line 420 of file class.ilShopShoppingCartGUI.php.

Referenced by cartNotEmpty(), and showItems().

{
$objPM = new ilPayMethods();
$get_paymethods = $objPM->readAll();
if(!$limitToEnabled)
{
foreach($get_paymethods as $pm)
{
$pay_methods[$pm['pm_id']]['pm_title'] = $pm['pm_title'];
$pay_methods[$pm['pm_id']]['pm_id'] = $pm['pm_id'];
$pay_methods[$pm['pm_id']]['pm_enabled'] = $pm['pm_enabled'];
$pay_methods[$pm['pm_id']]['save_usr_adr'] = $pm['save_usr_adr'];
}
}
else
{
foreach($get_paymethods as $pm)
{
if($pm['pm_enabled'] == 1)
{
$pay_methods[$pm['pm_id']]['pm_title'] = $pm['pm_title'];
$pay_methods[$pm['pm_id']]['pm_id'] = $pm['pm_id'];
$pay_methods[$pm['pm_id']]['pm_enabled'] = $pm['pm_enabled'];
$pay_methods[$pm['pm_id']]['save_usr_adr'] = $pm['save_usr_adr'];
}
}
}
return $pay_methods;
}

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::_getTemplateFilename (   $a_pm_title)
private

Definition at line 454 of file class.ilShopShoppingCartGUI.php.

Referenced by showItems().

{
// use payment_paymethods -> pm_title
$base = "./Services/Payment/templates/default/tpl.pay_shopping_cart_";
$suffix = ".html";
return $base . $a_pm_title . $suffix;
}

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::addBookings (   $pay_method,
  $coupon_session 
)
private

Definition at line 144 of file class.ilShopShoppingCartGUI.php.

References $_SESSION, ilShopBaseGUI\$ilias, $pay_method, ilPaymentPrices\_getPrice(), ilPaymentPrices\_getPriceString(), and ilShopVats\getRate().

Referenced by unlockBMFObjectsInShoppingCart().

{
global $ilias, $ilUser, $ilObjDataCache;
include_once './Services/Payment/classes/class.ilPaymentBookings.php';
include_once './Services/Payment/classes/class.ilPaymentObject.php';
include_once './Services/Payment/classes/class.ilPaymentPrices.php';
$booking_obj = new ilPaymentBookings();
$sc_obj = new ilPaymentShoppingCart($this->user_obj);
$items = $sc_obj->getEntries($pay_method);
$sc_obj->clearCouponItemsSession();
foreach($items as $entry)
{
$pobject = new ilPaymentObject($this->user_obj, $entry['pobject_id']);
$price = ilPaymentPrices::_getPrice($entry['price_id']);
if (!empty($_SESSION['coupons'][$coupon_session]))
{
$entry['math_price'] = $entry['price']; // (float) ilPaymentPrices::_getPriceFromArray($price);
foreach ($_SESSION['coupons'][$coupon_session] as $key => $coupon)
{
$this->coupon_obj->setId($coupon['pc_pk']);
$this->coupon_obj->setCurrentCoupon($coupon);
if ($this->coupon_obj->isObjectAssignedToCoupon($pobject->getRefId()))
{
$_SESSION['coupons'][$coupon_session][$key]['total_objects_coupon_price'] += $entry['price']; //(float) ilPaymentPrices::_getPriceFromArray($price);
$_SESSION['coupons'][$coupon_session][$key]['items'][] = $entry;
}
}
}
unset($pobject);
}
$coupon_discount_items = $sc_obj->calcDiscountPrices($_SESSION['coupons'][$coupon_session]);
$i = 0;
foreach($items as $entry)
{
$pobject = new ilPaymentObject($this->user_obj, $entry['pobject_id']);
$price = ilPaymentPrices::_getPrice($entry['price_id']);
if (array_key_exists($entry['pobject_id'], $coupon_discount_items))
{
$bonus = $coupon_discount_items[$entry['pobject_id']]['math_price'] - $coupon_discount_items[$entry['pobject_id']]['discount_price'];
}
$booking_obj->setPobjectId($entry['pobject_id']);
$booking_obj->setCustomerId($this->user_obj->getId());
$booking_obj->setVendorId($pobject->getVendorId());
$booking_obj->setPayMethod($pobject->getPayMethod());
$booking_obj->setOrderDate(time());
$booking_obj->setDuration($price['duration']);
$booking_obj->setPrice(ilPaymentPrices::_getPriceString($entry['price_id']));
$booking_obj->setDiscount($bonus > 0 ? ((-1) * $bonus) : 0);
$booking_obj->setPayed(1);
$booking_obj->setAccess(1);
$booking_obj->setAccessExtension($price['extension']);
$obj_id = $ilObjDataCache->lookupObjId($pobject->getRefId());
$obj_type = $ilObjDataCache->lookupType($obj_id);
$obj_title = $ilObjDataCache->lookupTitle($obj_id);
$oVAT = new ilShopVats((int)$pobject->getVatId());
$obj_vat_rate = $oVAT->getRate();
if($bonus > 0)
{
$tmp_price = $booking_obj->getPrice()-$bonus;
$obj_vat_unit = $pobject->getVat($tmp_price);
}else
$obj_vat_unit = $pobject->getVat($booking_obj->getPrice());
$booking_obj->setObjectTitle($obj_title);
$booking_obj->setVatRate($obj_vat_rate);
$booking_obj->setVatUnit($obj_vat_unit);
if(ilPaymethods::_EnabledSaveUserAddress($booking_obj->getPayMethod()))
{
$booking_obj->setStreet($ilUser->getStreet(), $ilUser->getHouseNumber);
$booking_obj->setZipcode($ilUser->getZipcode());
$booking_obj->setCity($ilUser->getCity());
$booking_obj->setCountry($ilUser->getCountry());
}
$current_booking_id = $booking_obj->add();
if ($current_booking_id)
{
$sc_obj->delete($entry['psc_id']);
if (!empty($_SESSION['coupons'][$coupon_session]))
{
foreach ($_SESSION['coupons'][$coupon_session] 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($current_booking_id);
}
}
}
}
unset($current_booking_id);
unset($pobject);
}
if (!empty($_SESSION['coupons'][$coupon_session]))
{
foreach ($_SESSION['coupons'][$coupon_session] as $coupon)
{
$this->coupon_obj->setId($coupon['pc_pk']);
$this->coupon_obj->setCurrentCoupon($coupon);
$this->coupon_obj->addTracking();
}
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::cancelEPay ( )

Definition at line 408 of file class.ilShopShoppingCartGUI.php.

References ilUtil\sendInfo(), and showItems().

{
ilUtil::sendInfo($this->lng->txt('pay_epay_canceled'));
$this->showItems();
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::cancelPaypal ( )

Definition at line 414 of file class.ilShopShoppingCartGUI.php.

References ilUtil\sendInfo(), and showItems().

{
ilUtil::sendInfo($this->lng->txt('pay_paypal_canceled'));
$this->showItems();
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::cartNotEmpty ( )

Definition at line 463 of file class.ilShopShoppingCartGUI.php.

References _getPayMethods().

{
$pay_methods = $this->_getPayMethods( true);
if (is_array($pay_methods))
for ($p = 0; $p < count($pay_methods); $p++)
{
if (count($items = $this->psc_obj->getEntries($pay_methods['pm_id'])))
{
foreach ($items as $item)
{
return true;
}
}
}
return false;
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::checkCouponsOfShoppingCart ( )

Definition at line 269 of file class.ilShopShoppingCartGUI.php.

References $_SESSION, and $pay_method.

Referenced by __construct(), and deleteItem().

{
$objPM = new ilPayMethods();
$get_paymethods = $objPM->readAll();
foreach($get_paymethods as $pm)
{
$pay_methods[$pm['pm_id']]['pm_title'] = $pm['pm_title'];
$pay_methods[$pm['pm_id']]['pm_id'] = $pm['pm_id'];
}
if (is_array($pay_methods))
{
foreach($pay_methods as $pay_method)
{
$coupon_session_id = $pay_method['pm_title'];
if (!is_array($_SESSION['coupons'][$coupon_session_id]))
{
$_SESSION['coupons'][$coupon_session_id] = array();
}
else // check if coupons are valid anymore
{
foreach ($_SESSION['coupons'][$coupon_session_id] as $coupon_id => $session_coupon)
{
$coupon = $this->coupon_obj->getCouponByCode($session_coupon['pcc_code']);
if ($this->coupon_obj->checkCouponValidity() == 0)
{
$assignedItems = 0;
$this->psc_obj = new ilPaymentShoppingCart($this->user_obj);
if (count($items = $this->psc_obj->getEntries($pay_method['pm_id'])))
{
foreach($items as $item)
{
$tmp_pobject = new ilPaymentObject($this->user_obj, $item['pobject_id']);
if ($this->coupon_obj->isObjectAssignedToCoupon($tmp_pobject->getRefId()))
{
++$assignedItems;
}
}
}
if (!$assignedItems)
{
unset($_SESSION['coupons'][$coupon_session_id][$coupon_id]);
}
}
else
{
unset($_SESSION['coupons'][$coupon_session_id][$coupon_id]);
}
}
}
}
}
}

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::deleteItem ( )

Definition at line 1131 of file class.ilShopShoppingCartGUI.php.

References $_POST, checkCouponsOfShoppingCart(), initShoppingCartObject(), ilUtil\sendInfo(), and showItems().

{
if(!count($_POST['item']))
{
ilUtil::sendInfo($this->lng->txt('pay_select_one_item'));
$this->showItems();
return true;
}
foreach($_POST['item'] as $id)
{
$this->psc_obj->delete($id);
}
ilUtil::sendInfo($this->lng->txt('pay_deleted_items'));
$this->showItems();
return true;
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::encryptButton (   $buttonParams)
private

Creates a new encrypted button HTML block.

Parameters
arrayThe button parameters as key/value pairs
Returns
mixed A string of HTML or a Paypal error object on failure

Definition at line 1170 of file class.ilShopShoppingCartGUI.php.

References $data.

{
$merchant_cert = $this->paypalConfig["vendor_cert"];
$merchant_key = $this->paypalConfig["vendor_key"];
$end_cert = $this->paypalConfig["enc_cert"];
$tmpin_file = tempnam('/tmp', 'paypal_');
$tmpout_file = tempnam('/tmp', 'paypal_');
$tmpfinal_file = tempnam('/tmp', 'paypal_');
$rawdata = array();
$buttonParams['cert_id'] = $this->paypalConfig["cert_id"];
foreach ($buttonParams as $name => $value) {
$rawdata[] = "$name=$value";
}
$rawdata = implode("\n", $rawdata);
$fp = fopen($tmpin_file, 'w');
if (!$fp) {
echo "Could not open temporary file '$tmpin_file')";
return false;
# return PayPal::raiseError("Could not open temporary file '$tmpin_file')");
}
fwrite($fp, $rawdata);
fclose($fp);
if (!@openssl_pkcs7_sign($tmpin_file, $tmpout_file, $merchant_cert,
array($merchant_key, $this->paypalConfig["private_key_password"]),
array(), PKCS7_BINARY)) {
echo "Could not sign encrypted data: " . openssl_error_string();
return false;
# return PayPal::raiseError("Could not sign encrypted data: " . openssl_error_string());
}
$data = file_get_contents($tmpout_file);
$data = explode("\n\n", $data);
$data = $data[1];
$data = base64_decode($data);
$fp = fopen($tmpout_file, 'w');
if (!$fp) {
echo "Could not open temporary file '$tmpin_file')";
return false;
# return PayPal::raiseError("Could not open temporary file '$tmpin_file')");
}
fwrite($fp, $data);
fclose($fp);
if (!@openssl_pkcs7_encrypt($tmpout_file, $tmpfinal_file, $end_cert, array(), PKCS7_BINARY)) {
echo "Could not encrypt data:" . openssl_error_string();
return false;
# return PayPal::raiseError("Could not encrypt data:" . openssl_error_string());
}
$encdata = @file_get_contents($tmpfinal_file, false);
if (!$encdata) {
echo "Encryption and signature of data failed.";
return false;
# return PayPal::raiseError("Encryption and signature of data failed.");
}
$encdata = explode("\n\n", $encdata);
$encdata = trim(str_replace("\n", '', $encdata[1]));
$encdata = "-----BEGIN PKCS7-----$encdata-----END PKCS7-----";
@unlink($tmpfinal_file);
@unlink($tmpin_file);
@unlink($tmpout_file);
return $encdata;
}
ilShopShoppingCartGUI::executeCommand ( )

execute command

Definition at line 62 of file class.ilShopShoppingCartGUI.php.

References $cmd, and prepareOutput().

{
global $ilUser;
$cmd = $this->ctrl->getCmd();
$next_class = $this->ctrl->getNextClass($this);
switch ($next_class)
{
default:
$this->prepareOutput();
if (!$cmd = $this->ctrl->getCmd())
{
$cmd = 'showItems';
}
$this->$cmd();
break;
}
return true;
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::finishEPay ( )

Return from ePay.

Todo:

: Check for ePay/PBS error

: Flyt fakturering til callback

Definition at line 333 of file class.ilShopShoppingCartGUI.php.

References $_REQUEST, ilShopBaseGUI\$ilias, ilPayMethods\_getIdByTitle(), ilPurchase\purchase(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

{
global $ilias, $ilUser;
require_once './Services/Payment/classes/class.ilPurchase.php';
try
{
$pm_id = ilPayMethods::_getIdByTitle('epay');
$buy = new ilPurchase( $ilUser->getId(), $pm_id );
$buy->purchase($_REQUEST['tid'] );
}
catch (ilERPException $e)
{
$msg = $e->getMessage();
if (DEVMODE) $msg .= " " . print_r($_REQUEST, true);
}
ilUtil::sendSuccess($this->lng->txt('pay_epay_success'));
$this->ctrl->redirectByClass('ilShopBoughtObjectsGUI', '');
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::finishPaypal ( )

Definition at line 354 of file class.ilShopShoppingCartGUI.php.

References $_SESSION, $res, ERROR_FAIL, ERROR_NOT_COMPLETED, ERROR_PREV_TRANS_ID, ERROR_WRONG_CUSTOMER, ERROR_WRONG_ITEMS, ERROR_WRONG_VENDOR, initPaypalObject(), ilUtil\sendFailure(), ilUtil\sendSuccess(), showItems(), and SUCCESS.

{
global $ilUser;
$this->initPaypalObject();
if (!($fp = $this->paypal_obj->openSocket()))
{
ilUtil::sendFailure($this->lng->txt('pay_paypal_failed').'<br />'.$this->lng->txt('pay_paypal_unreachable').'<br />'.$this->lng->txt('pay_paypal_error_info'));
$this->showItems();
}
else
{
$res = $this->paypal_obj->checkData($fp);
if ($res == SUCCESS)
{
ilUtil::sendSuccess($this->lng->txt('pay_paypal_success'), true);
if($ilUser->getId() == ANONYMOUS_USER_ID || $_SESSION['is_crs_object'] || $_SESSION['is_lm_object'] || $_SESSION['is_file_object'])
{
$this->ctrl->redirectByClass('ilShopShoppingCartGUI', '');
}
else
{
# $this->ctrl->redirectByClass('ilShopBoughtObjectsGUI', '');
$this->ctrl->redirectByClass('ilShopShoppingCartGUI', '');
}
}
else
{
switch ($res)
{
case ERROR_WRONG_CUSTOMER : ilUtil::sendFailure($this->lng->txt('pay_paypal_failed').'<br />'.$this->lng->txt('pay_paypal_error_wrong_customer').'<br />'.$this->lng->txt('pay_paypal_error_info'));
break;
case ERROR_NOT_COMPLETED : ilUtil::sendFailure($this->lng->txt('pay_paypal_failed').'<br />'.$this->lng->txt('pay_paypal_error_not_completed').'<br />'.$this->lng->txt('pay_paypal_error_info'));
break;
case ERROR_PREV_TRANS_ID : ilUtil::sendFailure($this->lng->txt('pay_paypal_failed').'<br />'.$this->lng->txt('pay_paypal_error_prev_trans_id').'<br />'.$this->lng->txt('pay_paypal_error_info'));
break;
case ERROR_WRONG_VENDOR : ilUtil::sendFailure($this->lng->txt('pay_paypal_failed').'<br />'.$this->lng->txt('pay_paypal_error_wrong_vendor').'<br />'.$this->lng->txt('pay_paypal_error_info'));
break;
case ERROR_WRONG_ITEMS : ilUtil::sendFailure($this->lng->txt('pay_paypal_failed').'<br />'.$this->lng->txt('pay_paypal_error_wrong_items').'<br />'.$this->lng->txt('pay_paypal_error_info'));
break;
case ERROR_FAIL : ilUtil::sendFailure($this->lng->txt('pay_paypal_failed').'<br />'.$this->lng->txt('pay_paypal_error_fails').'<br />'.$this->lng->txt('pay_paypal_error_info'));
break;
}
$this->showItems();
}
fclose($fp);
}
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::initPaypalObject ( )
private

Definition at line 1159 of file class.ilShopShoppingCartGUI.php.

Referenced by finishPaypal().

{
$this->paypal_obj = new ilPurchasePaypal($this->user_obj);
}

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::initShoppingCartObject ( )
private

Definition at line 1153 of file class.ilShopShoppingCartGUI.php.

Referenced by deleteItem(), and showItems().

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

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::newUserForm ( )

Definition at line 1241 of file class.ilShopShoppingCartGUI.php.

References $_SESSION, $ilCtrl, ilShopBaseGUI\$lng, ilShopBaseGUI\$tpl, ilPasswordInputGUI\setRetype(), and ilTextInputGUI\setValue().

{
global $tpl, $lng, $ilCtrl;
include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
$form_2 = new ilPropertyFormGUI();
$form_2->setFormAction($ilCtrl->getFormAction($this, 'validateNewUser'));
$form_2->setTitle($lng->txt('user_assignment'));
$form_2->setId('user_frm');
$form_2->addCommandButton('validateNewUser',$lng->txt('assign_user'));
$formName = new ilTextInputGUI($lng->txt('login'), 'user_name');
$formName->setValue($_SESSION['user_name']);
$form_2->addItem($formName);
$formPass = new ilPasswordInputGUI($lng->txt('password'), 'user_pass');
$formPass->setRetype(false);
$formPass->setValue($_SESSION['user_pass']);
$formPass->setInfo($lng->txt('assign_pruchase_to_another_existing_account'));
$form_2->addItem($formPass);
$tpl->setVariable('USER_FORM',$form_2->getHTML());
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::prepareOutput ( )
protected

Reimplemented from ilShopBaseGUI.

Definition at line 84 of file class.ilShopShoppingCartGUI.php.

Referenced by executeCommand().

{
global $ilTabs;
$ilTabs->setTabActive('paya_shopping_cart');
}

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::removeCoupon ( )

Definition at line 967 of file class.ilShopShoppingCartGUI.php.

References $_GET, $_SESSION, and showItems().

{
if (is_array($_SESSION['coupons']))
{
foreach ($_SESSION['coupons'] as $key => $val)
{
unset($_SESSION['coupons'][$key][$_GET['coupon_id']]);
}
}
$this->showItems();
return true;
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::setCoupon ( )

Definition at line 899 of file class.ilShopShoppingCartGUI.php.

References $_POST, $_SESSION, ilUtil\sendInfo(), and showItems().

{
if ($_POST['coupon_code'] != '')
{
$coupon = $this->coupon_obj->getCouponByCode($_POST['coupon_code']);
switch ($this->coupon_obj->checkCouponValidity())
{
case 1:
case 2:
ilUtil::sendInfo($this->lng->txt('paya_coupons_not_valid'));
$this->showItems();
return true;
case 3:
ilUtil::sendInfo($this->lng->txt('paya_coupons_coupon_not_found'));
$this->showItems();
return true;
}
$assignedItems = 0;
$this->psc_obj = new ilPaymentShoppingCart($this->user_obj);
if (count($items = $this->psc_obj->getEntries(isset($_POST['payment_type']) ? $_POST['payment_type'] : 'bmf')))
{
foreach($items as $item)
{
$tmp_pobject = new ilPaymentObject($this->user_obj,$item['pobject_id']);
if ($this->coupon_obj->isObjectAssignedToCoupon($tmp_pobject->getRefId()))
{
++$assignedItems;
}
}
}
if (!$assignedItems)
{
ilUtil::sendInfo($this->lng->txt('paya_coupons_no_object_assigned'));
$this->showItems();
return true;
}
$coupon_session_id = $_POST['payment_type'];
if (!array_key_exists($coupon['pc_pk'], $_SESSION['coupons'][$coupon_session_id]))
{
if (is_array($_SESSION['coupons']))
{
foreach ($_SESSION['coupons'] as $key => $val)
{
unset($_SESSION['coupons'][$key][$coupon['pc_pk']]);
}
}
ilUtil::sendInfo($this->lng->txt('paya_coupons_coupon_added'));
$_SESSION['coupons'][$coupon_session_id][$coupon['pc_pk']] = $coupon;
}
else
{
ilUtil::sendInfo($this->lng->txt('paya_coupons_already_in_use'));
}
$this->showItems();
return true;
}
$this->showItems();
return true;
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::showCouponInput (   $payment_type = '')
private

Definition at line 985 of file class.ilShopShoppingCartGUI.php.

References $_SESSION, ilShopBaseGUI\$tpl, ilPaymentSettings\_getInstance(), ilUtil\getImagePath(), and ilUtil\switchColor().

Referenced by showItems().

{
include_once './Services/Payment/classes/class.ilPaymentSettings.php';
$tpl = new ilTemplate('tpl.pay_shopping_cart_coupons.html', true, true, 'Services/Payment');
$tpl->setVariable('COUPON_FORMACTION', $this->ctrl->getFormAction($this));
$tpl->setVariable('TITLE', $this->lng->txt('paya_coupons_coupons'));
$tpl->setVariable('TYPE_IMG', ilUtil::getImagePath('icon_pays_b.gif'));
$tpl->setVariable('ALT_IMG', $this->lng->txt('obj_usr'));
$tpl->setVariable('TXT_CODE', $this->lng->txt('paya_coupons_code'));
$tpl->setVariable('CMD_VALUE', $this->lng->txt('send'));
$tpl->setVariable('PAYMENT_TYPE', $payment_type);
$coupon_session = $payment_type;
if (!empty($_SESSION['coupons'][$coupon_session]))
{
$i = 0;
foreach ($_SESSION['coupons'][$coupon_session] as $coupon)
{
$tpl->setCurrentBlock('loop');
$tpl->setVariable('LOOP_ROW', ilUtil::switchColor($i++, '1', '2'));
$tpl->setVariable('LOOP_TXT_COUPON', $this->lng->txt('paya_coupons_coupon'));
$tpl->setVariable('LOOP_CODE', $coupon['pcc_code']);
$this->ctrl->setParameter($this, 'coupon_id', $coupon['pc_pk']);
$this->ctrl->setParameter($this, 'payment_type', $_SESSION['bmf']['payment_type']);
$tpl->setVariable('LOOP_TITLE', $coupon['pc_title']);
if ($coupon['pc_description'] != '') $tpl->setVariable('LOOP_DESCRIPTION', nl2br($coupon['pc_description']));
$tpl->setVariable("LOOP_TYPE",
sprintf($this->lng->txt('paya_coupons_'.($coupon['pc_type'] == "fix" ? 'fix' : 'percentaged').'_'.(count($coupon['objects']) == 0 ? 'all' : 'selected').'_objects'),
(((float)$coupon['pc_value'] / round($coupon['pc_value'], 2) == 1 && $coupon['pc_type'] == "percent")
? round($coupon['pc_value'], 2)
: number_format($coupon['pc_value'], 2, ',', '.')),
($coupon['pc_type'] == "percent" ? "%" :$genSet->get('currency_unit'))));
$tpl->setVariable("LOOP_REMOVE", "<div class=\"il_ContainerItemCommands\" style=\"float: right;\"><a class=\"il_ContainerItemCommand\" href=\"".$this->ctrl->getLinkTarget($this, 'removeCoupon')."\">".$this->lng->txt('remove')."</a></div>");
$tpl->parseCurrentBlock();
}
}
return $tpl->get();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::showItems ( )

http://uk.epay.dk/support/docs.asp?solution=2#pfinput

Definition at line 480 of file class.ilShopShoppingCartGUI.php.

References $_SESSION, $pay_method, ilShopBaseGUI\$tpl, ilShopUtils\_formatVAT(), ilPaymentPrices\_getGUIPrice(), ilPaymentSettings\_getInstance(), _getPayMethods(), ilPaymentPrices\_getPrice(), ilPaymentPrices\_getPriceString(), _getTemplateFilename(), initShoppingCartObject(), ilUtil\sendInfo(), showCouponInput(), and showItemsTable().

Referenced by cancelEPay(), cancelPaypal(), deleteItem(), finishPaypal(), removeCoupon(), setCoupon(), and validateNewUser().

{
global $ilObjDataCache, $ilUser, $ilToolbar;
include_once './Services/Payment/classes/class.ilPaymentPrices.php';
include_once './Services/Payment/classes/class.ilPaymentCurrency.php';
$this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.pay_shopping_cart.html','Services/Payment');
if($_SESSION['forceShoppingCartRedirect'] == '1' && $ilUser->getId() != ANONYMOUS_USER_ID)
{
$_SESSION['forceShoppingCartRedirect'] = 0;
$this->tpl->touchBlock("close_js");
return;
}
include_once './Services/Payment/classes/class.ilPaymentSettings.php';
$pay_methods = $this->_getPayMethods( true );
$num_items = 0;
$desc = array();
//course_objects
$is_crs_object = false;
$crs_obj_ids = array();
//file_objects,exercise_objects
$is_file_object = false;
// learning_modules,
$is_lm_object = false;
$lm_obj_ids = array();
# $force_user_login = false;
$ilToolbar->addButton($this->lng->txt('payment_back_to_shop'),'ilias.php?baseClass=ilShopController');
foreach($pay_methods as $pay_method)
{
$this->totalVat = 0;
$tpl = new ilTemplate( $this->_getTemplateFilename( $pay_method['pm_title'] ), true,'Services/Payment');
$coupon_session_id = $pay_method['pm_title'];
if (count($items = $this->psc_obj->getEntries( $pay_method['pm_id'])))
{
$counter = 0;
$paypal_counter = 0;
$total_price = 0;
$total_price_in_default_currency = 0;
$total_vat_in_default_currency = 0;
foreach ($items as $item)
{
$tmp_pobject = new ilPaymentObject($this->user_obj,$item['pobject_id']);
$obj_id = $ilObjDataCache->lookupObjId($tmp_pobject->getRefId());
$obj_type = $ilObjDataCache->lookupType($obj_id);
$obj_title = $ilObjDataCache->lookupTitle($obj_id);
$desc[] = "[" . $obj_type . "] " . $obj_title;
$price_arr = ilPaymentPrices::_getPrice($item['price_id']);
// TODO: CURRENCY
/* $is_default_currency = ((int)$price_arr['currency'] == (int)$this->default_currency['currency_id'] ? true : false);
$is_default_currency
? $item_conversion_rate = (float)$this->default_currency['conversion_rate']
: $item_conversion_rate = ilPaymentCurrency::_getConversionRate($price_arr['currency']);
*/
# checks object_type: needed for purchasing file or crs objects without login
switch ($obj_type)
{
case 'crs':
// if is_crs there an user-account will be autogenerated
$is_crs_object = true;
$_SESSION['is_crs_object'] = true;
$crs_obj_ids[] = $obj_id;
$_SESSION['crs_obj_ids'] = $crs_obj_ids;
break;
case 'lm':
case 'sahs':
case 'htlm':
case 'tst':
$is_lm_object = true;
$_SESSION['is_lm_object'] = true;
$lm_obj_ids[] = $obj_id;
$_SESSION['lm_obj_ids'] = $lm_obj_ids;
break;
case 'exc':
case 'file':
$is_file_object = true;
break;
default:
break;
}
$direct_paypal_info_output = true;
$assigned_coupons = '';
if (!empty($_SESSION['coupons'][$coupon_session_id]))
{
$price = $price_arr['price'];
$item['math_price'] = (float) $price;
foreach ($_SESSION['coupons'][$coupon_session_id] 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 .= $this->lng->txt('paya_coupons_coupon') . ': ' . $coupon['pcc_code'];
$_SESSION['coupons'][$coupon_session_id][$key]['total_objects_coupon_price'] += (float) $price;
$_SESSION['coupons'][$coupon_session_id][$key]['items'][] = $item;
$direct_paypal_info_output = false;
}
}
}
$f_result[$counter]['item'] = ilUtil::formCheckBox(0,'item[]',$item['psc_id']);
if($obj_type == 'exc')
{
$subtype = ' ('.$this->lng->txt($tmp_pobject->getSubtype()).')';
$f_result[$counter]['title'] = "<a href=\"goto.php?target=".$obj_type."_".$tmp_pobject->getRefId() . "\">".$obj_title."</a>".$subtype ;
}
else
$f_result[$counter]['title'] = "<a href=\"repository.php?ref_id=".$tmp_pobject->getRefId() . "\">".$obj_title."</a>".$subtype ;
if ($assigned_coupons != '')
{
// !!! $f_result[$counter][count($f_result[$counter]) - 1] .= $assigned_coupons;
$f_result[$counter]['assigned_coupons'] .= $assigned_coupons;
}
if($price_arr['duration'] == 0)
{
$f_result[$counter]['duration'] = $this->lng->txt('unlimited_duration');
}
else
$f_result[$counter]['duration'] = $price_arr['duration'].' '.$this->lng->txt('paya_months');
$float_price = $price_arr['price'];
$total_price += $float_price;
$oVAT = new ilShopVats((int)$tmp_pobject->getVatId());
$f_result[$counter]['vat_rate'] = ilShopUtils::_formatVAT($oVAT->getRate());
$this->totalVat = $this->totalVat + $tmp_pobject->getVat($float_price);
$f_result[$counter]['price'] = ilPaymentPrices::_getPriceString($item['price_id']).' '.$genSet->get('currency_unit');
$f_result[$counter]['vat_unit'] = ilPaymentPrices::_getGUIPrice($tmp_pobject->getVat($float_price, 'CALCULATION'))
.' '.$genSet->get('currency_unit');
if ($pay_method['pm_title'] == 'paypal')
{
if ($direct_paypal_info_output == true) // Paypal information in hidden fields
{
$tpl->setCurrentBlock('loop_items');
$tpl->setVariable('LOOP_ITEMS_NO', (++$paypal_counter));
$tpl->setVariable('LOOP_ITEMS_NAME', "[".$obj_id."]: ".$obj_title);
$tpl->setVariable('LOOP_ITEMS_AMOUNT', $float_price);
$tpl->parseCurrentBlock('loop_items');
}
}
++$counter;
unset($tmp_pobject);
} // foreach
$this->showItemsTable($tpl, $f_result, $pay_method);
if (!(bool)$genSet->get('hide_coupons'))
{
$tpl->setVariable('COUPON_TABLE', $this->showCouponInput($pay_method['pm_title']));
}
$tpl->setCurrentBlock('buy_link');
# $tpl->setCurrentBlock('terms_checkbox');
$link_target = $this->ctrl->getLinkTargetByClass('iltermsconditionsgui','');
$terms_link = '<a href="'.$link_target.'">'.$this->lng->txt('terms_conditions').'</a>';
$tpl->setVariable('TERMS_CONDITIONS', sprintf($this->lng->txt('accept_terms_conditions'), $terms_link));
switch($pay_method['pm_title'])
{
case 'bill':
if ($this->totalAmount[$pay_method['pm_id']] <= 0 && ANONYMOUS_USER_ID == $ilUser->getId())
{
$tpl->setVariable('TXT_UNLOCK', $this->lng->txt('pay_click_to_buy'));
$tpl->setVariable('LINK_UNLOCK', $this->ctrl->getLinkTarget($this, 'unlockBillObjectsInShoppingCart'));
}
else
{
# Anonymous user has to login
if(ANONYMOUS_USER_ID == $ilUser->getId())
{
ilUtil::sendInfo($this->lng->txt('click_to_continue_info'));
$tpl->setVariable('TXT_BUY', $this->lng->txt('continue'));
$tpl->setVariable('SCRIPT_LINK','login.php?cmd=force_login&login_to_purchase_object=1&forceShoppingCartRedirect=1');
}
else
{
ilUtil::sendInfo($this->lng->txt('click_to_buy_info'));
$tpl->setVariable('TXT_BUY', $this->lng->txt('pay_click_to_buy'));
$tpl->setVariable('SCRIPT_LINK', $this->ctrl->getLinkTargetByClass('ilPurchaseBillGUI', ''));
}
}
break;
case 'bmf':
#$tpl->setVariable("SCRIPT_LINK", './payment.php?view=start_bmf');
if ($this->totalAmount[$pay_method['pm_id']] <= 0 && ANONYMOUS_USER_ID != $ilUser->getId())
{
$tpl->setVariable('TXT_UNLOCK', $this->lng->txt('pay_click_to_buy'));
$tpl->setVariable('LINK_UNLOCK', $this->ctrl->getLinkTarget($this, 'unlockBMFObjectsInShoppingCart'));
}
else
{
# Anonymous user has to login
if(ANONYMOUS_USER_ID == $ilUser->getId())
{
ilUtil::sendInfo($this->lng->txt('click_to_continue_info'));
$tpl->setVariable('TXT_BUY', $this->lng->txt('continue'));
$tpl->setVariable('SCRIPT_LINK','login.php?cmd=force_login&login_to_purchase_object=1&forceShoppingCartRedirect=1');
}
else
{
$tpl->setVariable('TXT_BUY', $this->lng->txt('pay_click_to_buy'));
$tpl->setVariable('SCRIPT_LINK', $this->ctrl->getLinkTargetByClass('ilPurchaseBMFGUI', ''));
}
}
break;
case 'epay':
# Anonymous user has to login
if(ANONYMOUS_USER_ID == $ilUser->getId())
{
$tpl->setVariable('TXT_BUY', $this->lng->txt('pay_click_to_buy'));
$tpl->setVariable('SCRIPT_LINK','login.php?cmd=force_login&login_to_purchase_object=1&forceShoppingCartRedirect=1');
}
else
{
$tpl->setVariable('TXT_BUY', $this->lng->txt('pay_click_to_buy'));
$tpl->setVariable('SCRIPT_LINK', 'https://'.$this->epayConfig['server_host'].$this->epayConfig['server_path']);
$tpl->setVariable('MERCHANT_NUMBER', $this->epayConfig['merchant_number']);
$tpl->setVariable('AMOUNT', $total_price * 100);
$tpl->setVariable('CURRENCY', "208");
$tpl->setVariable('ORDERID', $ilUser->getId()."_".uniqid());
$tpl->setVariable('ACCEPT_URL', ILIAS_HTTP_PATH . "/" . $this->ctrl->getLinkTarget($this, 'finishEPay'));
$tpl->setVariable('DECLINE_URL', ILIAS_HTTP_PATH . "/" . $this->ctrl->getLinkTarget($this, 'cancelEPay'));
$tpl->setVariable('INSTANT_CAPTURE', $this->epayConfig['instant_capture'] ? "1" : "0");
$tpl->setVariable('ADDFEE', 1);
$tpl->setVariable('LANGUAGE', 1);
$tpl->setVariable('GROUP', "");
$tpl->setVariable('CARDTYPE', "");
$tpl->setVariable("CALLBACK_URL", ILIAS_HTTP_PATH . "/Services/Payment/classes/class.ilCallback.php?ilUser=" .$ilUser->getId() . "&pay_method=". PAY_METHOD_EPAY);
$tpl->setVariable('DESCRIPTION', $ilUser->getFullName() . " (" . $ilUser->getEmail() . ") #" . $ilUser->getId() . " " . implode(",", $desc));
$tpl->setVariable('AUTH_MAIL', $this->epayConfig['auth_email']);
$tpl->setVariable('MD5KEY', $this->epSet->generateKeyForEpay(208, $total_price*100, $ilUser->getId()."_".uniqid()));
}
break;
case 'paypal':
if ($this->totalAmount[$pay_method['pm_id']] <= 0 && ANONYMOUS_USER_ID != $ilUser->getId())
{
$tpl->touchBlock('attach_submit_event');
$tpl->setVariable('TXT_BUY', $this->lng->txt('pay_click_to_buy'));
$tpl->setVariable('SCRIPT_LINK', $this->ctrl->getLinkTarget($this, 'unlockPAYPALObjectsInShoppingCart'));
}
else
{
if(ANONYMOUS_USER_ID == $ilUser->getId())# && $force_user_login == true)
{
ilUtil::sendInfo($this->lng->txt('click_to_continue_info'));
$tpl->touchBlock('attach_submit_event');
$tpl->setVariable('TXT_BUY', $this->lng->txt('pay_click_to_buy'));
$tpl->setVariable('SCRIPT_LINK','login.php?cmd=force_login&login_to_purchase_object=1&forceShoppingCartRedirect=1');
}
else
{
$tpl->setCurrentBlock('terms_checkbox');
ilUtil::sendInfo($this->lng->txt('click_to_buy_info'));
$tpl->setVariable('TXT_BUY', $this->lng->txt('pay_click_to_buy'));
$tpl->setVariable('SCRIPT_LINK', 'https://'.$this->paypalConfig['server_host'].$this->paypalConfig['server_path']);
$tpl->parseCurrentBlock('terms_checkbox');
}
}
$tpl->setVariable('POPUP_BLOCKER', $this->lng->txt('popup_blocker'));
$tpl->setVariable('VENDOR', $this->paypalConfig['vendor']);
$tpl->setVariable('RETURN', ILIAS_HTTP_PATH . "/" . $this->ctrl->getLinkTarget($this, 'finishPaypal'));
$tpl->setVariable('CANCEL_RETURN', ILIAS_HTTP_PATH . "/" . $this->ctrl->getLinkTarget($this, 'cancelPaypal'));
$tpl->setVariable('CUSTOM', $ilUser->getId());
$tpl->setVariable('CURRENCY', $genSet->get('currency_unit'));
$tpl->setVariable('PAGE_STYLE', $this->paypalConfig['page_style']);
if (!empty($_SESSION['coupons'][$coupon_session_id]))
{
$coupon_discount_items = $this->psc_obj->calcDiscountPrices($_SESSION['coupons'][$coupon_session_id]);
if (is_array($coupon_discount_items) && !empty($coupon_discount_items))
{
foreach ($coupon_discount_items as $item)
{
$tmp_pobject = new ilPaymentObject($this->user_obj, $item['pobject_id']);
$obj_id = $ilObjDataCache->lookupObjId($tmp_pobject->getRefId());
$obj_title = $ilObjDataCache->lookupTitle($obj_id);
$tmp_amount = round($item['discount_price'], 2);
$loop_items_amount = str_replace(',','.',$tmp_amount);
$tpl->setCurrentBlock('loop_items');
$tpl->setVariable('LOOP_ITEMS_NO', (++$paypal_counter));
$tpl->setVariable('LOOP_ITEMS_NAME', "[".$obj_id."]: ".$obj_title);
$tpl->setVariable('LOOP_ITEMS_AMOUNT',$loop_items_amount );
$tpl->parseCurrentBlock('loop_items');
unset($tmp_pobject);
}
}
}
break;
# $buttonParams["upload"] = 1;
# $buttonParams["charset"] = "utf-8";
# $buttonParams["business"] = $this->paypalConfig["vendor"];
# $buttonParams["currency_code"] = "EUR";
# $buttonParams["return"] = "http://www.databay.de/user/jens/paypal.php";
# $buttonParams["rm"] = 2;
# $buttonParams["cancel_return"] = "http://www.databay.de/user/jens/paypal.php";
# $buttonParams["custom"] = "HALLO";
# $buttonParams["invoice"] = "0987654321";
# if ($enc_data = $this->__encryptButton($buttonParams))
# {
# $tpl->setVariable("ENCDATA", $enc_data);
# }
}
if ($pay_method['pm_title'] == 'paypal')
{
$tpl->setVariable('PAYPAL_HINT', $this->lng->txt('pay_hint_paypal'));
$tpl->setVariable('PAYPAL_INFO', $this->lng->txt('pay_info_paypal'));
}
else if ($pay_method['pm_title'] == 'epay')
{
$tpl->setVariable('EPAY_HINT', $this->lng->txt('pay_hint_epay'));
$tpl->setVariable('EPAY_INFO', $this->lng->txt('pay_info_epay'));
}
$tpl->parseCurrentBlock('buy_link');
$tpl->setCurrentBlock('loop');
unset($f_result);
$tpl->parseCurrentBlock('loop');
$this->tpl->setVariable(''.strtoupper($pay_method['pm_title']).'', $tpl->get());
$num_items += $counter;
}
}
#}
/*
if($_SESSION['tmp_user_account'])
{
$question = $this->lng->txt('have_existing_account');
if($_SESSION['tmp_user_account'])
{
$question .= sprintf($this->lng->txt('have_no_existing_account'), $_SESSION['tmp_user_account']['login'],$_SESSION['tmp_user_account']['passwd'][0]);
}
$question .= $this->lng->txt('please_use_account');
ilUtil::sendQuestion($question);
if($_SESSION['tmp_transaction'] || ANONYMOUS_USER_ID == $ilUser->getId())
{
$this->newUserForm();
}
}
*/
/* if(isset($_SESSION['download_links']))
{
include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
$form = new ilPropertyFormGUI();
$form->setTitle($this->lng->txt('download'));
foreach ($_SESSION['download_links'] as $link)
{
$form_item = new ilNonEditableValueGUI();
$form_item->setValue('<a href='.$link.'>'.$link.'</a>');
$form->addItem($form_item);
$this->tpl->setVariable('FORM', $form->getHTML());
}
$_SESSION['download_links'] = array();
}
/***/
if ($num_items == 0)
{
# ilUtil::sendInfo($this->lng->txt('pay_shopping_cart_empty'));
return false;
}
/* else
{
//$_SESSION['currency_conversion']=null;
return true;
}
*/
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::showItemsTable ( $a_tpl,
  $a_result_set,
  $a_pay_method = 0 
)
private

Definition at line 1036 of file class.ilShopShoppingCartGUI.php.

References $_SESSION, $totalAmount, ilPaymentSettings\_getInstance(), ilPaymentPrices\_getPrice(), and ilPayMethods\getStringByPaymethod().

Referenced by showItems().

{
include_once './Services/Payment/classes/class.ilPaymentSettings.php';
include_once './Services/Payment/classes/class.ilShoppingCartTableGUI.php';
$tbl = new ilShoppingCartTableGUI($this);
$tbl->setId('tbl_id_'.$a_pay_method);
$tbl->setTitle($this->lng->txt('paya_shopping_cart').
" (".$this->lng->txt('payment_system').": ".
ilPayMethods::getStringByPaymethod($a_pay_method['pm_title']) .")");
$coupon_session = $a_pay_method['pm_title'];
$tbl->setRowTemplate("tpl.shop_shoppingcart_row.html", "Services/Payment");
$tbl->addColumn('', 'item', '1%', true);
$tbl->addColumn($this->lng->txt('title'), "table". $a_pay_method['pm_title']."_title", '30%');
$tbl->addColumn($this->lng->txt('duration'), "table". $a_pay_method['pm_title']."_duration", '30%');
$tbl->addColumn($this->lng->txt('vat_rate'), "table". $a_pay_method['pm_title']."_vat_rate", '15%');
$tbl->addColumn($this->lng->txt('vat_unit'), "table". $a_pay_method['pm_title']."_vat_unit", '15%');
$tbl->addColumn($this->lng->txt('price_a'), "table". $a_pay_method['pm_title']."_price", '10%');
$tbl->setPrefix("table". $a_pay_method['pm_title']."_");
$tbl->addMultiCommand('deleteItem', $this->lng->txt('delete'));
// show total amount of costs
$sc_obj = new ilPaymentShoppingCart($this->user_obj);
$totalAmount = $sc_obj->getTotalAmount();
if (!empty($_SESSION['coupons'][$coupon_session]))
{
if (count($items = $sc_obj->getEntries($a_pay_method['pm_id'])))
{
$tbl->setTotalData('TXT_SUB_TOTAL', $this->lng->txt('pay_bmf_subtotal_amount') . ": ");
$tbl->setTotalData('VAL_SUB_TOTAL', number_format($totalAmount[$a_pay_method['pm_id']], 2, ',', '.') . " " . $genSet->get('currency_unit'));
//TODO: CURRENCY #$tbl->setTotalData('VAL_SUB_TOTAL',ilPaymentPrices::_formatPriceToString($totalAmount[$a_pay_method['pm_id']], (int)$this->default_currency['currency_id'] ));
foreach ($_SESSION['coupons'][$coupon_session] 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 ($items as $item)
{
$tmp_pobject = new ilPaymentObject($this->user_obj, $item['pobject_id']);
if ($this->coupon_obj->isObjectAssignedToCoupon($tmp_pobject->getRefId()))
{
$price_data = ilPaymentPrices::_getPrice($item['price_id']);
$price = (float) $price_data['price'];
$total_object_price += $price;
}
unset($tmp_pobject);
}
$current_coupon_bonus = $this->coupon_obj->getCouponBonus($total_object_price);
$totalAmount[$current_coupon_bonus] += $current_coupon_bonus * (-1);
}
$tbl->setTotalData('TXT_COUPON_BONUS', $this->lng->txt('paya_coupons_coupon') . ": ");# . $coupon['pcc_code'] . ": ");
#$tbl->setTotalData('VAL_COUPON_BONUS', number_format($current_coupon_bonus * (-1), 2, ',', '.') . " " . $genSet->get('currency_unit'));
$tbl->setTotalData('VAL_COUPON_BONUS', number_format($totalAmount[$current_coupon_bonus], 2, ',', '.') . " " . $genSet->get('currency_unit'));
if ($totalAmount[$a_pay_method['pm_id']] < 0)
{
$totalAmount[$a_pay_method['pm_id']] = 0;
$this->totalVat = 0;
}
}
}
$this->totalAmount[$a_pay_method['pm_id']] = $totalAmount[$a_pay_method['pm_id']]-($totalAmount[$current_coupon_bonus] * (-1));
$tbl->setTotalData('TXT_TOTAL_AMOUNT', $this->lng->txt('pay_bmf_total_amount').": ");
$tbl->setTotalData('VAL_TOTAL_AMOUNT', number_format($this->totalAmount[$a_pay_method['pm_id']] , 2, ',', '.') . " " . $genSet->get('currency_unit')); #.$item['currency']);
// TODO: CURRENCY
#$currency_conversion_totalvat = (float)$_SESSION['currency_conversion'][$a_pay_method['pm_title']]['total_vat'];
#if($currency_conversion_totalvat > 0) $this->totalVat = $currency_conversion_totalvat;
if ($this->totalVat > 0)
{
$tbl->setTotalData('TXT_TOTAL_VAT', $this->lng->txt('pay_bmf_vat_included') . ": ");
$tbl->setTotalData('VAL_TOTAL_VAT', number_format($this->totalVat , 2, ',', '.') . " " . $genSet->get('currency_unit'));
}
$tbl->setData($a_result_set);
$a_tpl->setVariable('ITEMS_TABLE',$tbl->getCartHTML());
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilShopShoppingCartGUI::unlockBillObjectsInShoppingCart ( )

Definition at line 92 of file class.ilShopShoppingCartGUI.php.

References ilPayMethods\_getIdByTitle().

{
include_once './Services/Payment/classes/class.ilPurchaseBaseGUI.php';
$purchase = new ilPurchaseBaseGUI($this->user_obj, ilPayMethods::_getIdByTitle('paypal'));
$purchase->__addBookings();
$this->ctrl->redirectByClass('ilShopBoughtObjectsGUI', '');
return true;
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::unlockBMFObjectsInShoppingCart ( )

Definition at line 103 of file class.ilShopShoppingCartGUI.php.

References $_SESSION, addBookings(), and ilUtil\sendInfo().

{
$this->addBookings(PAY_METHOD_BMF, 'bmf');
$_SESSION['coupons']['bmf'] = '';
$_SESSION['bmf']['payment_type'] = '';
$_SESSION['bmf']['debit_entry'] = array();
$_SESSION['bmf']['credit_card'] = array();
ilUtil::sendInfo($this->lng->txt('pay_bmf_thanks'), true);
$this->ctrl->redirectByClass('ilShopBoughtObjectsGUI', '');
return true;
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::unlockPAYPALObjectsInShoppingCart ( )

Definition at line 119 of file class.ilShopShoppingCartGUI.php.

References ilPayMethods\_getIdByTitle(), and ilUtil\sendSuccess().

{
include_once './Services/Payment/classes/class.ilPurchaseBaseGUI.php';
$purchase = new ilPurchaseBaseGUI($this->user_obj, ilPayMethods::_getIdByTitle('paypal'));
$purchase->__addBookings();
// global $ilUser;
// $this->addBookings(PAY_METHOD_PAYPAL, 'paypal');
//
// $_SESSION['coupons']['paypal'] = array();
ilUtil::sendSuccess($this->lng->txt('pay_paypal_success'), true);
// if(ANONYMOUS_USER_ID == $ilUser->getId() || isset($_SESSION['user_name']))
// {
// $this->ctrl->redirectByClass('ilShopShoppingCartGUI', '');
// }
// else
// {
$this->ctrl->redirectByClass('ilShopBoughtObjectsGUI', '');
// }
return true;
}

+ Here is the call graph for this function:

ilShopShoppingCartGUI::validateNewUser ( )

Definition at line 1268 of file class.ilShopShoppingCartGUI.php.

References $_POST, $_SESSION, ilShopBaseGUI\$ilias, ilShopBaseGUI\$lng, ilShopBaseGUI\$tpl, ilShopUtils\_assignTransactionToCustomerId(), ilCourseParticipants\_getInstanceByObjId(), ilObjUser\_lookupId(), IL_CRS_MEMBER, ilUtil\sendInfo(), and showItems().

{
global $tpl, $lng, $ilUser, $ilias;
require_once 'Services/User/classes/class.ilObjUser.php';
include_once './Services/Payment/classes/class.ilShopUtils.php';
$obj_user = new ilObjUser();
$user_id = ilObjUser::_lookupId($_POST['user_name']);
$old_user_id = $_SESSION['tmp_transaction']['usr_id'];
$transaction_extern = $_SESSION['tmp_transaction']['tx_id'];
if($user_id != ANONYMOUS_USER_ID && $user_id != $old_user_id && $user_id != NULL)
{
$obj_user = new ilObjUser($user_id);
if($obj_user->getPasswd() == md5($_POST["user_pass"]))
{
ilShopUtils::_assignTransactionToCustomerId($old_user_id, $user_id, $transaction_extern);
// assign new_user_id to crs
if($_SESSION['is_crs_object'] == true)
{
include_once "./Modules/Course/classes/class.ilCourseParticipants.php";
foreach ($_SESSION['crs_obj_ids'] as $obj_id)
{
$members_obj->add($user_id,IL_CRS_MEMBER);
}
}
//delete tmp_shop_user account
if($obj =& $ilias->obj_factory->getInstanceByObjId($old_user_id))
$obj->delete();
$ilUser = new ilObjUser(ANONYMOUS_USER_ID);
ilUtil::sendInfo(sprintf($lng->txt('user_name_accepted'),$_SESSION['tmp_user_account']['login']), true);
unset($_SESSION['tmp_user_account']);
}
$this->showItems();
return true;
}
else
{
$this->showItems();
return true;
}
}

+ Here is the call graph for this function:

Field Documentation

ilShopShoppingCartGUI::$epSet
private

Definition at line 34 of file class.ilShopShoppingCartGUI.php.

ilShopShoppingCartGUI::$paypal_obj = null
private

Definition at line 30 of file class.ilShopShoppingCartGUI.php.

ilShopShoppingCartGUI::$psc_obj = null
private

Definition at line 29 of file class.ilShopShoppingCartGUI.php.

ilShopShoppingCartGUI::$session_id
private

Definition at line 37 of file class.ilShopShoppingCartGUI.php.

ilShopShoppingCartGUI::$totalAmount = array()
private

Definition at line 32 of file class.ilShopShoppingCartGUI.php.

Referenced by showItemsTable().

ilShopShoppingCartGUI::$totalVat = 0
private

Definition at line 33 of file class.ilShopShoppingCartGUI.php.

ilShopShoppingCartGUI::$user_obj
private

Definition at line 28 of file class.ilShopShoppingCartGUI.php.

Referenced by __construct().


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