00001 <?php
00002
00008 class oxPriceList
00009 {
00015 protected $_aList = array();
00016
00022 public function getBruttoSum()
00023 {
00024 $dSum = 0;
00025 foreach ( $this->_aList as $oPrice ) {
00026 $dSum += $oPrice->getBruttoPrice();
00027 }
00028
00029 return $dSum;
00030 }
00031
00037 public function getNettoSum()
00038 {
00039 $dSum = 0;
00040 foreach ( $this->_aList as $oPrice ) {
00041 $dSum += $oPrice->getNettoPrice();
00042 }
00043
00044 return $dSum;
00045 }
00046
00052 public function getVatInfo()
00053 {
00054 $oLang = oxLang::getInstance();
00055 $aVatValues = array();
00056 foreach ( $this->_aList as $oPrice ) {
00057 $sVatKey = ( string ) $oLang->formatVat( $oPrice->getVat() );
00058 if ( !isset( $aVatValues[$sVatKey] )) {
00059 $aVatValues[$sVatKey] = 0;
00060 }
00061 $aVatValues[$sVatKey] += $oPrice->getVATValue();
00062 }
00063
00064 return $aVatValues;
00065 }
00066
00072 public function getPriceInfo()
00073 {
00074 $aPrices = array();
00075 foreach ( $this->_aList as $oPrice ) {
00076 $sVat = ( string ) $oPrice->getVat();
00077 if ( !isset( $aPrices[$sVat] )) {
00078 $aPrices[$sVat] = 0;
00079 }
00080 $aPrices[$sVat] += $oPrice->getBruttoPrice();
00081 }
00082
00083 return $aPrices;
00084 }
00085
00092 public function getMostUsedVatPercent()
00093 {
00094 $aPrices = $this->getPriceInfo();
00095 if ( count( $aPrices ) == 0 ) {
00096 return;
00097 }
00098
00099 return array_search( max( $aPrices ), $aPrices );
00100 }
00101
00109 public function addToPriceList( $oPrice )
00110 {
00111 $this->_aList[] = $oPrice;
00112 }
00113 }