public function preview() { $id = $this->_request->get_get('node_id'); $layout = $this->_request->get_get('layout'); $theme = kernel::single('site_theme_base')->get_default(); kernel::single('content_article_node')->editor($id, $layout); kernel::single('base_session')->close(); $render = new base_render(app::get('content')); $render->force_compile = true; $render->_compiler()->set_view_helper('function_header', 'content_article_helper'); $render->_compiler()->set_view_helper('function_footer', 'content_article_helper'); $render->_compiler()->set_compile_helper('compile_widgets', kernel::single('content_article_complier')); $render->pagedata['include'] = 'content_node:' . $id; $render->pagedata['theme'] = $theme; $render->display('admin/node/single/frame.html', 'content'); }
function detail_basic($id) { $recycle = app::get('desktop')->model('recycle'); $row = $recycle->dump($id); $item_sdf = $row['item_sdf']; $obj = app::get($row['app_key'])->model($row['item_type']); $schema = $obj->get_schema(); $render = new base_render($this->app); foreach ($item_sdf as $key => $value) { if (!is_array($value)) { $label = $schema['columns'][$key]['label']; $tmp[$label ? $label : $key] = $value; } } $render->pagedata['sdf'] = $tmp; $render->display('recycle.html'); }
function main() { $finder_aliasname = $_GET['finder_aliasname'] ? $_GET['finder_aliasname'] : $_POST['finder_aliasname']; if (!$finder_aliasname || $finder_aliasname == '') { $finder_aliasname = 'default'; } if ($_POST['col']) { $finder_aliasname = $finder_aliasname . '.' . $this->controller->user->user_id; $cols = $this->app->setConf('view.' . $this->object_name . '.' . $finder_aliasname, implode(',', $_POST['col'])); if ($_POST['allcol']) { $this->app->setConf('listorder.' . $this->object_name . '.' . $finder_aliasname, implode(',', $_POST['allcol'])); } header('Content-Type:application/json; charset=utf-8'); echo '{"success":"' . '设置成功' . '"}'; } else { $in_use = array_flip($this->getColumns()); $all_columns = $this->all_columns(); $listorder = explode(',', $this->app->getConf('listorder.' . $this->object_name . '.' . $finder_aliasname . '.' . $this->controller->user->user_id)); if ($listorder) { $ordered_columns = array(); foreach ($listorder as $col) { if (isset($all_columns[$col])) { $ordered_columns[$col] = $all_columns[$col]; unset($all_columns[$col]); } } $all_columns = array_merge((array) $ordered_columns, (array) $all_columns); $ordered_columns = null; } $render = new base_render(app::get('desktop')); $render->pagedata['columns'] = $all_columns; $render->pagedata['use'] = array_keys($in_use); $render->pagedata['action'] = 'index.php?' . $_SERVER['QUERY_STRING']; $render->display('finder/column.html'); } }
function main($object_name, $app, $filter = null, $controller = null, $cusrender = null) { if (strpos($_GET['object'], '@') !== false) { $tmp = explode('@', $object_name); $app = app::get($tmp[1]); $object_name = $tmp[0]; } $object = $app->model($object_name); $ui = new base_component_ui($this->controller, $app); require APP_DIR . '/base/datatypes.php'; $this->dbschema = $object->get_schema(); $finder_id = $_GET['_finder']['finder_id']; foreach (kernel::servicelist('extend_filter_' . get_class($object)) as $extend_filter) { $colums = $extend_filter->get_extend_colums($this->finder_aliasname); if ($colums[$object_name]) { $this->dbschema['columns'] = array_merge((array) $this->dbschema['columns'], (array) $colums[$object_name]['columns']); } } foreach ($this->dbschema['columns'] as $c => $v) { if (!$v['filtertype']) { continue; } if (isset($filter[$c])) { continue; } if (!is_array($v['type'])) { if (strpos($v['type'], 'decimal') !== false && $v['filtertype'] == 'number') { $v['type'] = 'number'; } } $columns[$c] = $v; if (!is_array($v['type']) && $v['type'] != 'bool' && isset($datatypes[$v['type']]) && isset($datatypes[$v['type']]['searchparams'])) { $addon = '<select search="1" name="_' . $c . '_search" class="x-input-select inputstyle">'; foreach ($datatypes[$v['type']]['searchparams'] as $n => $t) { $addon .= "<option value='{$n}'>{$t}</option>"; } $addon .= '</select>'; } elseif ($v['type'] == 'skunum') { $addon = '<select search="1" name="_' . $c . '_search" class="x-input-select inputstyle">'; $__select = array('nequal' => app::get('base')->_('='), 'than' => app::get('base')->_('>'), 'lthan' => app::get('base')->_('<')); foreach ($__select as $n => $t) { $addon .= "<option value='{$n}'>{$t}</option>"; } $addon .= '</select>'; } else { if ($v['type'] != 'bool') { $addon = app::get('desktop')->_('是'); } else { $addon = ''; } } $columns[$c]['addon'] = $addon; if ($v['type'] == 'last_modify') { $v['type'] = 'time'; } $params = array('type' => $v['type'], 'name' => $c); if ($v['type'] == 'bool' && $v['default']) { $params = array_merge(array('value' => $v['default']), $params); } if ($this->name_prefix) { $params['name'] = $this->name_prefix . '[' . $params['name'] . ']'; } if ($v['type'] == 'region') { $params['app'] = 'ectools'; } $inputer = $ui->input($params); $columns[$c]['inputer'] = $inputer; } if ($cusrender) { return array('filter_cols' => $columns, 'filter_datatypes' => $datatypes); } $render = new base_render(app::get('desktop')); if ($object->has_tag) { $render->pagedata['app_id'] = $app->app_id; $render->pagedata['tag_type'] = $object_name; $tag_inputer = $render->fetch('finder/tag_inputer.html'); $columns['tag'] = array('filtertype' => true, 'filterdefault' => true, 'label' => app::get('desktop')->_('标签'), 'inputer' => $tag_inputer); } if (is_null($this->finder)) { $render->pagedata['panel_id'] = '_c'; } else { $render->pagedata['panel_id'] = $this->finder->getId(); } $render->pagedata['columns'] = $columns; $render->pagedata['datatypes'] = $datatypes; $render->pagedata['finder_id'] = $finder_id; return $render->display($this->finder->getFile(), $app->app_id, true); }
public function main($object_name, $app, $filter = null, $controller = null, $cusrender = null) { if (strpos($_GET['object'], '@') !== false) { $tmp = explode('@', $object_name); $app = app::get($tmp[1]); $object_name = $tmp[0]; } $object = $app->model($object_name); require APP_DIR . '/base/datatypes.php'; $this->dbschema = $object->get_schema(); foreach (vmc::servicelist('extend_filter_' . get_class($object)) as $extend_filter) { $colums = $extend_filter->get_extend_colums($this->finder_aliasname); if ($colums[$object_name]) { $this->dbschema['columns'] = array_merge((array) $this->dbschema['columns'], (array) $colums[$object_name]['columns']); } } foreach ($this->dbschema['columns'] as $c => $v) { if (!$v['filtertype']) { continue; } if (isset($filter[$c])) { continue; } if (!is_array($v['type']) && strpos($v['type'], 'table:') !== false) { $columns[$c]['inputer'] = $this->create_objectselect($c, $v); continue; } if (!is_array($v['type'])) { if (strpos($v['type'], 'decimal') !== false && $v['filtertype'] == 'number') { $v['type'] = 'number'; } } $columns[$c] = $v; if ($v['type'] == 'last_modify') { $v['type'] = 'time'; } $params = array('type' => $v['type'], 'name' => $c); if ($v['type'] == 'bool' && $v['default']) { $params = array_merge(array('value' => $v['default']), $params); } if ($this->name_prefix) { $params['name'] = $this->name_prefix . '[' . $params['name'] . ']'; } if ($v['type'] == 'region') { $params['app'] = 'ectools'; } if ($v['default_value']) { $params['value'] = $v['default_value']; } $params['label'] = $columns[$c]['label']; $inputer = $this->create_input($params); $columns[$c]['inputer'] = $inputer; } $render = new base_render(app::get('desktop')); // if($object->has_tag){ // $render->pagedata['app_id'] = $app->app_id; // $render->pagedata['tag_type'] = $object_name; // $tag_inputer = $render->fetch('finder/tag_inputer.html'); // $columns['tag'] = array('filtertype'=>true,'filterdefault'=>true,'label'=>'标签','inputer'=>$tag_inputer); // } $render->pagedata['columns'] = $columns; $render->pagedata['datatypes'] = $datatypes; $render->display('finder/finder_filter.html'); }