Example #1
0
 /**
  * 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();
 }
Example #2
0
 /**
  * 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;
 }