oxerptype_orderstatus.php

Go to the documentation of this file.
00001 <?php
00002 
00003 require_once( 'oxerptype.php');
00004 
00005 class oxERPType_OrderStatus extends oxERPType
00006 {
00007     public function __construct()
00008     {
00009         parent::__construct();
00010 
00011         $this->_sTableName = 'oxorderarticles';
00012 
00013         $this->_aFieldList = array(
00014             'OXID'          => 'OXID',
00015             'OXERPSTATUS_STATUS'   => 'OXERPSTATUS_STATUS',
00016             'OXERPSTATUS_TIME'     => 'OXERPSTATUS_TIME',
00017             'OXERPSTATUS_TRACKID'  => 'OXERPSTATUS_TRACKID'
00018         );
00019     }
00020 
00021     public function getSQL( $sWhere, $iLanguage = 0, $iShopID = 1)
00022     {
00023          if( strstr( $sWhere, 'where'))
00024             $sWhere .= ' and ';
00025         else
00026             $sWhere .= ' where ';
00027 
00028         $sWhere .= 'oxordershopid = \''.$iShopID.'\'';
00029 
00030         return parent::getSQL($sWhere, $iLanguage, $iShopID);
00031     }
00032 
00033     public function checkWriteAccess($sOxid)
00034     {
00035         $myConfig = oxConfig::getInstance();
00036 
00037         $oDB = oxDb::getDb();
00038 
00039         $sSql = "select oxordershopid from ". $this->getTableName($myConfig->getShopId()) ." where oxid = '". $sOxid ."'";
00040         $sRes = $oDB->getOne($sSql);
00041 
00042         if($sRes && $sRes != $myConfig->getShopId()){
00043             throw new Exception( oxERPBase::$ERROR_USER_NO_RIGHTS);
00044         }
00045     }
00046 
00054     protected function _preAssignObject($oShopObject, $aData, $blAllowCustomShopId)
00055     {
00056         $aData = parent::_preAssignObject($oShopObject, $aData, $blAllowCustomShopId);
00057         if (isset($aData['OXERPSTATUS_STATUS'])
00058             && isset($aData['OXERPSTATUS_TIME'])
00059             && isset($aData['OXERPSTATUS_TRACKID']))
00060             {
00061             $oStatus = new stdClass();
00062             $oStatus->STATUS        = $aData['OXERPSTATUS_STATUS'];
00063             $oStatus->date          = $aData['OXERPSTATUS_TIME'];
00064             $oStatus->trackingid    = $aData['OXERPSTATUS_TRACKID'];
00065             $aData['OXERPSTATUS']   = serialize( $oStatus );
00066         }
00067         return $aData;
00068     }
00069 
00075     public function addExportData( $aFields)
00076     {
00077         if ($aFields['OXERPSTATUS']) {
00078             $oStatus = @unserialize($aFields['OXERPSTATUS']);
00079             unset($aFields['OXERPSTATUS']);
00080             if (is_object($oStatus)) {
00081                 $aFields['OXERPSTATUS_STATUS']  = $oStatus->STATUS;
00082                 $aFields['OXERPSTATUS_TIME']    = $oStatus->date;
00083                 $aFields['OXERPSTATUS_TRACKID'] = $oStatus->trackingid;
00084             }
00085         }
00086         return $aFields;
00087     }
00088 
00089 
00098     protected function getSqlFieldName($sField, $iLanguage = 0, $iShopID = 1)
00099     {
00100         switch ($sField) {
00101             case 'OXERPSTATUS_STATUS':
00102                 return "(OXERPSTATUS) as OXERPSTATUS";
00103             case 'OXERPSTATUS_TIME':
00104             case 'OXERPSTATUS_TRACKID':
00105                 return "'' as $sField";
00106         }
00107 
00108         return parent::getSqlFieldName($sField, $iLanguage, $iShopID);
00109     }
00110 
00111 
00112 }

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