oxerptype_order.php

Go to the documentation of this file.
00001 <?php
00002 
00003 require_once( 'oxerptype.php');
00004 
00005 
00006 class oxERPType_Order extends oxERPType
00007 {
00008     protected $_aFieldListVersions = array(
00009         '1' => array(
00010             'OXID'           => 'OXID',
00011             'OXSHOPID'       => 'OXSHOPID',
00012             'OXUSERID'       => 'OXUSERID',
00013             'OXORDERDATE'    => 'OXORDERDATE', //always now()
00014             'OXORDERNR'      => 'OXORDERNR',
00015             'OXBILLCOMPANY'  => 'OXBILLCOMPANY',
00016             'OXBILLEMAIL'    => 'OXBILLEMAIL',
00017             'OXBILLFNAME'    => 'OXBILLFNAME',
00018             'OXBILLLNAME'    => 'OXBILLLNAME',
00019             'OXBILLSTREET'   => 'OXBILLSTREET',
00020             'OXBILLSTREETNR' => 'OXBILLSTREETNR',
00021             'OXBILLADDINFO'  => 'OXBILLADDINFO',
00022             'OXBILLUSTID'    => 'OXBILLUSTID',
00023             'OXBILLCITY'     => 'OXBILLCITY',
00024             'OXBILLCOUNTRY'  => 'OXBILLCOUNTRY',
00025             'OXBILLZIP'      => 'OXBILLZIP',
00026             'OXBILLFON'      => 'OXBILLFON',
00027             'OXBILLFAX'      => 'OXBILLFAX',
00028             'OXBILLSAL'      => 'OXBILLSAL',
00029             'OXDELCOMPANY'   => 'OXDELCOMPANY',
00030             'OXDELFNAME'     => 'OXDELFNAME',
00031             'OXDELLNAME'     => 'OXDELLNAME',
00032             'OXDELSTREET'    => 'OXDELSTREET',
00033             'OXDELSTREETNR'  => 'OXDELSTREETNR',
00034             'OXDELADDINFO'   => 'OXDELADDINFO',
00035             'OXDELCITY'      => 'OXDELCITY',
00036             'OXDELCOUNTRY'   => 'OXDELCOUNTRY',
00037             'OXDELZIP'       => 'OXDELZIP',
00038             'OXDELFON'       => 'OXDELFON',
00039             'OXDELFAX'       => 'OXDELFAX',
00040             'OXDELSAL'       => 'OXDELSAL',
00041             'OXPAYMENTID'    => 'OXPAYMENTID',
00042             'OXPAYMENTTYPE'  => 'OXPAYMENTTYPE',
00043             'OXDELCOST'      => 'OXDELCOST',
00044             'OXDELVAT'       => 'OXDELVAT',
00045             'OXPAYCOST'      => 'OXPAYCOST',
00046             'OXPAYVAT'       => 'OXPAYVAT',
00047             'OXWRAPCOST'     => 'OXWRAPCOST',
00048             'OXWRAPVAT'      => 'OXWRAPVAT',
00049             'OXCARDID'       => 'OXCARDID',
00050             'OXCARDTEXT'     => 'OXCARDTEXT',
00051             'OXDISCOUNT'     => 'OXDISCOUNT',
00052             'OXEXPORT'       => 'OXEXPORT',
00053             'OXBILLNR'       => 'OXBILLNR',
00054             'OXTRACKCODE'    => 'OXTRACKCODE',
00055             'OXSENDDATE'     => 'OXSENDDATE',
00056             'OXREMARK'       => 'OXREMARK',
00057             'OXVOUCHERDISCOUNT'      => 'OXVOUCHERDISCOUNT',
00058             'OXCURRENCY'     => 'OXCURRENCY',
00059             'OXCURRATE'      => 'OXCURRATE',
00060             'OXFOLDER'       => 'OXFOLDER', //also not possible to set from external
00061             'OXPIDENT'       => 'OXPIDENT',
00062             'OXTRANSID'      => 'OXTRANSID',
00063             'OXPAYID'        => 'OXPAYID',
00064             'OXXID'          => 'OXXID',
00065             'OXPAID'         => 'OXPAID',
00066             'OXSTORNO'       => 'OXSTORNO',
00067             'OXIP'           => 'OXIP',
00068             'OXTRANSSTATUS'  => 'OXTRANSSTATUS',
00069             'OXLANG'         => 'OXLANG',
00070             'OXINVOICENR'    => 'OXINVOICENR',
00071             'OXPHAPPROVED'   => 'OXPHAPPROVED',
00072             'OXPHISPHORDER'  => 'OXPHISPHORDER',
00073             'OXDELTYPE'      => 'OXDELTYPE',
00074             'OXPIXIEXPORT'   => 'OXPIXIEXPORT',
00075         ),
00076         '2' => array(
00077             'OXID' => 'OXID',
00078             'OXSHOPID' => 'OXSHOPID',
00079             'OXUSERID' => 'OXUSERID',
00080             'OXORDERDATE' => 'OXORDERDATE',
00081             'OXORDERNR' => 'OXORDERNR',
00082             'OXBILLCOMPANY' => 'OXBILLCOMPANY',
00083             'OXBILLEMAIL' => 'OXBILLEMAIL',
00084             'OXBILLFNAME' => 'OXBILLFNAME',
00085             'OXBILLLNAME' => 'OXBILLLNAME',
00086             'OXBILLSTREET' => 'OXBILLSTREET',
00087             'OXBILLSTREETNR' => 'OXBILLSTREETNR',
00088             'OXBILLADDINFO' => 'OXBILLADDINFO',
00089             'OXBILLUSTID' => 'OXBILLUSTID',
00090             'OXBILLUSTIDSTATUS' => 'OXBILLUSTIDSTATUS',
00091             'OXBILLCITY' => 'OXBILLCITY',
00092             'OXBILLCOUNTRYID' => 'OXBILLCOUNTRYID',
00093             'OXBILLZIP' => 'OXBILLZIP',
00094             'OXBILLFON' => 'OXBILLFON',
00095             'OXBILLFAX' => 'OXBILLFAX',
00096             'OXBILLSAL' => 'OXBILLSAL',
00097             'OXDELCOMPANY' => 'OXDELCOMPANY',
00098             'OXDELFNAME' => 'OXDELFNAME',
00099             'OXDELLNAME' => 'OXDELLNAME',
00100             'OXDELSTREET' => 'OXDELSTREET',
00101             'OXDELSTREETNR' => 'OXDELSTREETNR',
00102             'OXDELADDINFO' => 'OXDELADDINFO',
00103             'OXDELCITY' => 'OXDELCITY',
00104             'OXDELCOUNTRYID' => 'OXDELCOUNTRYID',
00105             'OXDELZIP' => 'OXDELZIP',
00106             'OXDELFON' => 'OXDELFON',
00107             'OXDELFAX' => 'OXDELFAX',
00108             'OXDELSAL' => 'OXDELSAL',
00109             'OXPAYMENTID' => 'OXPAYMENTID',
00110             'OXPAYMENTTYPE' => 'OXPAYMENTTYPE',
00111             'OXTOTALNETSUM' => 'OXTOTALNETSUM',
00112             'OXTOTALBRUTSUM' => 'OXTOTALBRUTSUM',
00113             'OXTOTALORDERSUM' => 'OXTOTALORDERSUM',
00114             'OXDELCOST' => 'OXDELCOST',
00115             'OXDELVAT' => 'OXDELVAT',
00116             'OXPAYCOST' => 'OXPAYCOST',
00117             'OXPAYVAT' => 'OXPAYVAT',
00118             'OXWRAPCOST' => 'OXWRAPCOST',
00119             'OXWRAPVAT' => 'OXWRAPVAT',
00120             'OXCARDID' => 'OXCARDID',
00121             'OXCARDTEXT' => 'OXCARDTEXT',
00122             'OXDISCOUNT' => 'OXDISCOUNT',
00123             'OXEXPORT' => 'OXEXPORT',
00124             'OXBILLNR' => 'OXBILLNR',
00125             'OXTRACKCODE' => 'OXTRACKCODE',
00126             'OXSENDDATE' => 'OXSENDDATE',
00127             'OXREMARK' => 'OXREMARK',
00128             'OXVOUCHERDISCOUNT' => 'OXVOUCHERDISCOUNT',
00129             'OXCURRENCY' => 'OXCURRENCY',
00130             'OXCURRATE' => 'OXCURRATE',
00131             'OXFOLDER' => 'OXFOLDER',
00132             'OXPIDENT' => 'OXPIDENT',
00133             'OXTRANSID' => 'OXTRANSID',
00134             'OXPAYID' => 'OXPAYID',
00135             'OXXID' => 'OXXID',
00136             'OXPAID' => 'OXPAID',
00137             'OXSTORNO' => 'OXSTORNO',
00138             'OXIP' => 'OXIP',
00139             'OXTRANSSTATUS' => 'OXTRANSSTATUS',
00140             'OXLANG' => 'OXLANG',
00141             'OXINVOICENR' => 'OXINVOICENR',
00142             'OXDELTYPE' => 'OXDELTYPE',
00143             'OXPIXIEXPORT' => 'OXPIXIEXPORT',
00144         ),
00145     );
00146 
00147 
00148     public function __construct()
00149     {
00150         parent::__construct();
00151 
00152         $this->_sTableName = 'oxorder';
00153         $this->_sShopObjectName = 'oxorder';
00154         $this->_blRestrictedByShopId = true;
00155     }
00156 
00165     protected function getSqlFieldName($sField, $iLanguage = 0, $iShopID = 1)
00166     {
00167         if ('1' == oxERPBase::getUsedDbFieldsVersion()) {
00168             switch ($sField) {
00169                 case 'OXBILLCOUNTRY':
00170                     return "(select oxtitle from oxcountry where oxcountry.oxid = OXBILLCOUNTRYID limit 1) as OXBILLCOUNTRY";
00171                 case 'OXDELCOUNTRY':
00172                     return "(select oxtitle from oxcountry where oxcountry.oxid = OXDELCOUNTRYID limit 1) as OXDELCOUNTRY";
00173                 case 'OXPHAPPROVED':
00174                 case 'OXPHISPHORDER':
00175                     return "'' as $sField";
00176             }
00177         }
00178         return parent::getSqlFieldName($sField, $iLanguage, $iShopID);
00179     }
00180 
00188     protected function _preAssignObject($oShopObject, $aData, $blAllowCustomShopId)
00189     {
00190         $aData = parent::_preAssignObject($oShopObject, $aData, $blAllowCustomShopId);
00191 
00192         if ('1' == oxERPBase::getUsedDbFieldsVersion()) {
00193             $oDb = oxDb::getDb();
00194             $sTitle = mysql_real_escape_string($aData['OXBILLCOUNTRY']);
00195             if ($id = $oDb->getOne("select oxid from oxcountry where oxtitle = '$sTitle' limit 1")) {
00196                 $aData['OXBILLCOUNTRYID'] = $id;
00197             }
00198             $sTitle = mysql_real_escape_string($aData['OXDELCOUNTRY']);
00199             if ($id = $oDb->getOne("select oxid from oxcountry where oxtitle = '$sTitle' limit 1")) {
00200                 $aData['OXDELCOUNTRYID'] = $id;
00201             }
00202         }
00203         return $aData;
00204     }
00205 
00213     protected function _postSaveObject($oShopObject, $aData)
00214     {
00215         if ('1' == oxERPBase::getRequestedVersion()) {
00216             if (!$aData['OXORDERNR']) {
00217                 // version 1 erp did NOT have order number ajustments, for using them, use 1.1 version
00218                 if ($sOxid = $oShopObject->getId()) {
00219                     oxDb::getDb()->Execute("update oxorder set oxordernr=0 where oxid='$sOxid' limit 1");
00220                 }
00221             }
00222         }elseif ('1.1' == oxERPBase::getRequestedVersion()) {
00223             return array('OXID'=>$oShopObject->getId(), 'OXORDERNR'=>$oShopObject->oxorder__oxordernr->value);
00224         }
00225         return parent::_postSaveObject($oShopObject, $aData);
00226     }
00227 }

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