コード例 #1
0
ファイル: ShippingCoupon.php プロジェクト: kewaunited/xcart
 /**
  * Get shipped items
  *
  * @return array
  */
 public function getItems()
 {
     $items = parent::getItems();
     if ($this->order->getUsedCoupons()) {
         foreach ($this->order->getUsedCoupons() as $coupon) {
             if ($coupon->getCoupon() && $coupon->getCoupon()->isFreeShipping()) {
                 foreach ($items as $k => $item) {
                     if ($coupon->getCoupon()->isValidItem($item)) {
                         unset($items[$k]);
                     }
                 }
             }
         }
     }
     return $items;
 }
コード例 #2
0
ファイル: Shipping.php プロジェクト: kewaunited/xcart
 /**
  * Returns true if any of order items are shipped
  *
  * @return boolean
  */
 protected function isShippable()
 {
     $result = parent::isShippable();
     foreach (parent::getItems() as $item) {
         if ($item->isShippable()) {
             $result = true;
             break;
         }
     }
     return $result;
 }
コード例 #3
0
ファイル: AuctionInc.php プロジェクト: kewaunited/xcart
 /**
  * Collect items data from modifier
  *
  * @param \XLite\Logic\Order\Modifier\Shipping $modifier Shipping order modifier
  *
  * @return array
  */
 protected function getItems($modifier)
 {
     $result = array();
     /** @var \XLite\Model\OrderItem $item */
     foreach ($modifier->getItems() as $item) {
         $product = $item->getProduct();
         /** @var \XLite\Module\XC\AuctionInc\Model\ProductAuctionInc $auctionIncData */
         $auctionIncData = $product->getAuctionIncData() ?: new \XLite\Module\XC\AuctionInc\Model\ProductAuctionInc();
         $onDemand = array_map(function ($a) {
             list(, $serviceCode) = explode('_', $a);
             return $serviceCode;
         }, $auctionIncData->getOnDemand());
         $resultItem = array('calculationMethod' => $auctionIncData->getCalculationMethod(), 'sku' => $product->getSku(), 'name' => $product->getName(), 'qty' => (int) $item->getAmount(), 'weight' => $product->getWeight(), 'weightUOM' => $auctionIncData->getWeightUOM(), 'dimensions' => $auctionIncData->getDimensions(), 'dimensionsUOM' => $auctionIncData->getDimensionsUOM(), 'package' => $auctionIncData->getPackage(), 'originCode' => $auctionIncData->getOriginCode(), 'onDemand' => implode(', ', $onDemand), 'carrierAccessorialFees' => implode(', ', $auctionIncData->getCarrierAccessorialFees()));
         $resultItem['price'] = 'Y' == $auctionIncData->getInsurable() ? $item->getTotal() / $item->getAmount() : 0;
         if ('F' == $auctionIncData->getSupplementalItemHandlingMode()) {
             $resultItem['supplementalItemHandlingFee'] = $auctionIncData->getSupplementalItemHandlingFee();
         } elseif ('C' == $auctionIncData->getSupplementalItemHandlingMode()) {
             $resultItem['supplementalItemHandlingCode'] = $auctionIncData->getSupplementalItemHandlingCode();
         }
         if ('F' == $auctionIncData->getFixedFeeMode()) {
             $resultItem['fixedFee1'] = $auctionIncData->getFixedFee1();
             $resultItem['fixedFee2'] = $auctionIncData->getFixedFee2();
         } elseif ('C' == $auctionIncData->getFixedFeeMode()) {
             $resultItem['fixedFeeCode'] = $auctionIncData->getFixedFeeCode();
         }
         $result[] = $resultItem;
     }
     return $result;
 }
コード例 #4
0
ファイル: AProcessor.php プロジェクト: kirkbauer2/kirkxc
 /**
  * Get packages for shipment
  *
  * @param \XLite\Logic\Order\Modifier\Shipping $modifier Shipping modifier
  *
  * @return array
  */
 public function getPackages($modifier)
 {
     return \XLite\Core\Package::getInstance()->getPackages($modifier->getItems(), $this->getPackageLimits());
 }