|
eZ Publish
[4.0]
|
00001 <?php 00002 // 00003 // Definition of eZDefaultBasketInfoHandler class 00004 // 00005 // Created on: <09-Nov-2006 11:38:45 bjorn> 00006 // 00007 // ## BEGIN COPYRIGHT, LICENSE AND WARRANTY NOTICE ## 00008 // SOFTWARE NAME: eZ Publish 00009 // SOFTWARE RELEASE: 4.0.x 00010 // COPYRIGHT NOTICE: Copyright (C) 1999-2008 eZ Systems AS 00011 // SOFTWARE LICENSE: GNU General Public License v2.0 00012 // NOTICE: > 00013 // This program is free software; you can redistribute it and/or 00014 // modify it under the terms of version 2.0 of the GNU General 00015 // Public License as published by the Free Software Foundation. 00016 // 00017 // This program is distributed in the hope that it will be useful, 00018 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00020 // GNU General Public License for more details. 00021 // 00022 // You should have received a copy of version 2.0 of the GNU General 00023 // Public License along with this program; if not, write to the Free 00024 // Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 00025 // MA 02110-1301, USA. 00026 // 00027 // 00028 // ## END COPYRIGHT, LICENSE AND WARRANTY NOTICE ## 00029 // 00030 00031 00032 class eZDefaultBasketInfoHandler 00033 { 00034 /*! 00035 Constructor 00036 */ 00037 function eZDefaultBasketInfoHandler() 00038 { 00039 } 00040 00041 /*! 00042 Calculate additional information about vat and prices for items in the basket. 00043 */ 00044 function updatePriceInfo( $productCollectionID, &$basketInfo ) 00045 { 00046 $shippingInfo = eZShippingManager::getShippingInfo( $productCollectionID ); 00047 $additionalShippingValues = eZShippingManager::vatPriceInfo( $shippingInfo ); 00048 $returnValue = false; 00049 foreach ( $additionalShippingValues['shipping_vat_list'] as $vatValue => $additionalShippingValueArray ) 00050 { 00051 $shippingExVAT = $additionalShippingValueArray['shipping_ex_vat']; 00052 $shippingIncVAT = $additionalShippingValueArray['shipping_inc_vat']; 00053 $shippingVat = $additionalShippingValueArray['shipping_vat']; 00054 00055 if ( !isset( $basketInfo['price_info'][$vatValue]['total_price_ex_vat'] ) ) 00056 { 00057 $basketInfo['price_info'][$vatValue]['total_price_ex_vat'] = $shippingExVAT; 00058 $basketInfo['price_info'][$vatValue]['total_price_inc_vat'] = $shippingIncVAT; 00059 $basketInfo['price_info'][$vatValue]['total_price_vat'] = $shippingVat; 00060 00061 $basketInfo['total_price_info']['total_price_ex_vat'] = $shippingExVAT; 00062 $basketInfo['total_price_info']['total_price_inc_vat'] = $shippingIncVAT; 00063 $basketInfo['total_price_info']['total_price_vat'] = $shippingVat; 00064 } 00065 else 00066 { 00067 $basketInfo['price_info'][$vatValue]['total_price_ex_vat'] += $shippingExVAT; 00068 $basketInfo['price_info'][$vatValue]['total_price_inc_vat'] += $shippingIncVAT; 00069 $basketInfo['price_info'][$vatValue]['total_price_vat'] += $shippingVat; 00070 00071 $basketInfo['total_price_info']['total_price_ex_vat'] += $shippingExVAT; 00072 $basketInfo['total_price_info']['total_price_inc_vat'] += $shippingIncVAT; 00073 $basketInfo['total_price_info']['total_price_vat'] += $shippingVat; 00074 } 00075 00076 if ( !isset( $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_ex_vat'] ) ) 00077 { 00078 $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_ex_vat'] = $shippingExVAT; 00079 $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_inc_vat'] = $shippingIncVAT; 00080 $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_vat'] = ( $shippingIncVAT - $shippingExVAT ); 00081 } 00082 else 00083 { 00084 $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_ex_vat'] += $shippingExVAT; 00085 $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_inc_vat'] += $shippingIncVAT; 00086 $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_vat'] += ( $shippingIncVAT - $shippingExVAT ); 00087 } 00088 00089 if ( !isset( $basketInfo['additional_info']['shipping_total']['total_price_ex_vat'] ) ) 00090 { 00091 $basketInfo['additional_info']['shipping_total']['total_price_ex_vat'] = $shippingExVAT; 00092 $basketInfo['additional_info']['shipping_total']['total_price_inc_vat'] = $shippingIncVAT; 00093 $basketInfo['additional_info']['shipping_total']['total_price_vat'] = ( $shippingIncVAT - $shippingExVAT ); 00094 } 00095 else 00096 { 00097 $basketInfo['additional_info']['shipping_total']['total_price_ex_vat'] += $shippingExVAT; 00098 $basketInfo['additional_info']['shipping_total']['total_price_inc_vat'] += $shippingIncVAT; 00099 $basketInfo['additional_info']['shipping_total']['total_price_vat'] += ( $shippingIncVAT - $shippingExVAT ); 00100 } 00101 } 00102 00103 if ( count( $additionalShippingValues['shipping_vat_list'] ) > 0 ) 00104 { 00105 $returnValue = true; 00106 } 00107 00108 return $returnValue; 00109 } 00110 } 00111 00112 ?>