Файловый менеджер - Редактировать - /home/lmsyaran/public_html/components/com_phocacart/views/checkout/view.html.php
Назад
<?php /* @package Joomla * @copyright Copyright (C) Open Source Matters. All rights reserved. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php * @extension Phoca Extension * @copyright Copyright (C) Jan Pavelka www.phoca.cz * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL */ defined('_JEXEC') or die(); jimport('joomla.application.component.view'); class PhocaCartViewCheckout extends JViewLegacy { protected $t; protected $r; protected $p; protected $u; protected $gu; protected $item; protected $data; // address data for output protected $form; // address data for form protected $fields;// fields loaded for data and form to check if required fields are filled out protected $cart; protected $s; protected $a; function display($tpl = null) { $document = JFactory::getDocument(); $app = JFactory::getApplication(); $uri = \Joomla\CMS\Uri\Uri::getInstance(); $this->u = PhocacartUser::getUser(); $this->p = $app->getParams(); $this->a = new PhocacartAccess(); $this->s = PhocacartRenderStyle::getStyles(); $guest = PhocacartUserGuestuser::getGuestUser(); $reward = new PhocacartReward(); $this->t['action'] = $uri->toString(); $this->t['actionbase64'] = base64_encode($this->t['action']); $this->t['linkcheckout'] = JRoute::_(PhocacartRoute::getCheckoutRoute()); $this->t['checkout_desc'] = $this->p->get('checkout_desc', ''); $this->t['checkout_desc'] = PhocacartRenderFront::renderArticle($this->t['checkout_desc']); $this->t['stock_checkout'] = $this->p->get('stock_checkout', 0); $this->t['stock_checking'] = $this->p->get('stock_checking', 0); $this->t['guest_checkout'] = $this->p->get('guest_checkout', 0); $this->t['guest_checkout_auto_enable'] = $this->p->get('guest_checkout_auto_enable', 0); $this->t['icon_suffix'] = $this->p->get('icon_suffix', '-circle'); $this->t['display_shipping_desc'] = $this->p->get('display_shipping_desc', 0); $this->t['display_payment_desc'] = $this->p->get('display_payment_desc', 0); $this->t['zero_shipping_price'] = $this->p->get('zero_shipping_price', 1); $this->t['zero_payment_price'] = $this->p->get('zero_payment_price', 1); $this->t['checkout_scroll'] = $this->p->get('checkout_scroll', 1); $this->t['enable_coupons'] = $this->p->get('enable_coupons', 2); $this->t['enable_rewards'] = $this->p->get('enable_rewards', 1); $this->t['checkout_icon_status'] = $this->p->get('checkout_icon_status', 1); $this->t['display_webp_images'] = $this->p->get('display_webp_images', 0); $this->t['skip_shipping_method'] = $this->p->get('skip_shipping_method', 0); $this->t['skip_payment_method'] = $this->p->get('skip_payment_method', 0); $this->t['automatic_shipping_method_setting'] = $this->p->get('automatic_shipping_method_setting', 0); $this->t['automatic_payment_method_setting'] = $this->p->get('automatic_payment_method_setting', 0); $this->t['display_apply_coupon_form'] = $this->p->get('display_apply_coupon_form', 1); $this->t['display_apply_reward_points_form'] = $this->p->get('display_apply_reward_points_form', 1); $this->t['$delivery_billing_same_enabled'] = $this->p->get('delivery_billing_same_enabled', 0); // Message set in Openting Times class PhocacartTime::checkOpeningTimes(); // Enable guest checkout automatically if ($this->t['guest_checkout'] == 1 && $this->t['guest_checkout_auto_enable'] == 1) { //$guest = new PhocacartUserGuestuser(); //$guest->setGuestUser(1); $guest = PhocacartUserGuestuser::setGuestUser(1); } // Terms and Conditions $this->t['display_checkout_toc_checkbox'] = $this->p->get('display_checkout_toc_checkbox', 2); if ($this->t['display_checkout_toc_checkbox'] > 0) { $this->t['terms_conditions_custom_label_text'] = $this->p->get('terms_conditions_custom_label_text', 0); $linkTerms = JRoute::_(PhocacartRoute::getTermsRoute(0, 0, 'tmpl=component')); $defaultText = JText::_('COM_PHOCACART_I_HAVE_READ_AND_AGREE_TO_THE') . ' <a href="' . $linkTerms . '" onclick="phWindowPopup(this.href, \'phWindowPopupTerms\', 2, 1.6);return false;" >' . JText::_('COM_PHOCACART_TERMS_AND_CONDITIONS') . '</a>'; $this->t['terms_conditions_label_text'] = PhocacartRenderFront::renderArticle((int)$this->t['terms_conditions_custom_label_text'], 'html', $defaultText); } // Checkout Privacy checkbox $this->t['display_checkout_privacy_checkbox'] = $this->p->get('display_checkout_privacy_checkbox', 0); if ($this->t['display_checkout_privacy_checkbox'] > 0) { $this->t['checkout_privacy_checkbox_label_text'] = $this->p->get('checkout_privacy_checkbox_label_text', 0); $this->t['checkout_privacy_checkbox_label_text'] = PhocacartRenderFront::renderArticle((int)$this->t['checkout_privacy_checkbox_label_text'], 'html', ''); } // Newsletter $this->t['display_checkout_newsletter_checkbox'] = $this->p->get('display_checkout_newsletter_checkbox', 0); if ($this->t['display_checkout_newsletter_checkbox'] > 0) { $this->t['checkout_newsletter_checkbox_label_text'] = $this->p->get('checkout_newsletter_checkbox_label_text', 0); $this->t['checkout_newsletter_checkbox_label_text'] = PhocacartRenderFront::renderArticle((int)$this->t['checkout_newsletter_checkbox_label_text'], 'html', ''); } $this->t['enable_captcha_checkout'] = PhocacartCaptcha::enableCaptchaCheckout(); $scrollTo = ''; // Not ready yet // Checkout cart can be changed by ajax // But not module cart, no shipping, no payment is refreshed, no plus/minus (touchspin.js) refreshed //PhocacartRenderJs::renderAjaxUpdateCart();// used only in POS // Cart $this->cart = new PhocacartCartRendercheckout(); $this->cart->setFullItems(); if ((int)$this->u->id > 0) { $this->a->login = 1; } else if ($guest) { $this->a->login = 2; } // Shipping and Payment rules will be checked including rounding $this->cart->roundTotalAmount(); // Is there even a shipping or payment (or is active based on criterias) $total = $this->cart->getTotal(); $sOCh = array();// Shipping Options Checkout // PRODUCTTYPE $sOCh['all_digital_products'] = isset($total[0]['countdigitalproducts']) && isset($total[0]['countallproducts']) && (int)$total[0]['countdigitalproducts'] == $total[0]['countallproducts'] ? 1 : 0; $pOCh = array();// Payment Options Checkout $pOCh['order_amount_zero'] = 1; $pOCh['order_amount_zero'] = $total[0]['brutto'] == 0 && $total[0]['netto'] == 0 ? 1 : 0; $this->a->shippingnotused = PhocacartShipping::isShippingNotUsed($sOCh); $this->a->paymentnotused = PhocacartPayment::isPaymentNotUsed($pOCh); // COUPONS - Coupon can be added in payment method or below calculation $this->t['couponcodevalue'] = ''; if ($this->cart->getCouponCode() != '') { $this->t['couponcodevalue'] = $this->cart->getCouponCode(); } // REWARD POINTS - reward points can be added in payment method or below the calculation $this->t['rewards'] = array(); $this->t['rewards']['apply'] = false; if ($this->t['enable_rewards']) { if ($this->u->id > 0) { $this->t['rewards']['needed'] = $this->cart->getRewardPointsNeeded(); $this->t['rewards']['usertotal'] = $reward->getTotalPointsByUserId($this->u->id); $this->t['rewards']['usedvalue'] = ''; if ($this->cart->getRewardPointsUsed() != '' && (int)$this->cart->getRewardPointsUsed() > 0) { $this->t['rewards']['usedvalue'] = $this->cart->getRewardPointsUsed(); } if ($this->t['rewards']['usertotal'] > 0) { $this->t['rewards']['text'] = '<small>(' . JText::_('COM_PHOCACART_AVAILABLE_REWARD_POINTS') . ': ' . (int)$this->t['rewards']['usertotal'] . ', ' . JText::_('COM_PHOCACART_MAXIMUM_REWARD_POINTS_TO_USE') . ': ' . (int)$this->t['rewards']['needed'] . ')</small>'; $this->t['rewards']['apply'] = true; } } } // Numbers $this->t['nl'] = 1; // Login $this->t['na'] = 2; // Address $this->t['ns'] = 3; // Shipping $this->t['np'] = 4; // Payment if ($this->a->shippingnotused == 1) { $this->t['np'] = 3; } if ($this->a->login == 1 || $this->a->login == 2) { // ======= // ADDRESS // ======= $this->t['dataaddressoutput'] = array(); $this->a->addressedit = $app->input->get('addressedit', 0, 'int'); // Edit Address // GUEST if ($this->a->login == 2) { // Check if all form items are filled out by user, if yes, don't load the form and save some queries $this->fields = $this->get('FieldsGuest'); // Fields will be loaded in every case if ($this->a->addressedit == 0) { $this->data = $this->get('DataGuest'); $this->t['dataaddressoutput'] = PhocacartUser::getAddressDataOutput($this->data, $this->fields['array'], $this->u, 1); } //Some required field is not filled out if (isset($this->t['dataaddressoutput']['filled']) && $this->t['dataaddressoutput']['filled'] == 1) { $this->a->addressadded = 1; } else { $this->a->addressadded = 0; } // Load form and fields to edit address if ($this->a->addressadded == 0 || $this->a->addressedit == 1) { $this->a->addressview = 0; $this->a->addressedit = 1; $scrollTo = 'phcheckoutaddressedit'; $this->form = $this->get('FormGuest'); $this->t['dataaddressform'] = PhocacartUser::getAddressDataForm($this->form, $this->fields['array'], '', '', '_phs', 1); } // REGISTERED } else { // Check if all form items are filled out by user, if yes, don't load the form and save some queries $this->fields = $this->get('Fields'); // Fields will be loaded in every case if ($this->a->addressedit == 0) { $this->data = $this->get('Data'); $this->t['dataaddressoutput'] = PhocacartUser::getAddressDataOutput($this->data, $this->fields['array'], $this->u); } //Some required field is not filled out if (isset($this->t['dataaddressoutput']['filled']) && $this->t['dataaddressoutput']['filled'] == 1) { $this->a->addressadded = 1; } else { $this->a->addressadded = 0; } // Load form and fields to edit address if ($this->a->addressadded == 0 || $this->a->addressedit == 1) { $this->a->addressview = 0; $this->a->addressedit = 1; $this->form = $this->get('Form'); $this->t['dataaddressform'] = PhocacartUser::getAddressDataForm($this->form, $this->fields['array'], $this->u); $scrollTo = 'phcheckoutaddressedit'; } } if ($this->a->addressadded == 1 && $this->a->addressedit == 0) { $this->a->addressview = 1; $scrollTo = 'phcheckoutaddressview'; } // ==================== // SHIPPING // ==================== $shipping = new PhocacartShipping(); $country = $shipping->getUserCountryShipping($this->t['dataaddressoutput']); $region = $shipping->getUserRegionShipping($this->t['dataaddressoutput']); $zip = $shipping->getUserZipShipping($this->t['dataaddressoutput']); $this->a->shippingadded = 0; $this->a->shippingedit = $app->input->get('shippingedit', 0, 'int'); // Edit Shipping $shippingId = $this->cart->getShippingId(); // Shipping stored in cart or not? if (isset($shippingId) && (int)$shippingId > 0 && $this->a->shippingedit == 0) { // Shipping method is stored in cart, we can update the cart (add shipping costs to whole cart) $this->a->shippingadded = 1; $this->a->shippingview = 1; $scrollTo = 'phcheckoutshippingview'; $this->cart->addShippingCosts($shippingId); $this->t['shippingmethod'] = $this->cart->getShippingCosts(); // If "automatic_shipping_method_setting" is set to yes, this means that the shipping method will be set automatically in case: // - there is only one shipping method available or only one meets the criteria // - and the parameter is set to yes // It is not possible to edit the method because when switching to edit, the method will be set automatically as wished by enabling the parameter // and redirect outside the editing mode if ($this->t['automatic_shipping_method_setting'] == 1) { //- $shipping = new PhocacartShipping(); $this->t['shippingmethods'] = $shipping->getPossibleShippingMethods($total[0]['netto'], $total[0]['brutto'], $total[0]['quantity'], $country, $region, $zip, $total[0]['weight'], $total[0]['length'], $total[0]['width'], $total[0]['height'], 0, $shippingId); if (!empty($this->t['shippingmethods']) && count($this->t['shippingmethods']) == 1) { $this->a->shippingdisplayeditbutton = 0; } } // Shipping method which was selected is not more active - display edit again if ($this->t['shippingmethod'] == 0) { $this->a->shippingadded = 0; $this->a->shippingedit = 1; $shippingId = 0; } } if (($this->a->shippingedit == 1 || $this->a->shippingadded == 0) && $this->a->addressadded == 1 && $this->a->addressedit == 0 && $this->a->paymentedit == 0) { // Shipping cost is not stored in cart, display possible shipping methods // We ask for total of cart because of amount rule $this->a->shippingadded = 0; $this->a->shippingview = 0; $this->a->shippingedit = 1; $scrollTo = 'phcheckoutshippingedit'; //- $shipping = new PhocacartShipping(); //$shipping->setType(); $total = $this->cart->getTotal(); $this->t['shippingmethods'] = $shipping->getPossibleShippingMethods($total[0]['netto'], $total[0]['brutto'], $total[0]['quantity'], $country, $region, $zip, $total[0]['weight'], $total[0]['length'], $total[0]['width'], $total[0]['height'], 0, $shippingId);//$shippingId = 0 so all possible shipping methods will be listed // If there is only one valid shipping method and it is set in parameter we can directly store this method so user does not need to add it // When setting the shipping method then the cart needs to be "refreshed", shipping costs needs to be added and info about shpping id // must be updated because of payment rules (one of payment rule is shipping) if (!empty($this->t['shippingmethods']) && count($this->t['shippingmethods']) == 1 && $this->t['automatic_shipping_method_setting'] == 1) { if (isset($this->t['shippingmethods'][0]->id) && (int)$this->t['shippingmethods'][0]->id > 0) { $shippingStored = 0; if ($this->a->login == 1 && isset($this->u->id) && $this->u->id > 0) { if ($shipping->storeShippingRegistered($this->t['shippingmethods'][0]->id, $this->u->id)) { $shippingStored = 1; } } else if ($this->a->login == 2) { if (PhocacartUserGuestuser::storeShipping((int)$this->t['shippingmethods'][0]->id)) { $shippingStored = 1; } } if ($shippingStored == 1) { $shippingId = (int)$this->t['shippingmethods'][0]->id;// will be used for payment - updated now $this->cart->addShippingCosts($shippingId); // add the costs to cart so it has updated information $this->t['shippingmethod'] = $this->cart->getShippingCosts(); $this->a->shippingadded = 1; $this->a->shippingview = 1; $this->a->shippingedit = 0; $this->a->shippingdisplayeditbutton = 0; $scrollTo = 'phcheckoutpaymentedit'; } } } // No shipping method found even all rules were applied and shipping methods were searched // THIS CASE CAN BE VENDOR ERROR (wrong setting of shipping methods) OR PURPOSE - be aware when using $skip_shipping_method = 3 // Skip adding/selecting shipping method and allow customer proceeding the order? (depends on parameter: $this->t['skip_shipping_method']) // Must be implemented here because now we know information about total, shipping and address we need for deciding about shipping method // Must cooperate with administrator/components/com_phocacart/libraries/phocacart/order/order.php cca 402 // In this case $this->t['shippingmethod']['id'] is even null, so we don't need to ask $shipping->getPossibleShippingMethods for outcomes with not selected shipping method if (empty($this->t['shippingmethods']) && $this->t['skip_shipping_method'] == 3) { $this->a->shippingnotused = 1; }; } //- } // ================= // PAYMENT (VOUCHER) // ================= $payment = new PhocacartPayment(); $country = $payment->getUserCountryPayment($this->t['dataaddressoutput']); $region = $payment->getUserRegionPayment($this->t['dataaddressoutput']); $this->a->paymentadded = 0; $this->a->paymentedit = $app->input->get('paymentedit', 0, 'int'); // Edit Shipping $this->t['paymentmethod'] = $this->cart->getPaymentMethod(); $paymentMethodId = isset($this->t['paymentmethod']['id']) && (int)$this->t['paymentmethod']['id'] > 0 ? (int)$this->t['paymentmethod']['id']: 0; if ((int)$paymentMethodId > 0 && $this->a->paymentedit == 0) { $this->cart->addPaymentCosts($paymentMethodId);// validity of payment will be checked $this->t['paymentmethod'] = $this->cart->getPaymentCosts(); $this->a->paymentadded = 1; $this->a->paymentview = 1; $scrollTo = 'phcheckoutpaymentview'; // If "automatic_payment_method_setting" is set to yes, this means that the payment method will be set automatically in case: // - there is only one payment method available or only one meets the criteria // - and the parameter is set to yes // It is not possible to edit the method because when switching to edit, the method will be set automatically as wished by enabling the parameter // and redirect outside the editing mode if ($this->t['automatic_payment_method_setting'] == 1) { //$payment = new PhocacartPayment(); $shippingId = $this->cart->getShippingId();// Shipping stored in cart or not? $this->t['paymentmethods'] = $payment->getPossiblePaymentMethods($total[0]['netto'], $total[0]['brutto'], $country, $region, $shippingId, 0, $paymentMethodId); if (!empty($this->t['paymentmethods']) && count($this->t['paymentmethods']) == 1) { $this->a->paymentdisplayeditbutton = 0; } } // Payment method which was selected is not more active - display edit again if ($this->t['paymentmethod'] == 0) { $paymentMethodId = 0; $this->a->paymentadded = 0; $this->a->paymentedit = 1; } } if (($this->a->paymentedit == 1 || $this->a->paymentadded == 0) && $this->a->addressadded == 1 && $this->a->addressedit == 0 && (($this->a->shippingadded == 1 && $this->a->shippingedit == 0) || $this->a->shippingnotused == 1)) { // Payment cost is not stored in cart, display possible payment methods // We ask for total of cart because of amount rule $this->a->paymentadded = 0; $this->a->paymentview = 0; $this->a->paymentedit = 1; $scrollTo = 'phcheckoutpaymentedit'; //$payment = new PhocacartPayment(); $shippingId = $this->cart->getShippingId();// Shipping stored in cart or not? $total = $this->cart->getTotal(); $this->t['paymentmethods'] = $payment->getPossiblePaymentMethods($total[0]['netto'], $total[0]['brutto'], $country, $region, $shippingId, 0, $paymentMethodId); // If there is only one valid payment method and it is set in parameter we can directly store this method so user does not need to add it // When setting the payment method then the cart needs to be "refreshed", payment costs needs to be added and info about shpping id // must be updated because of payment rules (one of payment rule is payment) if (!empty($this->t['paymentmethods']) && count($this->t['paymentmethods']) == 1 && $this->t['automatic_payment_method_setting'] == 1) { if (isset($this->t['paymentmethods'][0]->id) && (int)$this->t['paymentmethods'][0]->id > 0) { $paymentStored = 0; if ($this->a->login == 1 && isset($this->u->id) && $this->u->id > 0) { if ($payment->storePaymentRegistered($this->t['paymentmethods'][0]->id, $this->u->id)) { $paymentStored = 1; } } else if ($this->a->login == 2) { if (PhocacartUserGuestuser::storePayment((int)$this->t['paymentmethods'][0]->id)) { $paymentStored = 1; } } if ($paymentStored == 1) { $paymentId = (int)$this->t['paymentmethods'][0]->id;// will be used for payment - updated now $this->cart->addPaymentCosts($paymentId); // add the costs to cart so it has updated information // validity of payment will be checked $this->t['paymentmethod'] = $this->cart->getPaymentCosts(); $this->a->paymentadded = 1; $this->a->paymentview = 1; $this->a->paymentedit = 0; $this->a->paymentdisplayeditbutton = 0; $scrollTo = 'phcheckoutpaymentview'; } } } // No payment method found even all rules were applied and payment methods were searched // THIS CASE CAN BE VENDOR ERROR (wrong setting of shipping methods) OR PURPOSE - be aware when using $skip_shipping_method = 3 // Skip adding/selecting payment method and allow customer proceeding the order? (depends on parameter: $this->t['skip_shipping_method']) // Must be implemented here because now we know information about total, shipping and address we need for deciding about payment method // Must cooperate with administrator/components/com_phocacart/libraries/phocacart/order/order.php cca 402 // In this case $this->t['paymentmethod']['id'] is even null, so we don't need to ask $payment->getPossiblePaymentMethods for outcomes with not selected payment method if (empty($this->t['paymentmethods']) && $this->t['skip_payment_method'] == 3) { $this->a->paymentnotused = true; }; /* BOTH COUPON OR REWARD POINTS CAN BE SET BEFORE PAYMENT // COUPON $this->t['couponcodevalue'] = ''; if ($this->cart->getCouponCode() != '') { $this->t['couponcodevalue'] = $this->cart->getCouponCode(); } // REWARD POINTS $this->t['rewards'] = array(); $this->t['rewards']['apply'] = false; if ($this->t['enable_rewards']) { if ($this->u->id > 0) { $this->t['rewards']['needed'] = $this->cart->getRewardPointsNeeded(); $this->t['rewards']['usertotal'] = $reward->getTotalPointsByUserId($this->u->id); $this->t['rewards']['usedvalue'] = ''; if ($this->cart->getRewardPointsUsed() != '' && (int)$this->cart->getRewardPointsUsed() > 0) { $this->t['rewards']['usedvalue'] = $this->cart->getRewardPointsUsed(); } if ($this->t['rewards']['usertotal'] > 0) { $this->t['rewards']['text'] = '<small>('.JText::_('COM_PHOCACART_AVAILABLE_REWARD_POINTS').': '.(int)$this->t['rewards']['usertotal'].', '.JText::_('COM_PHOCACART_MAXIMUM_REWARD_POINTS_TO_USE').': '.(int)$this->t['rewards']['needed'].')</small>'; $this->t['rewards']['apply'] = true; } } } */ } //- } //- PhocacartRenderJs::renderBillingAndShippingSame(); } // Rounding set before checking shipping and payment method // $this->cart->roundTotalAmount(); // CART IS EMPTY - MUST BE CHECKED BEFOR CONFIRM // Don't allow to add or edit payment or shipping method, don't allow to confirm the order if (empty($this->cart->getItems())) { $this->a->shippingnotused = 1; $this->a->paymentnotused = 1; $this->a->confirm = 0; } if ($this->a->shippingnotused == 1) { $this->a->shippingview = 1; if ($scrollTo == 'phcheckoutshippingedit') { $scrollTo = ''; } } if ($this->a->paymentnotused == 1) { $this->a->paymentview = 1; if ($scrollTo == 'phcheckoutpaymentedit') { $scrollTo = ''; } } // VIEW - CONFIRM - all items added if (($this->a->login == 1 || $this->a->login == 2) && $this->a->addressview == 1 && $this->a->shippingview == 1 && $this->a->paymentview == 1) { $this->a->confirm = 1; // Custom "Confirm Order" Text $total = $this->cart->getTotal(); $totalBrutto = isset($total[0]['brutto']) ? $total[0]['brutto'] : 0; $this->t['confirm_order_text'] = PhocacartRenderFront::getConfirmOrderText($totalBrutto); } $media = PhocacartRenderMedia::getInstance('main'); $media->loadBase(); $media->loadChosen(); $media->loadWindowPopup(); $media->loadTouchSpin('quantity', $this->s['i']); //PhocacartRenderJs::renderAjaxUpdateCart(); used only in POS //Scroll to if ($this->t['checkout_scroll'] == 0) { $scrollTo = ''; } if ($scrollTo == '') { } else if ($scrollTo == 'phcheckoutaddressedit' || $scrollTo == 'phcheckoutshippingedit' || $scrollTo == 'phcheckoutpaymentedit') { PhocacartRenderJs::renderJsScrollTo($scrollTo, 2); } else if ($scrollTo == 'phcheckoutpaymentview') { // last view - in fact phcheckoutconfirmedit PhocacartRenderJs::renderJsScrollTo($scrollTo, 1); } else { PhocacartRenderJs::renderJsScrollTo('', 2); } // Render the cart (here because it can be changed above - shipping can be added) //$total = $this->cart->getTotal(); $this->t['cartoutput'] = $this->cart->render(); $this->t['cartempty'] = $this->cart->getCartCountItems() > 0 ? false : true; $this->t['stockvalid'] = $this->cart->getStockValid(); $this->t['minqtyvalid'] = $this->cart->getMinimumQuantityValid(); $this->t['minmultipleqtyvalid'] = $this->cart->getMinimumMultipleQuantityValid(); $media->loadSpec(); $this->_prepareDocument(); // Plugins ------------------------------------------ $this->t['total'] = $total; JPluginHelper::importPlugin('pcv'); //$this->t['dispatcher'] = J EventDispatcher::getInstance(); $this->t['event'] = new stdClass; $results = \JFactory::getApplication()->triggerEvent('PCVonCheckoutAfterCart', array('com_phocacart.checkout', $this->a, &$this->p, $this->t['total'])); $this->t['event']->onCheckoutAfterCart = trim(implode("\n", $results)); $results = \JFactory::getApplication()->triggerEvent('PCVonCheckoutAfterLogin', array('com_phocacart.checkout', $this->a, &$this->p, $this->t['total'])); $this->t['event']->onCheckoutAfterLogin = trim(implode("\n", $results)); $results = \JFactory::getApplication()->triggerEvent('PCVonCheckoutAfterAddress', array('com_phocacart.checkout', $this->a, &$this->p, $this->t['total'])); $this->t['event']->onCheckoutAfterAddress = trim(implode("\n", $results)); $results = \JFactory::getApplication()->triggerEvent('PCVonCheckoutAfterShipping', array('com_phocacart.checkout', $this->a, &$this->p, $this->t['total'])); $this->t['event']->onCheckoutAfterShipping = trim(implode("\n", $results)); $results = \JFactory::getApplication()->triggerEvent('PCVonCheckoutAfterPayment', array('com_phocacart.checkout', $this->a, &$this->p, $this->t['total'])); $this->t['event']->onCheckoutAfterPayment = trim(implode("\n", $results)); $results = \JFactory::getApplication()->triggerEvent('PCVonCheckoutAfterConfirm', array('com_phocacart.checkout', $this->a, &$this->p, $this->t['total'])); $this->t['event']->onCheckoutAfterConfirm = trim(implode("\n", $results)); // END Plugins -------------------------------------- $media->loadSpec(); parent::display($tpl); } protected function _prepareDocument() { PhocacartRenderFront::prepareDocument($this->document, $this->p, false, false, JText::_('COM_PHOCACART_CHECKOUT')); } } ?>
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка