Пример #1
0
 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;
     }
 }
Пример #2
0
    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']);
        }
    }
Пример #3
0
 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;
     }
 }
Пример #4
0
 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;
 }