oxvoucherserie.php

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

Generated on Wed Apr 22 12:26:31 2009 for OXID eShop CE by  doxygen 1.5.5