oxpricelist.php

Go to the documentation of this file.
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 }