00001 <?php 00002 00003 require_once( 'oxerptype.php'); 00004 00005 class oxERPType_Category extends oxERPType 00006 { 00007 protected $_aFieldListVersions = array( 00008 '1' => array( 00009 'OXID' => 'OXID', 00010 'OXPARENTID' => 'OXPARENTID', 00011 'OXORDER' => 'OXORDER', 00012 'OXACTIV' => 'OXACTIV', 00013 'OXHIDDEN' => 'OXHIDDEN', 00014 'OXSHOPID' => 'OXSHOPID', 00015 'OXSHOPINCL' => 'OXSHOPINCL', 00016 'OXSHOPEXCL' => 'OXSHOPEXCL', 00017 'OXTITLE' => 'OXTITLE', 00018 'OXDESC' => 'OXDESC', 00019 'OXLONGDESC' => 'OXLONGDESC', 00020 'OXTHUMB' => 'OXTHUMB', 00021 'OXEXTLINK' => 'OXEXTLINK', 00022 'OXTEMPLATE' => 'OXTEMPLATE', 00023 'OXDEFSORT' => 'OXDEFSORT', 00024 'OXDEFSORTMODE' => 'OXDEFSORTMODE', 00025 'OXICON' => 'OXICON', 00026 'OXSKIPDISCOUNTS'=> 'OXSKIPDISCOUNTS', 00027 'OXACTIV_1' => 'OXACTIV_1', 00028 'OXTITLE_1' => 'OXTITLE_1', 00029 'OXDESC_1' => 'OXDESC_1', 00030 'OXLONGDESC_1' => 'OXLONGDESC_1', 00031 'OXACTIV_2' => 'OXACTIV_2', 00032 'OXTITLE_2' => 'OXTITLE_2', 00033 'OXDESC_2' => 'OXDESC_2', 00034 'OXLONGDESC_2' => 'OXLONGDESC_2', 00035 'OXACTIV_3' => 'OXACTIV_3', 00036 'OXTITLE_3' => 'OXTITLE_3', 00037 'OXDESC_3' => 'OXDESC_3', 00038 'OXLONGDESC_3' => 'OXLONGDESC_3', 00039 'OXPRICEFROM' => 'OXPRICEFROM', 00040 'OXPRICETO' => 'OXPRICETO', 00041 'OXTYPE' => 'OXTYPE', 00042 'OXSEOID' => 'OXSEOID', 00043 'OXSEOID_1' => 'OXSEOID_1', 00044 'OXSEOID_2' => 'OXSEOID_2', 00045 'OXSEOID_3' => 'OXSEOID_3' 00046 ), 00047 '2' => array( 00048 'OXID' => 'OXID', 00049 'OXPARENTID' => 'OXPARENTID', 00050 'OXLEFT' => 'OXLEFT', 00051 'OXRIGHT' => 'OXRIGHT', 00052 'OXROOTID' => 'OXROOTID', 00053 'OXSORT' => 'OXSORT', 00054 'OXACTIVE' => 'OXACTIVE', 00055 'OXHIDDEN' => 'OXHIDDEN', 00056 'OXSHOPID' => 'OXSHOPID', 00057 'OXSHOPINCL' => 'OXSHOPINCL', 00058 'OXSHOPEXCL' => 'OXSHOPEXCL', 00059 'OXTITLE' => 'OXTITLE', 00060 'OXDESC' => 'OXDESC', 00061 'OXLONGDESC' => 'OXLONGDESC', 00062 'OXTHUMB' => 'OXTHUMB', 00063 'OXEXTLINK' => 'OXEXTLINK', 00064 'OXTEMPLATE' => 'OXTEMPLATE', 00065 'OXDEFSORT' => 'OXDEFSORT', 00066 'OXDEFSORTMODE' => 'OXDEFSORTMODE', 00067 'OXPRICEFROM' => 'OXPRICEFROM', 00068 'OXPRICETO' => 'OXPRICETO', 00069 'OXACTIVE_1' => 'OXACTIVE_1', 00070 'OXTITLE_1' => 'OXTITLE_1', 00071 'OXDESC_1' => 'OXDESC_1', 00072 'OXLONGDESC_1' => 'OXLONGDESC_1', 00073 'OXACTIVE_2' => 'OXACTIVE_2', 00074 'OXTITLE_2' => 'OXTITLE_2', 00075 'OXDESC_2' => 'OXDESC_2', 00076 'OXLONGDESC_2' => 'OXLONGDESC_2', 00077 'OXACTIVE_3' => 'OXACTIVE_3', 00078 'OXTITLE_3' => 'OXTITLE_3', 00079 'OXDESC_3' => 'OXDESC_3', 00080 'OXLONGDESC_3' => 'OXLONGDESC_3', 00081 'OXICON' => 'OXICON', 00082 'OXVAT' => 'OXVAT', 00083 'OXSKIPDISCOUNTS' => 'OXSKIPDISCOUNTS', 00084 'OXSHOWSUFFIX' => 'OXSHOWSUFFIX', 00085 ), 00086 ); 00087 00088 public function __construct() 00089 { 00090 parent::__construct(); 00091 00092 $this->_sTableName = 'oxcategories'; 00093 $this->_sShopObjectName = 'oxcategory'; 00094 } 00095 00104 protected function getSqlFieldName($sField, $iLanguage = 0, $iShopID = 1) 00105 { 00106 if ('1' == oxERPBase::getUsedDbFieldsVersion()) { 00107 switch ($sField) { 00108 case 'OXTYPE': 00109 return "'0' as $sField"; 00110 case 'OXSEOID': 00111 case 'OXSEOID_1': 00112 case 'OXSEOID_2': 00113 case 'OXSEOID_3': 00114 return "'' as $sField"; 00115 case 'OXACTIV': 00116 return "OXACTIVE as OXACTIV"; 00117 case 'OXACTIV_1': 00118 return "OXACTIVE_1 as OXACTIV_1"; 00119 case 'OXACTIV_2': 00120 return "OXACTIVE_2 as OXACTIV_2"; 00121 case 'OXACTIV_3': 00122 return "OXACTIVE_3 as OXACTIV_3"; 00123 case 'OXORDER': 00124 return "OXSORT as $sField"; 00125 } 00126 } 00127 return parent::getSqlFieldName($sField, $iLanguage, $iShopID); 00128 } 00129 00137 protected function _preAssignObject($oShopObject, $aData, $blAllowCustomShopId) 00138 { 00139 $aData = parent::_preAssignObject($oShopObject, $aData, $blAllowCustomShopId); 00140 if ('1' == oxERPBase::getUsedDbFieldsVersion()) { 00141 if (!$aData['OXPARENTID']) { 00142 $aData['OXPARENTID'] = 'oxrootid'; 00143 } 00144 $aData['OXSORT'] = $aData['OXORDER']; 00145 } 00146 return $aData; 00147 } 00148 00149 }