| Current Path : /home/megadansyp/www/components/com_eventgallery/views/checkout/ |
| Current File : /home/megadansyp/www/components/com_eventgallery/views/checkout/view.html.php |
<?php
/**
* @package Sven.Bluege
* @subpackage com_eventgallery
*
* @copyright Copyright (C) 2005 - 2019 Sven Bluege All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
jimport('joomla.application.component.view');
class EventgalleryViewCheckout extends EventgalleryLibraryCommonView
{
/**
* @var JDocument
*/
public $document;
/**
* @var \Joomla\CMS\Form\Form
*/
protected $billingform;
/**
* @var EventgalleryLibraryCart
*/
protected $cart;
/**
* @var \Joomla\Component\Eventgallery\Site\Library\Configuration\Main
*/
protected $config;
/**
* @var \Joomla\CMS\Form\Form
*/
protected $shippingform;
/**
* @var JForm
*/
protected $loginform;
protected $state;
/**
* @var JForm
*/
protected $userdataform;
/**
* @var JForm
*/
protected $userdataformwithname;
function display($tpl = null)
{
/**
* @var \Joomla\CMS\Application\CMSApplicationInterface $app
*/
$app = JFactory::getApplication();
$this->state = $this->get('State');
$this->config = \Joomla\Component\Eventgallery\Site\Library\Configuration\Main::getInstance($app->getParams());
/**
* @var EventgalleryModelCheckout $model
*/
$model = $this->getModel('checkout');
/* @var EventgalleryLibraryManagerCart $cartMgr */
$cartMgr = EventgalleryLibraryManagerCart::getInstance();
$this->cart = $cartMgr->getCart();
if ($this->cart->getShippingMethod() != null && !$this->cart->getShippingMethod()->needsAddressData()) {
$skipAddressForms = true;
} else {
$skipAddressForms = false;
}
// set the default view
if ($this->getLayout() == 'default') {
$this->setLayout('review');
}
if ($app->input->getBool('returnfrompayment', false)) {
$app->enqueueMessage(JText::_('COM_EVENTGALLERY_CART_CHECKOUT_CONFIRM_PAYMENT_RETURN'));
}
// if the current layout is not confirm and some details are missing, display the change page.
// if there are no items in the cart, go the the cart page.
if ($this->getLayout() != 'confirm') {
if ($this->cart->getLineItemsCount()==0) {
$app->redirect(
JRoute::_("index.php?option=com_eventgallery&view=cart", false)
);
}
if ($this->cart->getShippingMethodServiceLineItem() == null
|| $this->cart->getPaymentMethodServiceLineItem() == null
|| ($this->cart->getShippingAddress() == null && !$skipAddressForms)
|| ($this->cart->getBillingAddress() == null && !$skipAddressForms)
) {
$this->setLayout('change');
}
}
if ($this->getLayout() == 'change') {
$this->userdataform = $model->getUserDataForm();
$this->userdataform->reset();
$this->userdataform->bind(
array(
'message' => $this->cart->getMessage(),
'email' => $this->cart->getEMail(),
'phone' => $this->cart->getPhone()
)
);
$this->userdataform->bind($app->input->post->getArray());
$this->userdataformwithname = $model->getUserDataFormWithoutAddress();
$this->userdataformwithname->reset();
$this->userdataformwithname->bind(
array(
'firstname' => $this->cart->getFirstname(),
'lastname' => $this->cart->getLastname(),
'message' => $this->cart->getMessage(),
'email' => $this->cart->getEMail(),
'phone' => $this->cart->getPhone()
)
);
$this->userdataformwithname->bind($app->input->post->getArray());
$this->billingform = $model->getBillingAddressForm();
$this->billingform->reset();
if ($this->cart->getBillingAddress() != null) {
$this->billingform->bind($this->cart->getBillingAddress()->_getData('billing_'));
}
$this->billingform->bind($app->input->post->getArray());
$this->shippingform = $model->getShippingAddressForm();
if ($this->cart->getShippingAddress() != null) {
$this->shippingform->bind($this->cart->getShippingAddress()->_getData('shipping_'));
}
$this->shippingform->bind($app->input->post->getArray());
// Get the form.
// Joomla 4 FIX TODO: Delete if not supporting Joomla 3 any longer
JForm::addFormPath(JPATH_BASE . '/components/com_users/models/forms');
JForm::addFieldPath(JPATH_BASE . '/components/com_users/models/fields');
JForm::addFormPath(JPATH_BASE . '/components/com_users/forms');
$this->loginform = JForm::getInstance('com_users.login', 'login');
$script = JUri::root(true) . '/media/com_eventgallery/dist/eventgallery-checkout-change.js?v=' . EVENTGALLERY_VERSION . '&e=' . EVENTGALLERY_EXTENDED;
$this->document->addScript($script);
}
$pathway = $app->getPathWay();
$pathway->addItem(JText::_('COM_EVENTGALLERY_CART_CHECKOUT_PATH'));
$this->_prepareDocument();
parent::display($tpl);
}
/**
* Prepares the document
*/
protected function _prepareDocument()
{
$app = JFactory::getApplication();
$title = null;
$title = $this->config->getMenuItem()->getPageTitle();
$title .= " - " . JText::_('COM_EVENTGALLERY_CART_CHECKOUT_PATH');
// Check for empty title and add site name if param is set
if (empty($title)) {
$title = $app->get('sitename');
} elseif ($app->get('sitename_pagetitles', 0) == 1) {
$title = JText::sprintf('JPAGETITLE', $app->get('sitename'), $title);
} elseif ($app->get('sitename_pagetitles', 0) == 2) {
$title = JText::sprintf('JPAGETITLE', $title, $app->get('sitename'));
}
if ($this->document) {
$this->document->setTitle($title);
}
}
}