00001 <?php
00002
00003
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
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
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
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
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 if ( isset( $sLexware) && $sLexware) {
00096 header("Pragma: public");
00097 header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
00098 header("Expires: 0");
00099 header("Content-type: application/x-download");
00100 header('Content-Length: '.getStr()->strlen($sLexware));
00101 header("Content-Disposition: attachment; filename=intern.xml");
00102 echo( $sLexware);
00103 exit();
00104 }
00105 }
00111 public function createPDF()
00112 {
00113 $soxId = oxConfig::getParameter( "oxid");
00114 if ( $soxId != "-1" && isset( $soxId)) {
00115
00116 $oOrder = oxNew( "oxorder" );
00117 $oOrder->load( $soxId);
00118 $sFilename = $oOrder->oxorder__oxordernr->value."_".$oOrder->oxorder__oxbilllname->value.".pdf";
00119
00120 ob_start();
00121 $oOrder->genPDF( $sFilename, oxConfig::getParameter( "pdflanguage"));
00122 $sPDF = ob_get_contents();
00123 ob_end_clean();
00124
00125 header("Pragma: public");
00126 header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
00127 header("Expires: 0");
00128 header("Content-type: application/pdf");
00129 header("Content-Disposition: attachment; filename=".$sFilename);
00130 echo( $sPDF);
00131 exit();
00132 }
00133
00134 }
00135
00141 public function exportDTAUS()
00142 {
00143 $iFromOrderNr = oxConfig::getParameter( "ordernr");
00144
00145 $oOrderList = oxNew( "oxlist" );
00146 $oOrderList->init( "oxorder");
00147 $sSelect = "select * from oxorder where oxpaymenttype = 'oxiddebitnote'";
00148
00149 if ( isset( $iFromOrderNr) && $iFromOrderNr)
00150 $sSelect .= " and oxordernr >= $iFromOrderNr";
00151
00152 $oOrderList->selectString( $sSelect);
00153
00154 if ( !count( $oOrderList))
00155 return;
00156
00157 $oPayment = oxNew( "oxuserpayment" );
00158 $oShop = $this->getConfig()->getActiveShop();
00159 $dtaus = new DTAUS("L", $oShop->oxshops__oxcompany->value, str_replace( " ", "", $oShop->oxshops__oxbankcode->value), str_replace( " ", "", $oShop->oxshops__oxbanknumber->value));
00160
00161 $myUtils = oxUtils::getInstance();
00162 $myLang = oxLang::getInstance();
00163 foreach ( $oOrderList as $oOrder) {
00164 $oPayment->load( $oOrder->oxorder__oxpaymentid->value);
00165 $aDynValues = $myUtils->assignValuesFromText( $oPayment->oxuserpayments__oxvalue->value );
00166
00167
00168 $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, "");
00169
00170 }
00171
00172 header("Content-Disposition: attachment; filename=\"dtaus0.txt\"");
00173 header("Content-type: text/plain");
00174 header("Cache-control: public");
00175
00176 echo( $dtaus->create());
00177 exit();
00178 }
00179
00185 public function sendorder()
00186 {
00187 $soxId = oxConfig::getParameter( "oxid");
00188 $oOrder = oxNew( "oxorder" );
00189 $oOrder->load( $soxId);
00190
00191
00192 $timeout = oxUtilsDate::getInstance()->getTime();
00193 $now = date("Y-m-d H:i:s", $timeout);
00194 $oOrder->oxorder__oxsenddate->setValue($now);
00195 $oOrder->save();
00196
00197
00198 $oOrderArticles = $oOrder->getOrderArticles();
00199 foreach ( $oOrderArticles as $oxid=>$oArticle) {
00200
00201 if ( $oArticle->oxorderarticles__oxstorno->value == 1 )
00202 $oOrderArticles->offsetUnset($oxid);
00203 }
00204
00205 $blMail = oxConfig::getParameter( "sendmail");
00206 if ( isset( $blMail) && $blMail) {
00207
00208 $oxEMail = oxNew( "oxemail" );
00209 $oxEMail->sendSendedNowMail( $oOrder );
00210 }
00211 }
00212
00218 public function resetorder()
00219 {
00220 $soxId = oxConfig::getParameter( "oxid");
00221 $oOrder = oxNew( "oxorder" );
00222 $oOrder->load( $soxId);
00223
00224 $oOrder->oxorder__oxsenddate->setValue("0000-00-00 00:00:00");
00225 $oOrder->save();
00226 }
00227
00233 public function canExport()
00234 {
00235
00236 if ( oxUtilsObject::getInstance()->isModuleActive( 'oxorder', 'myorder' ) ) {
00237 $oDb = oxDb::getDb();
00238 $sOrderId = oxConfig::getParameter( "oxid" );
00239 $sTable = getViewName( "oxorderarticles" );
00240 $sQ = "select count(oxid) from {$sTable} where oxorderid = ".$oDb->quote( $sOrderId )." and oxstorno = 0";
00241 return (bool) $oDb->getOne( $sQ );
00242 }
00243 return false;
00244 }
00245 }