コード例 #1
0
 function updatePriceInfo($productCollectionID, &$basketInfo)
 {
     $shippingInfo = eZShippingManager::getShippingInfo($productCollectionID);
     $additionalShippingValues = eZShippingManager::vatPriceInfo($shippingInfo);
     $returnValue = false;
     foreach ($additionalShippingValues['shipping_vat_list'] as $vatValue => $additionalShippingValueArray) {
         $shippingExVAT = $additionalShippingValueArray['shipping_ex_vat'];
         $shippingIncVAT = $additionalShippingValueArray['shipping_inc_vat'];
         $shippingVat = $additionalShippingValueArray['shipping_vat'];
         if (!isset($basketInfo['price_info'][$vatValue]['total_price_ex_vat'])) {
             $basketInfo['price_info'][$vatValue]['total_price_ex_vat'] = $shippingExVAT;
             $basketInfo['price_info'][$vatValue]['total_price_inc_vat'] = $shippingIncVAT;
             $basketInfo['price_info'][$vatValue]['total_price_vat'] = $shippingVat;
             $basketInfo['total_price_info']['total_price_ex_vat'] = $shippingExVAT;
             $basketInfo['total_price_info']['total_price_inc_vat'] = $shippingIncVAT;
             $basketInfo['total_price_info']['total_price_vat'] = $shippingVat;
         } else {
             $basketInfo['price_info'][$vatValue]['total_price_ex_vat'] += $shippingExVAT;
             $basketInfo['price_info'][$vatValue]['total_price_inc_vat'] += $shippingIncVAT;
             $basketInfo['price_info'][$vatValue]['total_price_vat'] += $shippingVat;
             $basketInfo['total_price_info']['total_price_ex_vat'] += $shippingExVAT;
             $basketInfo['total_price_info']['total_price_inc_vat'] += $shippingIncVAT;
             $basketInfo['total_price_info']['total_price_vat'] += $shippingVat;
         }
         if (!isset($basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_ex_vat'])) {
             $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_ex_vat'] = $shippingExVAT;
             $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_inc_vat'] = $shippingIncVAT;
             $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_vat'] = $shippingIncVAT - $shippingExVAT;
         } else {
             $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_ex_vat'] += $shippingExVAT;
             $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_inc_vat'] += $shippingIncVAT;
             $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_vat'] += $shippingIncVAT - $shippingExVAT;
         }
         if (!isset($basketInfo['additional_info']['shipping_total']['total_price_ex_vat'])) {
             $basketInfo['additional_info']['shipping_total']['total_price_ex_vat'] = $shippingExVAT;
             $basketInfo['additional_info']['shipping_total']['total_price_inc_vat'] = $shippingIncVAT;
             $basketInfo['additional_info']['shipping_total']['total_price_vat'] = $shippingIncVAT - $shippingExVAT;
         } else {
             $basketInfo['additional_info']['shipping_total']['total_price_ex_vat'] += $shippingExVAT;
             $basketInfo['additional_info']['shipping_total']['total_price_inc_vat'] += $shippingIncVAT;
             $basketInfo['additional_info']['shipping_total']['total_price_vat'] += $shippingIncVAT - $shippingExVAT;
         }
     }
     if (count($additionalShippingValues['shipping_vat_list']) > 0) {
         $returnValue = true;
     }
     return $returnValue;
 }
コード例 #2
0
 function handleShipping($orderID)
 {
     do {
         $order = eZOrder::fetch($orderID);
         if (!$order) {
             break;
         }
         $productCollectionID = $order->attribute('productcollection_id');
         $shippingInfo = eZShippingManager::getShippingInfo($productCollectionID);
         if (!isset($shippingInfo)) {
             break;
         }
         // check if the order item has been added before.
         $orderItems = $order->orderItemsByType('ezcustomshipping');
         // If orderitems allready exists, remove them first.
         if ($orderItems) {
             foreach ($orderItems as $orderItem) {
                 $orderItem->remove();
             }
             $purgeStatus = eZShippingManager::purgeShippingInfo($productCollectionID);
         }
         if (isset($shippingInfo['shipping_items']) and is_array($shippingInfo['shipping_items'])) {
             // Add a new order item for each shipping.
             foreach ($shippingInfo['shipping_items'] as $orderItemShippingInfo) {
                 $orderItem = new eZOrderItem(array('order_id' => $orderID, 'description' => $orderItemShippingInfo['description'], 'price' => $orderItemShippingInfo['cost'], 'vat_value' => $orderItemShippingInfo['vat_value'], 'is_vat_inc' => $orderItemShippingInfo['is_vat_inc'], 'type' => 'ezcustomshipping'));
                 $orderItem->store();
             }
         } else {
             // Made for backwards compability, if the array order_items are not supplied.
             if (!isset($shippingInfo['vat_value'])) {
                 $shippingInfo['vat_value'] = 0;
             }
             if (!isset($shippingInfo['is_vat_inc'])) {
                 $shippingInfo['is_vat_inc'] = 1;
             }
             $orderItem = new eZOrderItem(array('order_id' => $orderID, 'description' => $shippingInfo['description'], 'price' => $shippingInfo['cost'], 'vat' => $shippingInfo['vat_value'], 'is_vat_inc' => $shippingInfo['is_vat_inc'], 'type' => 'ezcustomshipping'));
             $orderItem->store();
         }
     } while (false);
     return array('status' => eZModuleOperationInfo::STATUS_CONTINUE);
 }
コード例 #3
0
ファイル: basket.php プロジェクト: CG77/ezpublish-legacy
}
$basket = eZBasket::currentBasket();
$tpl = eZTemplate::factory();
if (isset($Params['Error'])) {
    $tpl->setVariable('error', $Params['Error']);
    if ($Params['Error'] == 'options') {
        $tpl->setVariable('error_data', $http->sessionVariable('BasketError'));
        $http->removeSessionVariable('BasketError');
    }
}
$tpl->setVariable("removed_items", $removedItems);
$tpl->setVariable("basket", $basket);
$tpl->setVariable("module_name", 'shop');
$tpl->setVariable("vat_is_known", $basket->isVATKnown());
// Add shipping cost to the total items price and store the sum to corresponding template vars.
$shippingInfo = eZShippingManager::getShippingInfo($basket->attribute('productcollection_id'));
if ($shippingInfo !== null) {
    // to make backwards compability with old version, allways set the cost inclusive vat.
    if (isset($shippingInfo['is_vat_inc']) and $shippingInfo['is_vat_inc'] == 0 or !isset($shippingInfo['is_vat_inc'])) {
        $additionalShippingValues = eZShippingManager::vatPriceInfo($shippingInfo);
        $shippingInfo['cost'] = $additionalShippingValues['total_shipping_inc_vat'];
        $shippingInfo['is_vat_inc'] = 1;
    }
    $totalIncShippingExVat = $basket->attribute('total_ex_vat') + $shippingInfo['cost'];
    $totalIncShippingIncVat = $basket->attribute('total_inc_vat') + $shippingInfo['cost'];
    $tpl->setVariable('shipping_info', $shippingInfo);
    $tpl->setVariable('total_inc_shipping_ex_vat', $totalIncShippingExVat);
    $tpl->setVariable('total_inc_shipping_inc_vat', $totalIncShippingIncVat);
}
$Result = array();
$Result['content'] = $tpl->fetch("design:shop/basket.tpl");