示例#1
0
 public function input_category($params)
 {
     $mdl_goods_cat = app::get('b2c')->model('goods_cat');
     $render = new base_render(app::get('b2c'));
     $params['cat_openapi'] = vmc::openapi_url('openapi.goods', 'catalog');
     $params['cat_path_openapi'] = vmc::openapi_url('openapi.goods', 'catalog_path');
     $params['domid'] = substr(md5(uniqid()), 0, 6);
     $render->pagedata['tree_data_root'] = $mdl_goods_cat->get_tree();
     if ($params['value'] && $params['value'] > 0) {
         $cat = $mdl_goods_cat->getRow('cat_path,cat_id', array('cat_id' => $params['value']));
         if ($cat) {
             $cat_path = $cat['cat_path'];
             $cat_path_arr = explode(',', $cat_path);
             $cat_path_length = count($cat_path_arr);
             $render->pagedata['root'] = $cat_path_arr[0];
             $render->pagedata['cat_path_length'] = $cat_path_length;
             foreach ($cat_path_arr as $k => $cat_id) {
                 $clist = $mdl_goods_cat->get_tree($cat_id);
                 if ($clist) {
                     $tree_data[$cat_id] = $clist;
                     if ($tree_data[$cat_id][$cat_path_arr[$k + 1]]) {
                         $tree_data[$cat_id][$cat_path_arr[$k + 1]]['selected'] = true;
                     }
                 }
             }
             $render->pagedata['tree_data'] = $tree_data;
         }
     }
     $render->pagedata['params'] = $params;
     return $render->fetch('common/category.html');
 }
示例#2
0
 public function function_WIDGET_CONTENT_NODE($params, &$smarty)
 {
     $tree = vmc::singleton('content_openapi_node')->tree($params, true);
     $render = new base_render(app::get('content'));
     $render->pagedata['tree'] = $tree;
     $render->pagedata['class_name'] = $params['class'];
     $render->pagedata['target'] = $params['target'];
     return $render->fetch('widget/node_tree.html');
 }
示例#3
0
 public function input_country($params)
 {
     $render = new base_render(app::get('ectools'));
     if (!$params['id']) {
         $params['id'] = substr(md5(uniqid()), 0, 6);
     }
     $render->pagedata['params'] = $params;
     $mdl_country = app::get('ectools')->model('country');
     $country_list = $mdl_country->getList('*');
     foreach ($country_list as $key => &$value) {
         $value['flag'] = app::get('ectools')->res_url . '/misc/flags/' . strtolower($value['ct_abbreviation']) . '.png';
     }
     $render->pagedata['country_list'] = $country_list;
     return $render->fetch('common/country.html');
 }
示例#4
0
文件: single.php 项目: syjzwjj/quyeba
 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');
 }
示例#5
0
文件: render.php 项目: syjzwjj/quyeba
 function __construct(&$app)
 {
     parent::__construct($app);
     if (@constant('WITHOUT_STRIP_HTML')) {
         $this->enable_strip_whitespace = false;
     }
 }
示例#6
0
 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');
 }
示例#7
0
 function input_goodsfilter($params)
 {
     $render = new base_render(app::get('b2c'));
     $obj_type = app::get('b2c')->model('goods_type');
     parse_str($params['value']['items'], $value);
     $params = array('gtype' => $obj_type->getList('*', null, 0, -1), 'view' => 'admin/goods/finder_filter.html', 'params' => $params['params'], 'json' => json_encode($data), 'data' => $value, 'from' => $params['value']['items'], 'domid' => substr(md5(rand(0, time())), 0, 6));
     $type_id = 1;
     $params['value']['items'] = $value;
     if ($params['value']['items']['type_id']) {
         $type_id = $params['value']['items']['type_id'];
     }
     $render->pagedata['params'] = $params;
     $goods_filter = kernel::single('b2c_goods_goodsfilter');
     $return = $goods_filter->goods_goodsfilter($type_id, app::get('b2c'));
     $render->pagedata['filter'] = $return;
     $render->pagedata['type_id'] = $type_id;
     return $render->fetch('admin/goods/goods_filter.html');
 }
示例#8
0
文件: helper.php 项目: syjzwjj/quyeba
 function input_refer($params)
 {
     $render = new base_render(app::get('bdlink'));
     if ($params['id'] && $params['name']) {
         $filter = array('target_id' => $params['id'], 'target_type' => $params['ident']);
         if (empty($params['show'])) {
             $render->pagedata['show'] = array('refer_id', 'refer_url');
         } else {
             $render->pagedata['show'] = explode(',', $params['show']);
         }
         $render->pagedata['name'] = $params['name'];
         $params = kernel::single('bdlink_mdl_link')->getList('*', $filter, 0, 1);
         if ($params[0]) {
             $render->pagedata['params'] = $params[0];
             return $render->fetch('show_link.html');
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
示例#9
0
 function input_htmllink($params)
 {
     $id = 'mce_' . substr(md5(rand(0, time())), 0, 6);
     $includeBase = $params['includeBase'] ? $params['includeBase'] : true;
     $params['id'] = $id;
     $img_src = app::get('desktop')->res_url;
     $render = new base_render(app::get('weixin'));
     $render->pagedata['id'] = $id;
     $render->pagedata['img_src'] = $img_src;
     $render->pagedata['includeBase'] = $includeBase;
     if (!$params['height']) {
         $params['height'] = '300px';
     }
     if (!$params['title']) {
         $params['title'] = app::get('weixin')->_('超级链接');
     }
     if (!$params['link']) {
         $params['link'] = 'index.php?app=weixin&ctl=admin_setting&act=link_view';
     }
     $render->pagedata['params'] = $params;
     $style2 = $render->fetch('editor/html_style2.html');
     $html = $style2;
     return $html;
 }
示例#10
0
 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');
     }
 }
示例#11
0
 public function main()
 {
     $this->html_script = '';
     $this->html_header = '';
     $this->html_body = '';
     $this->html_footer = '';
     $this->html_pager = '';
     $this->html_actions = '';
     $this->html_dialog = '';
     $this->short_object_name = substr($this->object_name, strpos($this->object_name, '_mdl_') + 5);
     $this->__view = $this->get_views();
     if (count($this->__view) && $this->use_view_tab) {
         $this->tab_view_count = 0;
         foreach ((array) $this->__view as $view) {
             if ($view['addon']) {
                 $this->tab_view_count += $view['addon'];
             }
         }
         if (!$_GET['view']) {
             $default_view = reset($this->__view);
             $view_filter = $default_view['filter'];
         } else {
             $view_filter = (array) $this->__view[$_GET['view']]['filter'];
             // 如果有view_tab的情况下,则将当前view的总数记下,减少同一finder两次进行count计算,增加性能
             if ($this->__view[$_GET['view']]['addon'] != '_FILTER_POINT_') {
                 $this->current_view_count = $this->__view[$_GET['view']]['addon'];
             }
         }
     }
     $this->__view_filter = $view_filter;
     if ($_GET['filter']) {
         $get_filter = (array) $_GET['filter'];
         if (!is_array($_GET['filter'])) {
             if (isset($_GET['filter']) && ($_GET['filter'] = (array) unserialize(urldecode($_GET['filter'])))) {
                 $get_filter = (array) $_GET['filter'];
             }
         }
     }
     #if( $_POST ) $view_filter = array();
     $this->params = array_merge((array) $this->base_filter, (array) $get_filter, (array) $view_filter, (array) $_POST);
     /* 用于打开的input_object object_base_filter **/
     if (isset($_GET['obj_filter']) && $_GET['obj_filter']) {
         $this->params = array_merge($this->params, array('obj_filter' => $_GET['obj_filter']));
     }
     unset($this->params['_finder']);
     foreach ($this->params as $k => $v) {
         if (!is_array($v) && $v !== false) {
             $this->params[$k] = urldecode(trim($v));
         }
         if ($this->params[$k] === '') {
             unset($this->params[$k]);
         }
     }
     $this->getColumns();
     $this->getOrderBy();
     $this->pagelimit = $this->getPageLimit();
     if ($this->detail_pages) {
         $this->detail_url = $this->url . '&action=detail';
     }
     $render = $this->render = new base_render(app::get('desktop'));
     $render->pagedata['title'] = $this->title;
     $render->pagedata['name'] = $this->name;
     $render->pagedata['url'] = $this->url;
     // finder列表顶部自定义显示html信息
     if ($this->finder_extra_view) {
         $render->pagedata['finder_extra'] = '';
         foreach ($this->finder_extra_view as $view) {
             $_render = new base_render(app::get($view['app']));
             $_render->pagedata = $render->pagedata;
             $_render->pagedata['extra_pagedata'] = $view['extra_pagedata'];
             $render->pagedata['finder_extra'] .= $_render->fetch($view['view']);
         }
     }
     $this->createView();
     $this->_pager();
     $output = '';
     if (!$this->object_select_model) {
         $output .= $this->controller->sidebar_active();
     } else {
         $render->pagedata['object_select_model'] = 'true';
         $render->pagedata['selectrow_type'] = $this->selectrow_type;
     }
     $this->_actions();
     $this->html_subheader = $render->fetch('finder/view/subheader.html');
     $this->_header($this->html_subheader);
     $this->_footer($this->html_pager);
     $this->html_pager = $render->fetch('finder/view/pager.html');
     $this->html_body = $render->fetch('finder/view/body.html');
     $this->html_dialog = $this->_dialog();
     $output .= $render->fetch('finder/view/finder_title.html') . $this->html_actions . $this->html_header . $this->html_body . $this->html_footer . $this->html_dialog;
     echo $output;
     return $output;
 }
示例#12
0
文件: input.php 项目: syjzwjj/quyeba
 function input_goods_select($params)
 {
     $return_url = $params['return_url'] ? $params['return_url'] : 'index.php?app=desktop&ctl=editor&act=object_rows';
     $callback = $params['callback'] ? $params['callback'] : '';
     $init = $params['data']['init'] ? $params['data']['init'] : '';
     $params['breakpoint'] = isset($params['breakpoint']) ? $params['breakpoint'] : 20;
     $object = $params['object'];
     if (strpos($params['object'], '@') !== false) {
         list($object, $app_id) = explode('@', $params['object']);
         $params['object'] = $object;
     } elseif ($params['app']) {
         $app_id = $params['app'];
     } else {
         $app_id = $this->app->app_id;
     }
     $app = app::get($app_id);
     $o = $app->model($object);
     $render = new base_render(app::get('b2c'));
     $ui = new base_component_ui($app);
     $dbschema = $o->get_schema();
     $params['app_id'] = $app_id;
     if (isset($params['filter'])) {
         if (!is_array($params['filter'])) {
             parse_str($params['filter'], $params['filter']);
         }
     }
     $params['domid'] = substr(md5(uniqid()), 0, 6);
     $key = $params['key'] ? $params['key'] : $dbschema['idColumn'];
     $textcol = $params['textcol'] ? $params['textcol'] : $dbschema['textColumn'];
     //显示列 可以多列显示 不完全修改 。。。。。。。
     $textcol = explode(',', $textcol);
     $_textcol = $textcol;
     $textcol = $textcol[0];
     $tmp_filter = $params['filter'] ? $params['filter'] : null;
     $count = $o->count($tmp_filter);
     if ($count <= $params['breakpoint'] && !$params['multiple'] && $params['select'] != 'checkbox') {
         if (strpos($textcol, '@') === false) {
             $list = $o->getList($key . ',' . $textcol, $tmp_filter);
             if (!$list[0]) {
                 $type = array();
             }
             foreach ($list as $row) {
                 $label = $row[$textcol];
                 if (!$label && method_exists($o, 'title_modifier')) {
                     $label = $o->title_modifier($row[$key]);
                 }
                 $type[$row[$key]] = $label;
             }
         } else {
             list($name, $table, $app_id) = explode('@', $textcol);
             $app = $app_id ? app::get($app_id) : $app;
             $mdl = $app->model($table);
             $list = $o->getList($key, $tmp_filter);
             foreach ($list as $row) {
                 $tmp_row = $mdl->getList($name, array($mdl->idColumn => $row[$key]), 0, 1);
                 $label = $tmp_row[0][$name];
                 if (!$label && method_exists($o, 'title_modifier')) {
                     $label = $o->title_modifier($row[$key]);
                 }
                 $type[$row[$key]] = $label;
             }
         }
         $tmp_params['name'] = $params['name'];
         $tmp_params['value'] = $params['value'];
         $tmp_params['type'] = $type;
         if ($callback) {
             $tmp_params['onchange'] = $callback . '(this)';
         }
         $str_filter = $ui->input($tmp_params);
         unset($tmp_params);
         return $str_filter;
     }
     $params['idcol'] = $keycol['keycol'] = $key;
     $params['textcol'] = implode(',', $_textcol);
     $params['_textcol'] = $_textcol;
     unset($params['app']);
     if ($params['data']) {
         $_params = (array) $params['data'];
         unset($params['data']);
         $params = array_merge($params, $_params);
     }
     if (is_array($params['items'])) {
         foreach ($params['items'] as $key => $item) {
             $items[$key] = $item[$params['idcol']];
         }
     }
     $params['return_url'] = urlencode($params['return_url']);
     $vars = $params;
     $vars['items'] = $items;
     $object = utils::http_build_query($vars);
     $url = 'index.php?app=b2c&ctl=admin_goods&act=finder_goods_select';
     $render->pagedata['string'] = $string;
     $render->pagedata['url'] = $url;
     $render->pagedata['return_url'] = $return_url;
     $render->pagedata['id'] = $id;
     $render->pagedata['params'] = $params;
     $render->pagedata['object'] = $object;
     $render->pagedata['callback'] = $callback;
     $render->pagedata['init'] = $init;
     $render->pagedata['value'] = $params['value'];
     /** 得到商品的数量 **/
     if ($params['value']) {
         $arr_values = json_decode($params['value']);
         $render->pagedata['goods_cnt'] = count($arr_values);
     }
     return $render->fetch('admin/goods/input_radio.html');
 }
示例#13
0
 function input_html($params)
 {
     $id = 'mce_' . substr(md5(rand(0, time())), 0, 6);
     $editor_type = app::get('desktop')->getConf("system.editortype");
     $editor_type == '' ? $editor_type = 'wysiwyg' : ($editor_type = 'wysiwyg');
     $includeBase = $params['includeBase'] ? $params['includeBase'] : true;
     $params['id'] = $id;
     $img_src = app::get('desktop')->res_url;
     $render = new base_render(app::get('desktop'));
     $render->pagedata['id'] = $id;
     $render->pagedata['img_src'] = $img_src;
     $render->pagedata['includeBase'] = $includeBase;
     $render->pagedata['params'] = $params;
     $style2 = $render->fetch('editor/html_style2.html');
     if ($editor_type == 'textarea' || $params['editor_type'] == 'textarea') {
         $html = $style2;
     } else {
         $style1 = $render->fetch('editor/html_style1.html');
         $html = $style1;
         $html .= $style2;
     }
     return $html;
 }
示例#14
0
 function input_soucecode($params)
 {
     $render = new base_render(app::get('desktop'));
     $id = 'sh_' . substr(md5(rand(0, time())), 0, 6);
     $params['id'] = $id;
     $params['res_url'] = app::get('desktop')->res_url;
     $render->pagedata = $params;
     return $render->fetch('editor/syntax_highlighter.html');
 }
示例#15
0
 public function function_WIDGET_B2C_GOOD_HOT($params, &$smarty)
 {
     $render = new base_render(app::get($params['app']));
     return $render->fetch('widget/hot.goods.html');
 }
示例#16
0
 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');
 }
示例#17
0
 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);
 }
示例#18
0
文件: view.php 项目: syjzwjj/quyeba
 function main()
 {
     $this->html_script = '';
     $this->html_header = '';
     $this->html_body = '';
     $this->html_footer = '';
     $this->html_pager = '';
     $this->html_actions = '';
     $this->short_object_name = substr($this->object_name, strpos($this->object_name, '_mdl_') + 5);
     $this->__view = $this->get_views();
     if (count($this->__view) && $this->use_view_tab) {
         $this->tab_view_count = 0;
         foreach ((array) $this->__view as $view) {
             if ($view['addon']) {
                 $this->tab_view_count += $view['addon'];
             }
         }
         $view_filter = (array) $this->__view[$_GET['view']]['filter'];
     }
     $this->__view_filter = $view_filter;
     if ($_GET['filter']) {
         $get_filter = (array) $_GET['filter'];
         if (!is_array($_GET['filter'])) {
             if (isset($_GET['filter']) && ($_GET['filter'] = (array) unserialize(urldecode($_GET['filter'])))) {
                 $get_filter = (array) $_GET['filter'];
             }
         }
     }
     #if( $_POST ) $view_filter = array();
     $this->params = array_merge((array) $this->base_filter, (array) $get_filter, (array) $view_filter, (array) $_POST);
     /** 用于打开的input_object object_base_filter **/
     if (isset($_GET['obj_filter']) && $_GET['obj_filter']) {
         $this->params = array_merge($this->params, array('obj_filter' => $_GET['obj_filter']));
     }
     unset($this->params['_finder']);
     foreach ($this->params as $k => $v) {
         if (!is_array($v) && $v !== false) {
             $this->params[$k] = trim($v);
         }
         if ($this->params[$k] === '') {
             unset($this->params[$k]);
         }
     }
     $this->getColumns();
     $this->getOrderBy();
     $this->pagelimit = $this->getPageLimit();
     $this->var_name = 'window.finderGroup[\'' . $this->name . '\']';
     if ($this->detail_pages) {
         $this->detail_url = $this->url . '&action=detail&finder_id=' . $this->name;
     }
     $render = $this->render = new base_render(app::get('desktop'));
     $render->pagedata['title'] = $this->title;
     $render->pagedata['name'] = $this->name;
     $render->pagedata['var_name'] = $this->var_name;
     $render->pagedata['url'] = $this->url;
     $render->pagedata['use_save_filter'] = $this->use_save_filter;
     if ($this->top_extra_view) {
         $render->pagedata['top_extra'] = "";
         foreach ($this->top_extra_view as $app => $view) {
             $_render = new base_render(app::get($app));
             $_render->pagedata = $render->pagedata;
             $render->pagedata['top_extra'] .= $_render->fetch($view);
         }
     }
     $this->createView();
     $this->_pager();
     $output = '';
     if (!$_POST['_finder']['in_pager']) {
         $output .= $this->controller->sidePanel();
         $this->_script();
         $output .= $this->html_script;
         $this->_actions();
         $this->_header($this->html_subheader);
         $this->_footer($this->html_pager);
         $output .= '<!-----.mainHead-----' . $render->fetch('finder/view/finder_title.html') . $this->html_actions . $this->html_header . '-----.mainHead----->' . $this->html_body . '<!-----.mainFoot-----' . $this->html_footer . '-----.mainFoot----->';
     } else {
         $output .= '<!-----.pager-----' . $this->html_pager . '-----.pager----->' . $this->html_body . '<!-----.innerheader-----' . $this->html_subheader . '-----.innerheader----->';
     }
     echo $output;
     return $output;
 }