Ejemplo n.º 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;
 }
Ejemplo n.º 2
0
 function updatePrices()
 {
     $productCollection = $this->attribute('productcollection');
     if ($productCollection) {
         $currencyCode = '';
         $items = $this->items();
         $db = eZDB::instance();
         $db->begin();
         foreach ($items as $itemArray) {
             $item = $itemArray['item_object'];
             $productContentObject = $item->attribute('contentobject');
             $priceObj = null;
             $price = 0.0;
             $attributes = $productContentObject->contentObjectAttributes();
             foreach ($attributes as $attribute) {
                 $dataType = $attribute->dataType();
                 if (eZShopFunctions::isProductDatatype($dataType->isA())) {
                     $priceObj = $attribute->content();
                     $price += $priceObj->attribute('price');
                     break;
                 }
             }
             if (!is_object($priceObj)) {
                 break;
             }
             $currency = $priceObj->attribute('currency');
             $optionsPrice = $item->calculatePriceWithOptions($currency);
             $price += $optionsPrice;
             $item->setAttribute("price", $price);
             if ($priceObj->attribute('is_vat_included')) {
                 $item->setAttribute("is_vat_inc", '1');
             } else {
                 $item->setAttribute("is_vat_inc", '0');
             }
             $item->setAttribute("vat_value", $priceObj->VATPercent($productContentObject));
             $item->setAttribute("discount", $priceObj->attribute('discount_percent'));
             $item->store();
             $currencyCode = $priceObj->attribute('currency');
         }
         $productCollection->setAttribute('currency_code', $currencyCode);
         $productCollection->store();
         $db->commit();
         // update prices that are related to shipping values.
         eZShippingManager::updateShippingInfo($productCollection->attribute('id'));
     }
 }
Ejemplo n.º 3
0
 static function updatePriceInfo($productCollectionID, &$basketInfo)
 {
     $returnValue = false;
     if (is_object($handler = eZShippingManager::loadBasketInfoHandler())) {
         $returnValue = $handler->updatePriceInfo($productCollectionID, $basketInfo);
     }
     return $returnValue;
 }
 /**
  * Removes all product collections based on a product collection ID list
  * Will also remove the product collection items.
  *
  * @param array $productCollectionIDList array of eZProductCollection IDs
  *
  * @return void
  */
 static function cleanupList($productCollectionIDList)
 {
     $db = eZDB::instance();
     $db->begin();
     // Purge shipping information associated with product collections being removed.
     foreach ($productCollectionIDList as $productCollectionID) {
         eZShippingManager::purgeShippingInfo($productCollectionID);
     }
     eZProductCollectionItem::cleanupList($productCollectionIDList);
     $where = $db->generateSQLINStatement($productCollectionIDList, 'id', false, false, 'int');
     $db->query("DELETE FROM ezproductcollection WHERE {$where}");
     $db->commit();
 }
 function updateShippingInfo($objectID, $optionList)
 {
     $basket = eZBasket::currentBasket();
     $shippingInfo = eZShippingManager::updateShippingInfo($basket->attribute('productcollection_id'));
     return array('status' => eZModuleOperationInfo::STATUS_CONTINUE);
 }
Ejemplo n.º 6
0
$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");
$Result['path'] = array(array('url' => false, 'text' => ezpI18n::tr('kernel/shop', 'Basket')));