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
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
00031 $this->_aViewData["updatelist"] = "1";
00032 }
00033
00034 if ( $soxId != "-1" && isset( $soxId)) {
00035
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
00054 $soxId = oxConfig::getParameter("oxid");
00055 $aSerieParams = oxConfig::getParameter("editval");
00056 $dVoucherAmount = abs( (int) oxConfig::getParameter( "voucherAmount" ) );
00057
00058
00059
00060 $oVoucherSerie = oxNew( "oxvoucherserie" );
00061
00062 if ( $soxId != "-1" ) {
00063 $oVoucherSerie->load( $soxId );
00064 } else {
00065 $aSerieParams["oxvoucherseries__oxid"] = null;
00066 }
00067
00068
00069
00070
00071
00072
00073
00074
00075 $oVoucherSerie->assign($aSerieParams);
00076 $oVoucherSerie->save();
00077
00078
00079
00080 $oNewVoucher = oxNew( "oxvoucher" );
00081
00082
00083
00084
00085 $oExistingVoucherList = $oVoucherSerie->getVoucherList();
00086
00087 foreach ($oExistingVoucherList as $oVoucher) {
00088 $oVoucher->assign($aVoucherParams);
00089 $oVoucher->save();
00090 }
00091
00092
00093
00094 for ($i = 0; $i < $dVoucherAmount; $i++) {
00095 $oNewVoucher->assign($aVoucherParams);
00096 $oNewVoucher->oxvouchers__oxvoucherserieid = new oxField($oVoucherSerie->oxvoucherseries__oxid->value);
00097 $oNewVoucher->oxvouchers__oxvouchernr = new oxField(oxConfig::getParameter("voucherNr"));
00098 if (oxConfig::getParameter("randomVoucherNr"))
00099 $oNewVoucher->oxvouchers__oxvouchernr = new oxField(uniqid($oNewVoucher->oxvouchers__oxvouchernr->value));
00100 $oNewVoucher->save();
00101 $oNewVoucher = oxNew( "oxvoucher" );
00102 }
00103
00104
00105 oxSession::deleteVar("randomVoucherNr");
00106 oxSession::deleteVar("randomNr");
00107 $this->_aViewData["updatelist"] = "1";
00108
00109
00110 if ($soxId == "-1")
00111 oxSession::setVar("saved_oxid", $oVoucherSerie->oxvoucherseries__oxid->value);
00112 }
00113
00119 public function export()
00120 {
00121 $oSerie = oxNew( "oxvoucherserie" );
00122 $oSerie->load(oxConfig::getParameter("oxid"));
00123
00124 $oDb = oxDb::getDb();
00125
00126 $sSelect = "select oxvouchernr from oxvouchers where oxvoucherserieid = ".$oDb->quote( $oSerie->oxvoucherseries__oxid->value );
00127 $rs = $oDb->execute($sSelect);
00128
00129 $sLine = "Gutschein\n";
00130 while (!$rs->EOF) {
00131 foreach ( $rs->fields as $field) {
00132 $sLine .= $field;
00133 }
00134 $sLine .= "\n";
00135 $rs->moveNext();
00136 }
00137 $this->_aViewData["exportCompleted"] = true;
00138
00139 $oUtils = oxUtils::getInstance();
00140 $oUtils->setHeader( "Pragma: public" );
00141 $oUtils->setHeader( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
00142 $oUtils->setHeader( "Expires: 0" );
00143 $oUtils->setHeader( "Content-Disposition: attachment; filename=vouchers.csv");
00144 $oUtils->setHeader( "Content-Type: application/csv" );
00145 $oUtils->showMessageAndExit( $sLine );
00146 }
00147 }