90 lines
1.9 KiB
PHP
90 lines
1.9 KiB
PHP
<?php
|
|
|
|
use Imoje\Payment\Payment;
|
|
use Imoje\Payment\Twisto;
|
|
use Imoje\Payment\Util;
|
|
|
|
/**
|
|
* Class IMojeTwistoModuleFrontController
|
|
*
|
|
* @property bool display_column_left
|
|
* @property bool display_column_right
|
|
*/
|
|
class IMojeTwistoModuleFrontController extends ModuleFrontController
|
|
{
|
|
|
|
/**
|
|
* Initialize controller
|
|
*
|
|
* @throws PrestaShopException
|
|
* @see FrontController::init()
|
|
*/
|
|
public function init()
|
|
{
|
|
$this->display_column_left = false;
|
|
$this->display_column_right = false;
|
|
parent::init();
|
|
}
|
|
|
|
/**
|
|
* @throws PrestaShopException
|
|
* @throws Exception
|
|
*/
|
|
public function initContent()
|
|
{
|
|
|
|
parent::initContent();
|
|
|
|
$payment = new Payment(
|
|
Configuration::get('IMOJE_SANDBOX')
|
|
? Util::ENVIRONMENT_SANDBOX
|
|
: Util::ENVIRONMENT_PRODUCTION,
|
|
Configuration::get('IMOJE_SERVICE_KEY'),
|
|
Configuration::get('IMOJE_SERVICE_ID'),
|
|
Configuration::get('IMOJE_MERCHANT_ID')
|
|
);
|
|
|
|
$cart = $this->context->cart;
|
|
|
|
if(!$cart->date_upd) {
|
|
Tools::redirect('/');
|
|
|
|
return;
|
|
}
|
|
|
|
$paymentMethods = json_decode(Configuration::get('IMOJE_PAYMENT_METHODS'), true);
|
|
|
|
$twistoData = '';
|
|
|
|
$imoje = new iMoje();
|
|
|
|
if(
|
|
Twisto::isActive(
|
|
$paymentMethods,
|
|
Configuration::get('IMOJE_TWISTO_ENABLED')
|
|
)
|
|
&& !Configuration::get('IMOJE_SANDBOX')
|
|
&& isset($_POST['twistoData'])
|
|
&& $_POST['twistoData']
|
|
&& Util::isJson($_POST['twistoData'])
|
|
) {
|
|
|
|
$twistoData = $_POST['twistoData'];
|
|
}
|
|
|
|
$this->context->smarty->assign([
|
|
'form' => $payment->buildOrderForm(
|
|
$imoje->getDataForRequestToPaywall($cart, $twistoData)
|
|
),
|
|
'checkout_link' => $this->context->link->getPageLink(Configuration::get('PS_ORDER_PROCESS_TYPE')
|
|
? 'order-opc'
|
|
: 'order'),
|
|
'text_return_to_checkout' => $this->module->l('Please wait, you will be returned to checkout.', 'payment'),
|
|
]);
|
|
|
|
$this->setTemplate(IMoje::buildTemplatePath('pay', 'front'));
|
|
|
|
return;
|
|
}
|
|
}
|