voucherserie_main.php

Go to the documentation of this file.
00001 <?php
00002 
00009 class VoucherSerie_Main extends oxAdminDetails
00010 {
00018     public function render()
00019     {
00020         parent::render();
00021 
00022         $soxId = oxConfig::getParameter( "oxid");
00023 
00024         // check if we right now saved a new entry
00025         $sSavedID = oxConfig::getParameter( "saved_oxid");
00026         if ( ($soxId == "-1" || !isset( $soxId)) && isset( $sSavedID) ) {
00027             $soxId = $sSavedID;
00028             oxSession::deleteVar( "saved_oxid");
00029             $this->_aViewData["oxid"] =  $soxId;
00030             // for reloading upper frame
00031             $this->_aViewData["updatelist"] =  "1";
00032         }
00033 
00034         if ( $soxId != "-1" && isset( $soxId)) {
00035             // load object
00036             $oVoucherSerie = oxNew( "oxvoucherserie" );
00037             $oVoucherSerie->load( $soxId);
00038             $this->_aViewData["edit"] =  $oVoucherSerie;
00039             $this->_aViewData["status"] = $oVoucherSerie->countVouchers();
00040         }
00041 
00042         return "voucherserie_main.tpl";
00043     }
00044 
00050     public function save()
00051     {
00052 
00053         // Parameter Processing
00054 
00055         $soxId          = oxConfig::getParameter("oxid");
00056         $aSerieParams   = oxConfig::getParameter("editval");
00057         $dVoucherAmount = oxConfig::getParameter("voucherAmount");
00058         if (!is_numeric($dVoucherAmount) || $dVoucherAmount < 0)
00059             $dVoucherAmount = 0;
00060 
00061         // Voucher Serie Processing
00062 
00063         $oVoucherSerie = oxNew( "oxvoucherserie" );
00064         // if serie already exist use it
00065         if ($soxId != "-1")
00066             $oVoucherSerie->load($soxId);
00067         else
00068             $aSerieParams["oxvoucherseries__oxid"] = null;
00069 
00070 
00071         // select random nr if chosen
00072         //if(oxConfig::getParameter("randomNr"))
00073            // $aSerieParams["oxvoucherseries__oxserienr"] = uniqid($aSerieParams["oxvoucherseries__oxserienr"]);
00074 
00075         // update serie object
00076         //$aSerieParams = $oVoucherSerie->ConvertNameArray2Idx($aSerieParams);
00077         $oVoucherSerie->assign($aSerieParams);
00078         $oVoucherSerie->save();
00079 
00080         // Voucher processing
00081 
00082         $oNewVoucher = oxNew( "oxvoucher" );
00083         //$aVoucherParams = $oNewVoucher->ConvertNameArray2Idx($aVoucherParams);
00084 
00085         // first we update already existing and not used vouchers
00086 
00087         $oExistingVoucherList = $oVoucherSerie->getVoucherList();
00088         // prepare voucher params
00089         foreach ($oExistingVoucherList as $oVoucher) {
00090             $oVoucher->assign($aVoucherParams);
00091             $oVoucher->save();
00092         }
00093 
00094         // second we create new vouchers that are defined in the entry
00095 
00096         for ($i = 0; $i < $dVoucherAmount; $i++) {
00097             $oNewVoucher->assign($aVoucherParams);
00098             $oNewVoucher->oxvouchers__oxvoucherserieid = new oxField($oVoucherSerie->oxvoucherseries__oxid->value);
00099             $oNewVoucher->oxvouchers__oxvouchernr = new oxField(oxConfig::getParameter("voucherNr"));
00100             if (oxConfig::getParameter("randomVoucherNr"))
00101                 $oNewVoucher->oxvouchers__oxvouchernr = new oxField(uniqid($oNewVoucher->oxvouchers__oxvouchernr->value));
00102             $oNewVoucher->save();
00103             $oNewVoucher = oxNew( "oxvoucher" );
00104         }
00105 
00106         // release all chekbox states
00107         oxSession::deleteVar("randomVoucherNr");
00108         oxSession::deleteVar("randomNr");
00109         $this->_aViewData["updatelist"] = "1";
00110 
00111         // set oxid if inserted
00112         if ($soxId == "-1")
00113             oxSession::setVar("saved_oxid", $oVoucherSerie->oxvoucherseries__oxid->value);
00114     }
00115 }

Generated on Tue Apr 21 15:45:44 2009 for OXID eShop CE by  doxygen 1.5.5