public function getEditFields($treeId, $moduleId) { $return = array(); $data = array(); $temp = array(); $sql = 'SELECT *, ' . $moduleId . ' AS module FROM {{data}} WHERE tree=' . $treeId . ' AND type NOT IN(\'' . implode('\',\'', Fields::$featuresField) . '\') ORDER BY num'; $additional = DB::getAll($sql); foreach ($additional as $item) { $temp[] = $item['path']; } $data = Work::getFields($moduleId); $sql = 'SELECT *, ' . $moduleId . ' AS module FROM {{catalog}} WHERE tree=' . $treeId . ''; $catalog = DB::getRow($sql); foreach ($data as $key => $item) { if (in_array($item['path'], OneSSA::$catalogStandart)) { $data[$key][Fields::$types[$item['type']]['type']] = $catalog[$item['path']]; } else { if (in_array($data[$key]['path'], $temp)) { unset($data[$key]); } } } $data = array_merge($data, $additional); if (Funcs::$prop['fieldsort'] == 0) { return $data; } else { $fields = Fields::getFieldsByModule($moduleId); foreach ($fields as $field) { foreach ($data as $item) { if ($field['path'] == $item['path']) { $return[] = $item; } } } return $return; } }
public function getOutFieldsByTree($opt = 0) { $modul = Module::getModuleByTree(Funcs::$uri[2], 0); if ($modul['type'] == 'struct') { $sql = ' SELECT {{tree}}.id FROM {{tree}} INNER JOIN {{catalog}} ON {{catalog}}.tree={{tree}}.id WHERE parent=' . Funcs::$uri[2] . ' ORDER BY num LIMIT 0,1 '; if (DB::getOne($sql)) { $modul = Module::getModuleByPath(str_replace('struct_', '', $modul['path'])); } } if (!$modul['id']) { return array(); } if ($opt == 0) { $list = array_merge(Fields::$fieldsStandart, Fields::getFieldsByModule($modul['id'])); foreach ($list as $key => $item) { if (in_array($item['path'], OneSSA::$catalogStandart)) { $list[$key]['isCatalog'] = true; } } return $list; } else { return Fields::getFieldsByModule($modul['id']); } }
public function getEditFields($treeId, $moduleId) { $return = array(); $data = array(); $temp = array(); $sql = 'SELECT *, ' . $moduleId . ' AS module FROM {{data}} WHERE tree=' . $treeId . ' ORDER BY num'; $additional = DB::getAll($sql); foreach ($additional as $item) { $temp[] = $item['path']; } $data = Work::getFields($moduleId); $sql = 'SELECT * FROM {{fields}} WHERE module=' . $moduleId . ' AND innerf=1 ORDER BY num'; $fields = DB::getRow($sql); foreach ($data as $key => $item) { /*if(in_array($item['path'],Fields::$catalogStandart)){ $data[$key][Fields::$types[$item['type']]['type']]=$fields[$item['path']]; }else{*/ if (in_array($data[$key]['path'], $temp)) { unset($data[$key]); } //} } $data = array_merge($data, $additional); if (Funcs::$prop['fieldsort'] == 0) { return $data; } else { $fields = Fields::getFieldsByModule($moduleId); foreach ($fields as $field) { foreach ($data as $item) { if ($field['path'] == $item['path']) { $return[] = $item; } } } return $return; } }
public static function getWorkFields($id) { $data = array(); $module = Module::getModuleByTree($id); $reserveFieldsList = Fields::getFieldsByModule($module['id']); foreach ($reserveFieldsList as $item) { $reserveFields[$item['path']] = true; } $fields = Fields::getFieldsByTree($id); if ($fields['video']) { $data[] = $fields['video']; } if ($fields['pics']) { $data[] = $fields['pics']; } $data[] = $fields['fulltext']; foreach ($fields as $key => $item) { if (!isset($reserveFields[$key])) { $data[$key] = $item; } } return $data; }