order_overview.php

Go to the documentation of this file.
00001 <?php
00002 
00003     // DTAUS
00004     require_once "dtaus/class.DTAUS.php";
00005 
00011 class Order_Overview extends oxAdminDetails
00012 {
00020     public function render()
00021     {
00022         $myConfig = $this->getConfig();
00023         parent::render();
00024 
00025         $oOrder = oxNew( "oxorder" );
00026 
00027         $soxId = oxConfig::getParameter( "oxid");
00028         if ( $soxId != "-1" && isset( $soxId)) {
00029             // load object
00030             $oOrder->load( $soxId);
00031 
00032             $this->_aViewData["edit"]          = $oOrder;
00033             $this->_aViewData["orderArticles"] = $oOrder->getOrderArticles();
00034             $this->_aViewData["giftCard"]      = $oOrder->getGiftCard();
00035             $this->_aViewData["paymentType"]   = $this->getPaymentType( $oOrder );
00036             $this->_aViewData["deliveryType"]  = $oOrder->getDelSet();
00037         }
00038 
00039         // orders today
00040         $oLang = oxLang::getInstance();
00041         $oCur  = $myConfig->getActShopCurrencyObject();
00042         $dSum  = $oOrder->getOrderSum(true);
00043         $this->_aViewData["ordersum"] = $oLang->formatCurrency($dSum, $oCur);
00044         $this->_aViewData["ordercnt"] = $oOrder->getOrderCnt(true);
00045 
00046         // ALL orders
00047         $dSum = $oOrder->getOrderSum();
00048         $this->_aViewData["ordertotalsum"] = $oLang->formatCurrency( $dSum, $oCur);
00049         $this->_aViewData["ordertotalcnt"] = $oOrder->getOrderCnt();
00050         $this->_aViewData["afolder"] = $myConfig->getConfigParam( 'aOrderfolder' );
00051         $this->_aViewData["sfolder"] = $myConfig->getConfigParam( 'aOrderfolder' );
00052             $this->_aViewData["alangs"] = $oLang->getLanguageNames();
00053 
00054 
00055         $this->_aViewData["currency"] = $oCur;
00056 
00057         return "order_overview.tpl";
00058     }
00059 
00069     protected function getPaymentType( $oOrder )
00070     {
00071         if ( !( $oUserPayment = $oOrder->getPaymentType() ) && $oOrder->oxorder__oxpaymenttype->value ) {
00072                 $oPayment = oxNew( "oxpayment" );
00073             if ( $oPayment->load( $oOrder->oxorder__oxpaymenttype->value ) ) {
00074                 // in case due to security reasons payment info was not kept in db
00075                 $oUserPayment = oxNew( "oxuserpayment" );
00076                 $oUserPayment->oxpayments__oxdesc->value = $oPayment->oxpayments__oxdesc->value;
00077             }
00078         }
00079 
00080         return $oUserPayment;
00081     }
00082 
00088     public function exportlex()
00089     {
00090         $sOrderNr   = oxConfig::getParameter( "ordernr");
00091         $sToOrderNr = oxConfig::getParameter( "toordernr");
00092 
00093         $oImex = oxNew( "oximex" );
00094         $sLexware = $oImex->exportLexwareOrders( $sOrderNr, $sToOrderNr);
00095 
00096         if ( isset( $sLexware) && $sLexware) {
00097             header("Pragma: public");
00098             header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
00099             header("Expires: 0");
00100             header("Content-type: application/x-download");
00101             header('Content-Length: '.strlen($sLexware));
00102             header("Content-Disposition: attachment; filename=intern.xml");
00103             echo( $sLexware);
00104             exit();
00105         }
00106     }
00112     public function createPDF()
00113     {
00114         $soxId = oxConfig::getParameter( "oxid");
00115         if ( $soxId != "-1" && isset( $soxId)) {
00116             // load object
00117             $oOrder = oxNew( "oxorder" );
00118             $oOrder->load( $soxId);
00119             $sFilename = $oOrder->oxorder__oxordernr->value."_".$oOrder->oxorder__oxbilllname->value.".pdf";
00120 
00121             ob_start();
00122             $oOrder->genPDF( $sFilename, oxConfig::getParameter( "pdflanguage"));
00123             $sPDF = ob_get_contents();
00124             ob_end_clean();
00125 
00126             header("Pragma: public");
00127             header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
00128             header("Expires: 0");
00129             header("Content-type: application/pdf");
00130             header("Content-Disposition: attachment; filename=".$sFilename);
00131             echo( $sPDF);
00132             exit();
00133         }
00134 
00135     }
00136 
00142     public function exportDTAUS()
00143     {
00144         $iFromOrderNr = oxConfig::getParameter( "ordernr");
00145 
00146         $oOrderList = oxNew( "oxlist" );
00147         $oOrderList->init( "oxorder");
00148         $sSelect =  "select * from oxorder where oxpaymenttype = 'oxiddebitnote'";
00149 
00150         if ( isset( $iFromOrderNr) && $iFromOrderNr)
00151             $sSelect .= " and oxordernr >= $iFromOrderNr";
00152 
00153         $oOrderList->selectString( $sSelect);
00154 
00155         if ( !count( $oOrderList))
00156             return;
00157 
00158         $oPayment = oxNew( "oxuserpayment" );
00159         $oShop = $this->getConfig()->getActiveShop();
00160         $dtaus = new DTAUS("L", $oShop->oxshops__oxcompany->value, str_replace( " ", "", $oShop->oxshops__oxbankcode->value), str_replace( " ", "", $oShop->oxshops__oxbanknumber->value));
00161 
00162         $myUtils = oxUtils::getInstance();
00163         $myLang  = oxLang::getInstance();
00164         foreach ( $oOrderList as $oOrder) {
00165             $oPayment->load( $oOrder->oxorder__oxpaymentid->value);
00166             $aDynValues = $myUtils->assignValuesFromText( $oPayment->oxuserpayments__oxvalue->value );
00167             // #630
00168             //$dtaus->addTransaktion( $aDynValues[3]->value, str_replace( array(" ", "-"), "", $aDynValues[1]->value), str_replace( array(" ", "-"), "", $aDynValues[2]->value), str_replace( ",", ".",$oOrder->ftotalorder), $oShop->oxshops__oxname->getRawValue(), oxLang::getInstance()->translateString("order")." ".$oOrder->oxorder__oxordernr->value,"");
00169             $dtaus->addTransaktion( $aDynValues[3]->value, str_replace( " ", "", $aDynValues[1]->value), str_replace( " ", "", $aDynValues[2]->value), str_replace( ",", ".", $oOrder->ftotalorder), $oShop->oxshops__oxname->getRawValue(), $myLang->translateString("order")." ".$oOrder->oxorder__oxordernr->value, "");
00170 
00171         }
00172 
00173         header("Content-Disposition: attachment; filename=\"dtaus0.txt\"");
00174         header("Content-type: text/plain");
00175         header("Cache-control: public");
00176 
00177         echo(  $dtaus->create());
00178         exit();
00179     }
00180 
00186     public function sendorder()
00187     {
00188         $soxId  = oxConfig::getParameter( "oxid");
00189         $oOrder = oxNew( "oxorder" );
00190         $oOrder->load( $soxId);
00191 
00192         // #632A
00193         $timeout = oxUtilsDate::getInstance()->getTime(); //time();
00194         $now = date("Y-m-d H:i:s", $timeout);
00195         $oOrder->oxorder__oxsenddate->setValue($now);
00196         $oOrder->save();
00197 
00198         // #1071C
00199         $oOrderArticles = $oOrder->getOrderArticles();
00200         foreach ( $oOrderArticles as $oxid=>$oArticle) {
00201             // remove canceled articles from list
00202             if ( $oArticle->oxorderarticles__oxstorno->value == 1 )
00203                 $oOrderArticles->offsetUnset($oxid);
00204         }
00205 
00206         $blMail  = oxConfig::getParameter( "sendmail");
00207         if ( isset( $blMail) && $blMail) {
00208             // send eMail
00209             $oxEMail = oxNew( "oxemail" );
00210             $oxEMail->sendSendedNowMail( $oOrder );
00211         }
00212     }
00213 
00219     public function resetorder()
00220     {
00221         $soxId  = oxConfig::getParameter( "oxid");
00222         $oOrder = oxNew( "oxorder" );
00223         $oOrder->load( $soxId);
00224 
00225         $oOrder->oxorder__oxsenddate->setValue("0000-00-00 00:00:00");
00226         $oOrder->save();
00227     }
00228 
00234     public function canExport()
00235     {
00236         //V #529: check if PDF invoice modul is active
00237         if ( oxUtilsObject::getInstance()->isModuleActive( 'oxorder', 'myorder' ) ) {
00238             $oDb = oxDb::getDb();
00239             $sOrderId = oxConfig::getParameter( "oxid" );
00240             $sTable = getViewName( "oxorderarticles" );
00241             $sQ = "select count(oxid) from {$sTable} where oxorderid = ".$oDb->quote( $sOrderId )." and oxstorno = 0";
00242             return (bool) $oDb->getOne( $sQ );
00243         }
00244         return false;
00245     }
00246 }

Generated on Tue Sep 29 16:45:12 2009 for OXID eShop CE by  doxygen 1.5.5