oxvoucherserie.php

Go to the documentation of this file.
00001 <?php
00002 
00008 class oxVoucherSerie extends oxBase
00009 {
00010 
00015     protected $_oGroups = null;
00016 
00020     protected $_sCoreTbl = 'oxvoucherseries';
00021 
00025     protected $_sClassName = 'oxvoucherserie';
00026 
00030     public function __construct()
00031     {
00032         parent::__construct();
00033         $this->init( $this->_sCoreTbl);
00034     }
00035 
00043     public function delete( $sOxId = null )
00044     {
00045 
00046         $this->unsetUserGroups();
00047         $this->deleteVoucherList();
00048         parent::delete( $sOxId );
00049     }
00050 
00056     public function setUserGroups()
00057     {
00058         if( $this->_oGroups === null ) {
00059             $this->_oGroups = oxNew( 'oxlist' );
00060             $this->_oGroups->init( 'oxgroups' );
00061             $sSelect  = 'select gr.* from oxgroups as gr, oxobject2group as o2g where ';
00062             $sSelect .= 'o2g.oxobjectid = "'. $this->getId() .'" and gr.oxid = o2g.oxgroupsid ';
00063             $this->_oGroups->selectString( $sSelect );
00064         }
00065 
00066         return $this->_oGroups;
00067     }
00068 
00074     public function unsetUserGroups()
00075     {
00076         $sDelete = 'delete from oxobject2group where oxobjectid = "' . $this->getId() . '"';
00077         oxDb::getDb()->execute( $sDelete );
00078     }
00079 
00085     public function getVoucherList()
00086     {
00087         $oVoucherList = oxNew( 'oxvoucherlist' );
00088         $sSelect = 'select * from oxvouchers where oxvoucherserieid = "' . $this->getId() . '"';
00089         $oVoucherList->selectString( $sSelect );
00090         return $oVoucherList;
00091     }
00092 
00098     public function deleteVoucherList()
00099     {
00100         $sDelete = 'delete from oxvouchers where oxvoucherserieid = "' . $this->getId() . '"';
00101         oxDb::getDb()->execute( $sDelete );
00102     }
00103 
00109     public function countVouchers()
00110     {
00111         $aStatus = array();
00112 
00113         $oDB = oxDb::getDb();
00114         $sQuery = 'select count(*) as total from oxvouchers where oxvoucherserieid = "' . $this->getId() . '"';
00115         $aStatus['total'] = $oDB->getOne( $sQuery );
00116 
00117         $sQuery = 'select count(*) as used from oxvouchers where oxvoucherserieid = "' . $this->getId()  . '" and oxorderid is not NULL and oxorderid != ""';
00118         $aStatus['used'] = $oDB->getOne( $sQuery );
00119 
00120         $aStatus['available'] = $aStatus['total'] - $aStatus['used'];
00121 
00122         return $aStatus;
00123     }
00124 }

Generated on Wed Jan 7 14:17:40 2009 for OXID eShop CE by  doxygen 1.5.5