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 }