order_main.php

Go to the documentation of this file.
00001 <?php
00002 
00008 class Order_Main extends oxAdminDetails
00009 {
00017     public function render()
00018     {
00019         parent::render();
00020 
00021         $soxId = $this->_aViewData["oxid"] = $this->getEditObjectId();
00022         if ( $soxId != "-1" && isset( $soxId ) ) {
00023             // load object
00024             $oOrder = oxNew( "oxorder" );
00025             $oOrder->load( $soxId);
00026 
00027             // paid ?
00028             if ( $oOrder->oxorder__oxpaid->value != "0000-00-00 00:00:00") {
00029                 $oOrder->blIsPaid = true;
00030                 $oOrder->oxorder__oxpaid = new oxField( oxUtilsDate::getInstance()->formatDBDate( $oOrder->oxorder__oxpaid->value ) );
00031             }
00032 
00033             $this->_aViewData["edit"] =  $oOrder;
00034             $this->_aViewData["paymentType"] =  $oOrder->getPaymentType();
00035 
00036             $this->_aViewData["oShipSet"] =  $oOrder->getShippingSetList();
00037             if ( $oOrder->oxorder__oxdeltype->value ) {
00038 
00039                 // order user
00040                 $oUser = oxNew( 'oxuser' );
00041                 $oUser->load( $oOrder->oxorder__oxuserid->value );
00042 
00043                 // order sum in default currency
00044                 $dPrice = $oOrder->oxorder__oxtotalbrutsum->value / $oOrder->oxorder__oxcurrate->value;
00045 
00046                 $this->_aViewData["oPayments"] = oxPaymentList::getInstance()->getPaymentList( $oOrder->oxorder__oxdeltype->value, $dPrice, $oUser );
00047             }
00048 
00049             // any voucher used ?
00050             $this->_aViewData["aVouchers"] =  $oOrder->getVoucherNrList();
00051         }
00052 
00053         $this->_aViewData["sNowValue"] = date("Y-m-d H:i:s", oxUtilsDate::getInstance()->getTime());
00054         return "order_main.tpl";
00055     }
00056 
00062     public function save()
00063     {
00064         parent::save();
00065 
00066         $soxId = $this->getEditObjectId();
00067         $aParams    = oxConfig::getParameter( "editval" );
00068 
00069             // shopid
00070             $sShopID = oxSession::getVar( "actshop" );
00071             $aParams['oxorder__oxshopid'] = $sShopID;
00072 
00073         $oOrder = oxNew( "oxorder" );
00074         if ( $soxId != "-1") {
00075             $oOrder->load( $soxId);
00076         } else {
00077             $aParams['oxorder__oxid'] = null;
00078         }
00079 
00080         //change payment
00081         $sPayId = oxConfig::getParameter( "setPayment");
00082         if ($sPayId != $oOrder->oxorder__oxpaymenttype->value) {
00083             $aParams['oxorder__oxpaymenttype'] = $sPayId;
00084         }
00085 
00086         $oOrder->assign( $aParams);
00087 
00088         $aDynvalues = oxConfig::getParameter( "dynvalue" );
00089         if ( isset( $aDynvalues ) ) {
00090             // #411 Dodger
00091             $oPayment = oxNew( "oxuserpayment" );
00092             $oPayment->load( $oOrder->oxorder__oxpaymentid->value);
00093             $oPayment->oxuserpayments__oxvalue->setValue(oxUtils::getInstance()->assignValuesToText( $aDynvalues));
00094             $oPayment->save();
00095         }
00096         //change delivery set
00097         $sDelSetId = oxConfig::getParameter( "setDelSet");
00098         if ($sDelSetId != $oOrder->oxorder__oxdeltype->value) {
00099             $oOrder->oxorder__oxpaymenttype->setValue( "oxempty" );
00100             $oOrder->setDelivery( $sDelSetId );
00101         } else {
00102             // keeps old delivery cost
00103             $oOrder->reloadDelivery( false );
00104         }
00105 
00106         // keeps old discount
00107         $oOrder->reloadDiscount( false );
00108 
00109         $oOrder->recalculateOrder();
00110 
00111         // set oxid if inserted
00112         $this->setEditObjectId( $oOrder->getId() );
00113     }
00114 
00120     public function sendorder()
00121     {
00122         $soxId = $this->getEditObjectId();
00123         $oOrder = oxNew( "oxorder" );
00124         if ( $oOrder->load( $soxId ) ) {
00125 
00126             // #632A
00127             $oOrder->oxorder__oxsenddate->setValue( date( "Y-m-d H:i:s", oxUtilsDate::getInstance()->getTime() ) );
00128             $oOrder->save();
00129 
00130             // #1071C
00131             $oOrderArticles = $oOrder->getOrderArticles( true );
00132             if ( oxConfig::getParameter( "sendmail" ) ) {
00133                 // send eMail
00134                 $oEmail = oxNew( "oxemail" );
00135                 $oEmail->sendSendedNowMail( $oOrder );
00136             }
00137 
00138         }
00139     }
00140 
00146     public function senddownloadlinks()
00147     {
00148         $soxId = $this->getEditObjectId();
00149         $oOrder = oxNew( "oxorder" );
00150         if ( $oOrder->load( $soxId ) ) {
00151             $oEmail = oxNew( "oxemail" );
00152             $oEmail->sendDownloadLinksMail( $oOrder );
00153         }
00154     }
00155 
00161     public function resetorder()
00162     {
00163         $oOrder = oxNew( "oxorder" );
00164         if ( $oOrder->load( $this->getEditObjectId() ) ) {
00165 
00166             $oOrder->oxorder__oxsenddate->setValue("0000-00-00 00:00:00");
00167             $oOrder->save();
00168 
00169         }
00170     }
00171 }