function run($row) { $row['slideshowGroup'] = GalleryWidget::$slideshowGroup; GalleryWidget::$slideshowGroup++; $row['files'] = array(); if (is_numeric($row['tree'])) { $sql = ' SELECT id FROM {{data}} WHERE tree=' . $row['tree'] . ' AND path=\'' . $row['path'] . '\' AND type=\'gallery\' '; $dataId = DB::getOne($sql); if ($dataId) { $sql = ' SELECT id2 FROM {{relations}} WHERE modul1=\'data\' AND modul2=\'files\' AND id1=' . $dataId . ' '; $fileId = DB::getAll($sql, 'id2'); if (count($fileId) > 0) { $sql = ' SELECT * FROM {{files}} WHERE id IN (' . implode(',', $fileId) . ') ORDER BY num '; $temp = DB::getAll($sql); foreach ($temp as $item) { $item['file'] = Funcs::getFileInfo($item['path']); $row['files'][$item['mime']][] = $item; } } } } GalleryWidget::$files = $row['files']; return View::getWidget('galleryWidget', $row); }
public static function getFieldsByTree($id, $option = '') { $gal = 0; $data = array(); $return = array(); $sql = 'SELECT * FROM {{data}} WHERE tree=' . $id . ' AND field=0 ORDER BY num'; $additional = DB::getAll($sql); foreach ($additional as $item) { if ($item['type'] == 'editor' || $item['type'] == 'text') { if ($_SESSION['user']['panel']['edit'] == 'on') { $item['value'] = $item['value_text']; $item['field'] = 'value_text'; $data[$item['path']] = View::getRenderEmpty('../' . ONESSA_DIR . '/views/onessa/field', $item); } else { $data[$item['path']] = $item['value_text']; } } elseif ($item['type'] == 'string') { if ($_SESSION['user']['panel']['edit'] == 'on') { $item['value'] = $item['value_string']; $item['field'] = 'value_string'; $data[$item['path']] = View::getRenderEmpty('../' . ONESSA_DIR . '/views/onessa/field', $item); } else { $data[$item['path']] = $item['value_string']; } } elseif ($item['type'] == 'integer') { $data[$item['path']] = $item['value_int']; } elseif ($item['type'] == 'radio') { //$data[$item['path']]=$item['value_int']; $data[$item['path']] = $item['value_int'] == 1 ? 'Да' : 'Нет'; } elseif ($item['type'] == 'float') { $data[$item['path']] = $item['value_float']; } elseif ($item['type'] == 'select') { $data[$item['path']] = $item['value_text']; } elseif ($item['type'] == 'gallery') { $galname = $item['path']; if ($option == 'gal') { $gal++; $galname = 'gal' . $gal; } if (class_exists(GalleryWidget)) { $data[$galname] = GalleryWidget::run($item); if ($option == 'wide' || $option == 'gal') { $data['files_' . $galname] = GalleryWidget::$files; } } else { $sql = ' SELECT id FROM {{data}} WHERE tree=' . $item['tree'] . ' AND path=\'' . $item['path'] . '\' AND type=\'gallery\' '; $dataId = DB::getOne($sql); if ($dataId) { $sql = ' SELECT id2 FROM {{relations}} WHERE modul1=\'data\' AND modul2=\'files\' AND id1=' . $dataId . ' '; $fileId = DB::getAll($sql, 'id2'); if (count($fileId) > 0) { $sql = ' SELECT * FROM {{files}} WHERE id IN (' . implode(',', $fileId) . ') ORDER BY num '; $temp = DB::getAll($sql); foreach ($temp as $item) { $item['file'] = Funcs::getFileInfo($item['path']); $data['files_' . $galname][$item['mime']][] = $item; } } } } } elseif ($item['type'] != 'multival' && $item['type'] != 'multiselect' && $item['type'] != 'treeselectval' && $item['type'] != 'treeselect' && $item['type'] != 'select' && $item['type'] != 'fstring' && $item['type'] != 'fnumber' && $item['type'] != 'fcheckbox' && $item['type'] != 'fgroup') { $data[$item['type']] = FormWidget::run($item['type']); } } if ($option != 'wide') { foreach ($data as $key => $item) { if (is_numeric($key)) { $return['additional'] .= $item; } else { $return[$key] = $item; } } return $return; } else { return $data; } }