/** * handleRequest * * @return void */ public function handleRequest() { if (!empty(\XLite\Core\Request::getInstance()->action) && 'update' != \XLite\Core\Request::getInstance()->action) { $order = $this->getOrder(); if (isset($order)) { $allowedTransactions = $order->getAllowedPaymentActions(); if (isset($allowedTransactions[\XLite\Core\Request::getInstance()->action])) { \XLite\Core\Request::getInstance()->transactionType = \XLite\Core\Request::getInstance()->action; \XLite\Core\Request::getInstance()->action = 'PaymentTransaction'; \XLite\Core\Request::getInstance()->setRequestMethod('POST'); } } } // Set ignoreLongCalculations mode for shipping rates gathering foreach (\XLite\Model\Shipping::getProcessors() as $processor) { if (!$processor instanceof \XLite\Model\Shipping\Processor\Offline && $processor->isPublicConfigured()) { \XLite\Model\Shipping::setIgnoreLongCalculationsMode(true); break; } } parent::handleRequest(); }
/** * Return true if shipping methods' name can be edited * * @return \XLite\Model\Shipping\Processor\AProcessor */ protected function getProcessor() { $result = null; $list = \XLite\Model\Shipping::getProcessors(); $carrier = $this->getCarrier() ?: 'offline'; /** @var \XLite\Model\Shipping\Processor\AProcessor $processor */ foreach ($list as $processor) { if ($processor->getProcessorId() == $carrier) { $result = $processor; break; } } return $result; }