00001 <?php 00002 00008 class oxPriceList 00009 { 00015 protected $_aList = array(); 00016 00022 public function __construct() 00023 { 00024 } 00025 00031 public function getBruttoSum() 00032 { 00033 $dSum = 0; 00034 foreach ( $this->_aList as $oPrice ) { 00035 $dSum += $oPrice->getBruttoPrice(); 00036 } 00037 00038 return $dSum; 00039 } 00040 00046 public function getNettoSum() 00047 { 00048 $dSum = 0; 00049 foreach ( $this->_aList as $oPrice ) { 00050 $dSum += $oPrice->getNettoPrice(); 00051 } 00052 00053 return $dSum; 00054 } 00055 00061 public function getVatInfo() 00062 { 00063 $oLang = oxLang::getInstance(); 00064 $aVatValues = array(); 00065 foreach ( $this->_aList as $oPrice ) { 00066 $sVatKey = ( string ) $oLang->formatVat( $oPrice->getVat() ); 00067 if ( !isset( $aVatValues[$sVatKey] )) { 00068 $aVatValues[$sVatKey] = 0; 00069 } 00070 $aVatValues[$sVatKey] += $oPrice->getVATValue(); 00071 } 00072 00073 return $aVatValues; 00074 } 00075 00081 public function getPriceInfo() 00082 { 00083 $aPrices = array(); 00084 foreach ( $this->_aList as $oPrice ) { 00085 $sVat = ( string ) $oPrice->getVat(); 00086 if ( !isset( $aPrices[$sVat] )) { 00087 $aPrices[$sVat] = 0; 00088 } 00089 $aPrices[$sVat] += $oPrice->getBruttoPrice(); 00090 } 00091 00092 return $aPrices; 00093 } 00094 00101 public function getMostUsedVatPercent() 00102 { 00103 $aPrices = $this->getPriceInfo(); 00104 if ( count( $aPrices ) == 0 ) { 00105 return; 00106 } 00107 00108 return array_search( max( $aPrices ), $aPrices ); 00109 } 00110 00118 public function addToPriceList( $oPrice ) 00119 { 00120 $this->_aList[] = $oPrice; 00121 } 00122 }