/** * Reads the vat datasets from database. * * @access public * @return ilShopVatsList * */ public function read() { $this->vat_list = array(); $query = "SELECT * FROM payment_vats "; $query .= "WHERE 1 = 1 "; if (!in_array($this->getOrderColumn(), array('vat_title', 'vat_rate'))) { $this->setOrderColumn('vat_rate'); $this->setOrderDirection('ASC'); } $order_limit = " ORDER BY " . $this->getOrderColumn() . " " . strtoupper($this->getOrderDirection()) . " "; if ((int) $this->getListMax()) { $order_limit .= "LIMIT " . $this->getListStart() . ", " . $this->getListMax(); } $res = $this->db->query($query . $order_limit); while ($row = $this->db->fetchObject($res)) { $oVAT = new ilShopVats(); $oVAT->setId($row->vat_id); $oVAT->setTitle($row->vat_title); $oVAT->setRate($row->vat_rate); $this->vat_list[$oVAT->getId()] = $oVAT; } $res = $this->db->query(str_replace('*', 'COUNT(vat_id) AS num_vat_list', $query)); while ($row = $this->db->fetchObject($res)) { $this->num_vat_list = $row->num_vat_list; break; } return $this; }
public function saveVatObject() { $this->initVatForm('create'); if (!$this->form->checkInput()) { $this->form->setValuesByPost(); $this->tpl->setContent($this->form->getHtml()); return true; } if (!ilShopUtils::_checkVATRate($this->form->getInput('vat_rate'))) { $this->form->getItemByPostVar('vat_rate')->setAlert($this->lng->txt('payment_vat_input_invalid')); $this->form->setValuesByPost(); $this->tpl->setContent($this->form->getHtml()); return true; } try { $oVAT = new ilShopVats(); $oVAT->setTitle($this->form->getInput('vat_title')); $oVAT->setRate((double) str_replace(',', '.', $this->form->getInput('vat_rate'))); $oVAT->save(); } catch (ilShopException $e) { ilUtil::sendInfo($e->getMessage()); $this->form->setValuesByPost(); $this->tpl->setContent($this->form->getHtml()); return true; } ilUtil::sendInfo($this->lng->txt('saved')); $this->vatsObject(); return true; }
public function showItems() { 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'); // var_dump($_SESSION['shop_user_id']); // if(isset($_SESSION['shop_user_id'])) // { // // $this->user_obj->_toggleActiveStatusOfUsers(array($this->user_obj->getId()), 1); // } if ($_SESSION['forceShoppingCartRedirect'] == '1') { $_SESSION['forceShoppingCartRedirect'] = 0; $this->tpl->touchBlock("close_js"); return true; } $this->initShoppingCartObject(); include_once './Services/Payment/classes/class.ilPaymentSettings.php'; $genSet = ilPaymentSettings::_getInstance(); $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(); if ($genSet->get('show_sr_shoppingcart') == 1) { require_once 'Services/RTE/classes/class.ilRTE.php'; $regulations = ilRTE::_replaceMediaObjectImageSrc($genSet->get('statutory_regulations'), 1); $this->tpl->setVariable('REGULATIONS_TITLE', $this->lng->txt('statutory_regulations')); $this->tpl->setVariable('REGULATIONS', $regulations); } $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; 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']); # 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'] = (double) $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'] += (double) $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']); $subtype = ''; 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=\"ilias.php?baseClass=ilRepositoryGUI&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; } switch ($price_arr['price_type']) { case ilPaymentPrices::TYPE_DURATION_MONTH: $f_result[$counter]['duration'] = $price_arr['duration'] . ' ' . $this->lng->txt('paya_months'); break; case ilPaymentPrices::TYPE_DURATION_DATE: $f_result[$counter]['duration'] = ilDatePresentation::formatDate(new ilDate($price_arr['duration_from'], IL_CAL_DATE)) . ' - ' . ilDatePresentation::formatDate(new ilDate($price_arr['duration_until'], IL_CAL_DATE)); break; case ilPaymentPrices::TYPE_UNLIMITED_DURATION: $f_result[$counter]['duration'] = $this->lng->txt('unlimited_duration'); break; } $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) { $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 == $this->user_obj->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 == $this->user_obj->getId()) { ilUtil::sendInfo($this->lng->txt('click_to_continue_info')); $tpl->touchBlock('attach_submit_event_bill'); $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', '')); $tpl->parseCurrentBlock('terms_checkbox'); } } break; case 'bmf': #$tpl->setVariable("SCRIPT_LINK", './payment.php?view=start_bmf'); if ($this->totalAmount[$pay_method['pm_id']] <= 0 && ANONYMOUS_USER_ID != $this->user_obj->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 == $this->user_obj->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 // { // /// http://uk.epay.dk/support/docs.asp?solution=2#pfinput // $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="******"&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 != $this->user_obj->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 == $this->user_obj->getId()) { 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', $this->user_obj->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; } 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 ($num_items == 0) { # ilUtil::sendInfo($this->lng->txt('pay_shopping_cart_empty')); return false; } return true; }
function getVat($a_amount = 0, $type = 'CALCULATION') { $oVAT = new ilShopVats($this->getVatId()); switch ($type) { case 'CALCULATION': $val = (double) ($a_amount - round($a_amount / (1 + $oVAT->getRate() / 100) * 100) / 100); return number_format((double) $val, '2', '.', ''); default: $val = (double) ($a_amount - round($a_amount / (1 + $oVAT->getRate() / 100) * 100) / 100); $val = ilShopUtils::_formatFloat($val); return $val; } }
public function saveCustomer() { global $ilObjDataCache; if (!isset($_GET['sell_id'])) { ilUtil::sendInfo($this->lng->txt('paya_error_no_object_id_given')); $this->showObjectSelector(); return true; } if (!isset($_GET['user_id'])) { ilUtil::sendInfo($this->lng->txt('paya_error_no_user_id_given')); $this->searchUser(); return true; } if ($_POST["pay_method"] == "" || $_POST["duration"] == "") { ilUtil::sendInfo($this->lng->txt('paya_error_mandatory_fields')); $this->addCustomer(); return true; } $pObjectId = ilPaymentObject::_lookupPobjectId($_GET["sell_id"]); $obj = new ilPaymentObject($this->user_obj, $pObjectId); $this->__initBookingObject(); $transaction = ilInvoiceNumberPlaceholdersPropertyGUI::_generateInvoiceNumber($_GET["user_id"]); $this->booking_obj->setTransaction($transaction); $this->booking_obj->setTransactionExtern($_POST["transaction"]); $this->booking_obj->setPobjectId($pObjectId); $this->booking_obj->setCustomerId($_GET["user_id"]); $this->booking_obj->setVendorId($obj->getVendorId()); $this->booking_obj->setPayMethod((int) $_POST["pay_method"]); $this->booking_obj->setOrderDate(time()); $price = ilPaymentPrices::_getPrice($_POST["duration"]); $this->booking_obj->setDuration($price["duration"]); $this->booking_obj->setAccessExtension($price['extension']); switch ((int) $price['price_type']) { case ilPaymentPrices::TYPE_UNLIMITED_DURATION: $this->booking_obj->setDuration(0); break; case ilPaymentPrices::TYPE_DURATION_DATE: $this->booking_obj->setAccessStartdate($price['duration_from']); $this->booking_obj->setAccessEnddate($price['duration_until']); $this->booking_obj->setDuration(0); break; default: case ilPaymentPrices::TYPE_DURATION_MONTH: $this->booking_obj->setDuration($price["duration"]); break; } $this->booking_obj->setPriceType($price['price_type']); $this->booking_obj->setPrice(ilPaymentPrices::_getPriceString($_POST["duration"])); $this->booking_obj->setAccess((int) $_POST['access']); $this->booking_obj->setPayed((int) $_POST['payed']); $this->booking_obj->setVoucher(''); $obj_id = $ilObjDataCache->lookupObjId($obj->getRefId()); $obj_type = $ilObjDataCache->lookupType($obj_id); $obj_title = $ilObjDataCache->lookupTitle($obj_id); include_once 'Services/Payment/classes/class.ilShopVatsList.php'; $oVAT = new ilShopVats((int) $obj->getVatId()); $obj_vat_rate = $oVAT->getRate(); $obj_vat_unit = $obj->getVat($this->booking_obj->getPrice()); $this->booking_obj->setObjectTitle($obj_title); $this->booking_obj->setVatRate($obj_vat_rate); $this->booking_obj->setVatUnit($obj_vat_unit); include_once './Services/Payment/classes/class.ilPaymentSettings.php'; $genSet = ilPaymentSettings::_getInstance(); $this->booking_obj->setCurrencyUnit($genSet->get('currency_unit')); include_once './Services/Payment/classes/class.ilPayMethods.php'; if (ilPayMethods::_EnabledSaveUserAddress((int) $_POST["pay_method"]) == 1) { /** * @class $ilObjUser ilObjUser */ global $ilObjUser; $user_id[] = $_GET["user_id"]; $cust_obj = ilObjUser::_readUsersProfileData($user_id); $this->booking_obj->setStreet($cust_obj[$_GET["user_id"]]['street'], ''); $this->booking_obj->setZipcode($cust_obj[$_GET["user_id"]]['zipcode']); $this->booking_obj->setCity($cust_obj[$_GET["user_id"]]['city']); $this->booking_obj->setCountry($cust_obj[$_GET["user_id"]]['country']); } if ($this->booking_obj->add()) { // add purchased item to desktop ilShopUtils::_addPurchasedObjToDesktop($obj, $this->booking_obj->getCustomerId()); // autosubscribe user if purchased object is a course if ($obj_type == 'crs') { ilShopUtils::_assignPurchasedCourseMemberRole($obj, $this->booking_obj->getCustomerId()); } ilUtil::sendInfo($this->lng->txt('paya_customer_added_successfully')); $this->showStatistics(); } else { ilUtil::sendInfo($this->lng->txt('paya_error_adding_customer')); $this->addCustomer(); } return true; }
public function __showShoppingCart() { include_once './Services/Payment/classes/class.ilPaymentSettings.php'; $genSet = ilPaymentSettings::_getInstance(); $this->psc_obj = new ilPaymentShoppingCart($this->user_obj); if (!count($items = $this->psc_obj->getEntries($this->pm_id))) { ilUtil::sendInfo($this->lng->txt('pay_shopping_cart_empty')); } $counter = 0; foreach ($items as $item) { $tmp_pobject = new ilPaymentObject($this->user_obj, $item['pobject_id']); $tmp_obj = ilObjectFactory::getInstanceByRefId($tmp_pobject->getRefId(), false); $price_arr = ilPaymentPrices::_getPrice($item['price_id']); $assigned_coupons = ''; if (!empty($_SESSION['coupons'][$this->session_var])) { foreach ($_SESSION['coupons'][$this->session_var] 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']; } } } $f_result[$counter]['item'] = ''; if ($tmp_obj) { $f_result[$counter]['title'] = $tmp_obj->getTitle(); } else { $f_result[$counter]['title'] = $this->lng->txt('object_not_found'); } if ($assigned_coupons != '') { $f_result[$counter][count($f_result[$counter]) - 1] .= $assigned_coupons; } switch ($price_arr['price_type']) { case ilPaymentPrices::TYPE_DURATION_MONTH: $f_result[$counter]['duration'] = $price_arr['duration'] . ' ' . $this->lng->txt('paya_months'); break; case ilPaymentPrices::TYPE_DURATION_DATE: $f_result[$counter]['duration'] = ilDatePresentation::formatDate(new ilDate($price_arr['duration_from'], IL_CAL_DATE)) . ' - ' . ilDatePresentation::formatDate(new ilDate($price_arr['duration_until'], IL_CAL_DATE)); break; case ilPaymentPrices::TYPE_UNLIMITED_DURATION: $f_result[$counter]['duration'] = $this->lng->txt('unlimited_duration'); break; } $oVAT = new ilShopVats((int) $tmp_pobject->getVatId()); $f_result[$counter]['vat_rate'] = ilShopUtils::_formatVAT($oVAT->getRate()); $float_price = $price_arr['price']; $f_result[$counter]['vat_unit'] = $tmp_pobject->getVat($float_price, 'GUI') . ' ' . $genSet->get('currency_unit'); $this->totalVat = $this->totalVat + $tmp_pobject->getVat($float_price); $f_result[$counter]['price'] = number_format($float_price, 2, ',', '.') . ' ' . $genSet->get('currency_unit'); unset($tmp_obj); unset($tmp_pobject); ++$counter; } return $this->__showItemsTable($f_result); }
function getShoppingCart($a_pay_method = 0) { if (!count($items = $this->getEntries($a_pay_method))) { return 0; } $counter = 0; $f_result = array(); foreach ($items as $item) { $tmp_pobject = new ilPaymentObject($this->user_obj, $item['pobject_id']); $tmp_obj = ilObjectFactory::getInstanceByRefId($tmp_pobject->getRefId(), false); $f_result[$counter]["psc_id"] = $item['psc_id']; $f_result[$counter]["pobject_id"] = $item['pobject_id']; if ($tmp_obj) { $f_result[$counter]["obj_id"] = $tmp_obj->getId(); $f_result[$counter]["type"] = $tmp_obj->getType(); $f_result[$counter]["object_title"] = $tmp_obj->getTitle(); } else { global $lng; $f_result[$counter]["obj_id"] = ''; $f_result[$counter]["type"] = ''; $f_result[$counter]["object_title"] = $lng->txt('object_deleted'); } $price_data = ilPaymentPrices::_getPrice($item['price_id']); $price_string = ilPaymentPrices::_getPriceString($item['price_id']); $price = number_format($price_data['price'], 2, '.', ''); $f_result[$counter]["price"] = $price; $f_result[$counter]["price_string"] = $price_string; $f_result[$counter]['extension'] = $price_data['extension']; require_once './Services/Payment/classes/class.ilShopVats.php'; $oVAT = new ilShopVats((int) $tmp_pobject->getVatId()); $f_result[$counter]['vat_rate'] = $oVAT->getRate(); $f_result[$counter]['vat_unit'] = $tmp_pobject->getVat($price); $f_result[$counter]["duration"] = $price_data["duration"]; $f_result[$counter]['unlimited_duration'] = $price_data['unlimited_duration']; $f_result[$counter]["price_type"] = $price_data["price_type"]; $f_result[$counter]["duration_from"] = $price_data["duration_from"]; $f_result[$counter]["duration_until"] = $price_data["duration_until"]; $f_result[$counter]["description"] = $price_data["description"]; unset($tmp_obj); unset($tmp_pobject); ++$counter; } return $f_result; }
public function showObjects() { /** * @var $ilToolbar ilToolbarGUI */ global $ilToolbar; include_once './Services/Payment/classes/class.ilPayMethods.php'; $ilToolbar->addButton($this->lng->txt('paya_sell_object'), $this->ctrl->getLinkTarget($this, 'showObjectSelector')); if (!$_POST['show_filter'] && $_POST['updateView'] == '1') { $this->resetObjectFilter(); } else { if ($_POST['updateView'] == 1) { $_SESSION['pay_objects']['updateView'] = $_POST['updateView']; $_SESSION['pay_objects']['show_filter'] = $_POST['show_filter']; $_SESSION['pay_objects']['title_type'] = $_POST['title_type']; $_SESSION['pay_objects']['title_value'] = $_POST['title_value']; $_SESSION['pay_objects']['pay_method'] = $_POST['pay_method']; $_SESSION['pay_objects']['vendor'] = $_POST['vendor']; } } $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.main_view.html', 'Services/Payment'); $this->__initPaymentObject(); $this->lng->loadLanguageModule('search'); $filter_form = new ilPropertyFormGUI(); $filter_form->setFormAction($this->ctrl->getFormAction($this)); $filter_form->setTitle($this->lng->txt('pay_filter')); $filter_form->setId('filter_form'); $filter_form->setTableWidth('100 %'); //hide_filter $o_hide_check = new ilCheckBoxInputGUI($this->lng->txt('show_filter'), 'show_filter'); $o_hide_check->setValue(1); $o_hide_check->setChecked($_SESSION['pay_objects']['show_filter'] ? 1 : 0); $o_hidden = new ilHiddenInputGUI('updateView'); $o_hidden->setValue(1); $o_hidden->setPostVar('updateView'); $o_hide_check->addSubItem($o_hidden); //title $radio_group = new ilRadioGroupInputGUI($this->lng->txt('search_in_title'), 'title_type'); $radio_option = new ilRadioOption($this->lng->txt('search_any_word'), 'or'); $radio_group->addOption($radio_option); $radio_option = new ilRadioOption($this->lng->txt('search_all_words'), 'and'); $radio_group->addOption($radio_option); $radio_group->setRequired(false); $radio_group->setValue('or'); $radio_group->setPostVar('title_type'); $o_title = new ilTextInputGUI(); $o_title->setValue($_SESSION['pay_objects']['title_value']); $o_title->setPostVar('title_value'); $o_title->setTitle($this->lng->txt('title')); $o_hide_check->addSubItem($radio_group); $o_hide_check->addSubItem($o_title); //vendor $o_vendor = new ilTextInputGUI(); $o_vendor->setTitle($this->lng->txt('paya_vendor')); $o_vendor->setValue($_SESSION['pay_objects']['vendor']); $o_vendor->setPostVar('vendor'); $o_hide_check->addSubItem($o_vendor); // paymethod $o_paymethod = new ilSelectInputGUI(); $o_paymethod->setTitle($this->lng->txt('payment_system')); $o_paymethod->setOptions(ilPaymethods::getPayMethodsOptions('all')); $o_paymethod->setValue($_SESSION['pay_objects']['pay_method']); $o_paymethod->setPostVar('pay_method'); $o_hide_check->addSubItem($o_paymethod); $filter_form->addCommandButton('showObjects', $this->lng->txt('pay_update_view')); $filter_form->addCommandButton('resetObjectFilter', $this->lng->txt('pay_reset_filter')); $filter_form->addItem($o_hide_check); if (!count($objects = ilPaymentObject::_getObjectsData($this->user_obj->getId()))) { ilUtil::sendInfo($this->lng->txt('paya_no_objects_assigned')); return true; } $this->tpl->setVariable('FORM', $filter_form->getHTML()); $counter = 0; foreach ($objects as $data) { /** @var $tmp_obj ilObject */ $tmp_obj = ilObjectFactory::getInstanceByRefId($data['ref_id'], false); if ($tmp_obj) { $f_result[$counter]['title'] = $tmp_obj->getTitle(); } else { $f_result[$counter]['title'] = $this->lng->txt('object_not_found'); } switch ($data['status']) { case $this->pobject->STATUS_BUYABLE: $f_result[$counter]['status'] = $this->lng->txt('paya_buyable'); break; case $this->pobject->STATUS_NOT_BUYABLE: $f_result[$counter]['status'] = $this->lng->txt('paya_not_buyable'); break; case $this->pobject->STATUS_EXPIRES: $f_result[$counter]['status'] = $this->lng->txt('paya_expires'); break; } $str_paymethod = ilPayMethods::getStringByPaymethod($data['pay_method']); $f_result[$counter]['pay_method'] = $str_paymethod; if ($data['vat_id'] <= 0) { $vat_rate = $this->lng->txt('payment_vat_has_to_be_defined_by_administration_short'); } else { try { $oVAT = new ilShopVats((int) $data['vat_id']); $vat_rate = ilShopUtils::_formatVAT((double) $oVAT->getRate()); } catch (ilShopException $e) { $vat_rate = $this->lng->txt('payment_vat_has_to_be_defined_by_administration_short'); } } $f_result[$counter]['vat_rate'] = $vat_rate; /** @var $tmp_user ilObjUser */ $tmp_user = ilObjectFactory::getInstanceByObjId($data['vendor_id']); $f_result[$counter]['vendor'] = $tmp_user->getFullname() . ' [' . $tmp_user->getLogin() . ']'; // Get number of purchasers $f_result[$counter]['purchasers'] = ilPaymentBookings::_getCountBookingsByObject($data['pobject_id']); // edit link $this->ctrl->setParameter($this, 'pobject_id', $data['pobject_id']); $link_change = "<div class=\"il_ContainerItemCommands\"><a class=\"il_ContainerItemCommand\" href=\"" . $this->ctrl->getLinkTarget($this, "editDetails") . "\">" . $this->lng->txt("edit") . "</a></div>"; $f_result[$counter]['options'] = $link_change; unset($tmp_user); unset($tmp_obj); ++$counter; } return $this->__showObjectsTable($f_result); }