/** * 配置列表 * @param $tab 配置分组ID * @author jry <*****@*****.**> */ public function index($group = 1) { // 搜索 $keyword = I('keyword', '', 'string'); $condition = array('like', '%' . $keyword . '%'); $map['id|name|title'] = array($condition, $condition, $condition, '_multi' => true); // 获取所有配置 $map['status'] = array('egt', '0'); // 禁用和正常状态 $map['group'] = array('eq', $group); $p = !empty($_GET["p"]) ? $_GET['p'] : 1; $config_object = D('Config'); $data_list = $config_object->page($p, C('ADMIN_PAGE_ROWS'))->where($map)->order('sort asc,id asc')->select(); $page = new Page($config_object->where($map)->count(), C('ADMIN_PAGE_ROWS')); // 设置Tab导航数据列表 $config_group_list = C('CONFIG_GROUP_LIST'); // 获取配置分组 foreach ($config_group_list as $key => $val) { $tab_list[$key]['title'] = $val; $tab_list[$key]['href'] = U('index', array('group' => $key)); } // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('配置列表')->addTopButton('addnew')->addTopButton('resume')->addTopButton('forbid')->addTopButton('delete')->setSearch('请输入ID/配置名称/配置标题', U('index', array('group' => $group)))->setTabNav($tab_list, $group)->addTableColumn('id', 'ID')->addTableColumn('name', '名称')->addTableColumn('title', '标题')->addTableColumn('sort', '排序')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($data_list)->setTableDataPage($page->show())->addRightButton('edit')->addRightButton('forbid')->addRightButton('delete')->display(); }
/** * 默认方法 * @author jry <*****@*****.**> */ public function index() { // 搜索 $keyword = I('keyword', '', 'string'); $condition = array('like', '%' . $keyword . '%'); $map['id|title'] = array($condition, $condition, '_multi' => true); // 获取所有链接 $p = !empty($_GET["p"]) ? $_GET["p"] : 1; $map['status'] = array('egt', '0'); // 禁用和正常状态 $friendly_link_object = D('FriendlyLink'); $data_list = $friendly_link_object->page($p, C('ADMIN_PAGE_ROWS'))->where($map)->order('sort desc,id desc')->select(); $page = new Page($friendly_link_object->where($map)->count(), C('ADMIN_PAGE_ROWS')); // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('友情链接列表')->addTopButton('addnew')->addTopButton('resume', array('model' => $this->model))->addTopButton('forbid', array('model' => $this->model))->setSearch('请输入ID/链接标题', U('index'))->addTableColumn('id', 'ID')->addTableColumn('title', '标题')->addTableColumn('type', '类型', 'callback', array(D('FriendlyLink'), 'link_type'))->addTableColumn('logo', 'Logo', 'picture')->addTableColumn('create_time', '创建时间', 'time')->addTableColumn('sort', '排序')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($data_list)->setTableDataPage($page->show())->addRightButton('edit')->addRightButton('forbid', array('model' => $this->model))->addRightButton('delete', array('model' => $this->model))->display(); }
/** * 用户列表 * @author jry <*****@*****.**> */ public function index() { // 搜索 $keyword = I('keyword', '', 'string'); $condition = array('like', '%' . $keyword . '%'); $map['id|username|nickname|email|mobile'] = array($condition, $condition, $condition, $condition, $condition, '_multi' => true); // 获取所有用户 $map['status'] = array('egt', '0'); // 禁用和正常状态 $p = !empty($_GET["p"]) ? $_GET['p'] : 1; $user_object = D('User'); $data_list = $user_object->page($p, C('ADMIN_PAGE_ROWS'))->where($map)->order('id desc')->select(); $page = new Page($user_object->where($map)->count(), C('ADMIN_PAGE_ROWS')); // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('用户列表')->addTopButton('addnew')->addTopButton('resume')->addTopButton('forbid')->addTopButton('delete')->setSearch('请输入ID/用户名/邮箱/手机号', U('index'))->addTableColumn('id', 'UID')->addTableColumn('avatar', '头像', 'picture')->addTableColumn('nickname', '昵称')->addTableColumn('username', '用户名')->addTableColumn('email', '邮箱')->addTableColumn('mobile', '手机号')->addTableColumn('create_time', '注册时间', 'time')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($data_list)->setTableDataPage($page->show())->addRightButton('edit')->addRightButton('forbid')->addRightButton('recycle')->display(); }
/** * 文章列表 * @author jry <*****@*****.**> */ public function lists($cid) { $nav_object = D('Admin/Nav'); $con['id'] = $cid; $con['status'] = 1; $info = $nav_object->where($con)->find(); // 文章列表 $map['status'] = 1; $map['cid'] = $cid; $p = $_GET["p"] ?: 1; $post_object = D('Admin/Post'); $data_list = $post_object->where($map)->page($p, C("ADMIN_PAGE_ROWS"))->order("sort desc,id desc")->select(); $page = new Page($post_object->where($map)->count(), C("ADMIN_PAGE_ROWS")); $this->assign('data_list', $data_list); $this->assign('page', $page->show()); $this->assign('meta_title', $info['title']); $this->display(); }
/** * 模型列表 * @author jry <*****@*****.**> */ public function index() { // 搜索 $keyword = I('keyword', '', 'string'); $condition = array('like', '%' . $keyword . '%'); $map['id|title|name'] = array($condition, $condition, $condition, '_multi' => true); // 获取所有模型 $map['status'] = array('egt', '0'); // 禁用和正常状态 $data_list = D('Type')->page(!empty($_GET["p"]) ? $_GET["p"] : 1, C('ADMIN_PAGE_ROWS'))->where($map)->order('sort asc,id asc')->select(); $page = new Page(D('Type')->where($map)->count(), C('ADMIN_PAGE_ROWS')); $attr['title'] = '字段管理'; $attr['class'] = 'label label-success'; $attr['href'] = U('Article/Admin/Attribute/index', array('doc_type' => '__data_id__')); // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('模型列表')->addTopButton('addnew')->addTopButton('resume', array('model' => $this->model))->addTopButton('forbid', array('model' => $this->model))->setSearch('请输入ID/模型标题', U('index'))->addTableColumn('id', 'ID')->addTableColumn('icon', '图标', 'icon')->addTableColumn('name', '名称')->addTableColumn('title', '标题')->addTableColumn('create_time', '创建时间', 'time')->addTableColumn('sort', '排序')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($data_list)->setTableDataPage($page->show())->addRightButton('self', $attr)->addRightButton('edit')->addRightButton('forbid', array('model' => $this->model))->addRightButton('delete', array('model' => $this->model))->alterTableData(array('key' => 'system', 'value' => '1'), array('right_button' => '<a class="label label-warning">系统模型无需操作</a>'))->display(); }
/** * 默认方法 * @author jry <*****@*****.**> */ public function index($doc_type) { // 搜索 $keyword = I('keyword', '', 'string'); $condition = array('like', '%' . $keyword . '%'); $map['id|name|title'] = array($condition, $condition, $condition, '_multi' => true); if ($doc_type) { $map['doc_type'] = $doc_type; } $map['status'] = array('egt', 0); $attribute_list = D('Attribute')->page(!empty($_GET["p"]) ? $_GET["p"] : 1, C('ADMIN_PAGE_ROWS'))->order('id desc')->where($map)->select(); $page = new Page(D('Attribute')->where($map)->count(), C('ADMIN_PAGE_ROWS')); $attr['title'] = '新 增'; $attr['class'] = 'btn btn-primary'; $attr['href'] = U('add', array('doc_type' => $doc_type)); // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('字段管理')->addTopButton('self', array('title' => '<i class="fa fa-reply"></i> 返回模型列表', 'class' => 'btn btn-warning', 'onclick' => 'javascript:history.back(-1);return false;'))->addTopButton('self', $attr)->addTopButton('resume')->addTopButton('forbid')->setSearch('请输入ID/名称/标题', U('index'))->addTableColumn('id', 'ID')->addTableColumn('name', '名称')->addTableColumn('title', '标题')->addTableColumn('type', '类型', 'type')->addTableColumn('ctime', '发布时间', 'time')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($attribute_list)->setTableDataPage($page->show())->addRightButton('edit')->addRightButton('forbid')->addRightButton('delete')->display(); }
/** * 用户列表 * @author jry <*****@*****.**> */ public function index($user_type = 1) { // 获取用户类型的搜索字段 $user_type_info = D('User/Type')->find($user_type); $con = array(); $con['user_type'] = $user_type; $con['id'] = array('in', $user_type_info['list_field']); $query_attribute = D('User/Attribute')->where($con)->select(); foreach ($query_attribute as &$value) { $value['options'] = parse_attr($value['options']); // 构造搜索条件 if ($_GET[$value['name']] !== 'all' && $_GET[$value['name']]) { switch ($value['type']) { case 'radio': $tmp = $_GET[$value['name']]; $map[$value['name']] = $tmp; break; case 'select': $tmp = $_GET[$value['name']]; $map[$value['name']] = $tmp; break; case 'checkbox': $tmp = $_GET[$value['name']]; $map[$value['name']] = array('like', array($tmp, $tmp . ',%', '%,' . $tmp . ',%', '%,' . $tmp), 'OR'); break; } } } // 获取用户基本信息 $map['status'] = 1; $map['user_type'] = $user_type; $p = !empty($_GET["p"]) ? $_GET['p'] : 1; $user_object = D('Admin/User'); $base_table = C('DB_PREFIX') . 'admin_user'; $extend_table = C('DB_PREFIX') . 'user_' . strtolower($user_type_info['name']); $user_list = $user_object->page($p, 16)->where($map)->order('create_time desc')->join($extend_table . ' ON ' . $base_table . '.id = ' . $extend_table . '.uid', 'LEFT')->select(); $page = new Page($user_object->where($map)->join($extend_table . ' ON ' . $base_table . '.id = ' . $extend_table . '.uid', 'LEFT')->count(), 16); $this->assign('page', $page->show()); $this->assign('query_attribute', $query_attribute); $this->assign('meta_title', '用户'); $this->assign('user_list', $user_list); $this->display(); }
/** * 上传列表 * @author jry <*****@*****.**> */ public function index() { //搜索 $keyword = I('keyword', '', 'string'); $condition = array('like', '%' . $keyword . '%'); $map['id|path'] = array($condition, $condition, '_multi' => true); //获取所有上传 $map['status'] = array('egt', '0'); //禁用和正常状态 $p = !empty($_GET["p"]) ? $_GET['p'] : 1; $upload_object = D('Upload'); $data_list = $upload_object->page($p, C('ADMIN_PAGE_ROWS'))->where($map)->order('sort desc,id desc')->select(); $page = new Page($upload_object->where($map)->count(), C('ADMIN_PAGE_ROWS')); foreach ($data_list as &$data) { $data['name'] = cut_str($data['name'], 0, 30) . '<input class="form-control input-sm" value="' . $data['path'] . '">'; } // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('上传列表')->addTopButton('resume')->addTopButton('forbid')->addTopButton('delete')->setSearch('请输入ID/上传关键字', U('index'))->addTableColumn('id', 'ID')->addTableColumn('show', '文件')->addTableColumn('name', '文件名及路径')->addTableColumn('size', '大小', 'byte')->addTableColumn('create_time', '创建时间', 'time')->addTableColumn('sort', '排序')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($data_list)->setTableDataPage($page->show())->addRightButton('forbid')->addRightButton('delete')->display(); }
/** * 默认方法 * @author jry <*****@*****.**> */ public function index() { // 搜索 $keyword = I('keyword', '', 'string'); $condition = array('like', '%' . $keyword . '%'); $map['id|title'] = array($condition, $condition, '_multi' => true); // 获取所有分类 $p = $_GET["p"] ?: 1; if (I('cid')) { $cid = $map['cid'] = I('cid'); } $map['status'] = array('egt', '0'); // 禁用和正常状态 $post_object = D('Admin/Post'); $data_list = $post_object->page($p, C('ADMIN_PAGE_ROWS'))->where($map)->order('sort desc,id desc')->select(); $page = new Page($post_object->where($map)->count(), C('ADMIN_PAGE_ROWS')); // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('文章列表')->addTopButton('self', array('title' => '<i class="fa fa-reply"></i> 返回导航列表', 'class' => 'btn btn-warning', 'onclick' => 'javascript:history.back(-1);return false;'))->addTopButton('addnew', array('href' => U('add', array('cid' => $cid))))->addTopButton('resume')->addTopButton('forbid')->setSearch('请输入ID/标题', U('index'))->addTableColumn('id', 'ID')->addTableColumn('cover', '封面', 'picture')->addTableColumn('title', '标题')->addTableColumn('create_time', '创建时间', 'time')->addTableColumn('sort', '排序')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($data_list)->setTableDataPage($page->show())->addRightButton('edit')->addRightButton('forbid')->addRightButton('delete')->display(); }
/** * 管理员列表 * @param $tab 配置分组ID * @author jry <*****@*****.**> */ public function index() { // 搜索 $keyword = I('keyword', '', 'string'); $condition = array('like', '%' . $keyword . '%'); $map['id|uid'] = array($condition, $condition, '_multi' => true); // 获取所有配置 $map['status'] = array('egt', '0'); // 禁用和正常状态 $p = !empty($_GET["p"]) ? $_GET['p'] : 1; $access_object = D('Access'); $data_list = $access_object->page($p, C('ADMIN_PAGE_ROWS'))->where($map)->order('sort asc,id asc')->select(); $page = new Page($access_object->where($map)->count(), C('ADMIN_PAGE_ROWS')); // 设置Tab导航数据列表 $group_object = D('Group'); $user_object = D('User'); foreach ($data_list as $key => &$val) { $val['username'] = $user_object->getFieldById($val['uid'], 'username'); $val['group_title'] = $group_object->getFieldById($val['group'], 'title'); } // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('管理员列表')->addTopButton('addnew')->addTopButton('resume')->addTopButton('forbid')->addTopButton('delete')->setSearch('请输入ID/UID', U('index'))->addTableColumn('id', 'ID')->addTableColumn('uid', 'UID')->addTableColumn('username', '用户名')->addTableColumn('group_title', '用户组')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($data_list)->setTableDataPage($page->show())->addRightButton('edit')->addRightButton('forbid')->addRightButton('delete')->display(); }
/** * 插件后台显示页面 * @param string $name 插件名 * @author jry <*****@*****.**> */ public function adminList($name, $tab = 1) { // 获取插件实例 $addon_class = get_addon_class($name); if (!class_exists($addon_class)) { $this->error('插件不存在'); } else { $addon = new $addon_class(); } // 自定义插件后台页面 if ($addon->custom_adminlist) { $this->assign('custom_adminlist', $this->fetch($addon->custom_adminlist)); $this->display($addon->custom_adminlist); } else { // 获取插件的$admin_list配置 $admin_list = $addon->admin_list; $tab_list = array(); foreach ($admin_list as $key => $val) { $tab_list[$key]['title'] = $val['title']; $tab_list[$key]['href'] = U('Admin/Addon/adminList', array('name' => $name, 'tab' => $key)); } $admin = $admin_list[$tab]; $param = D('Addons://' . $name . '/' . $admin['model'] . '')->adminList; if ($param) { // 搜索 $keyword = (string) I('keyword'); $condition = array('like', '%' . $keyword . '%'); $map['id|' . $param['search_key']] = array($condition, $condition, '_multi' => true); // 获取数据列表 $p = !empty($_GET["p"]) ? $_GET['p'] : 1; $data_list = M($param['model'])->page($p, C('ADMIN_PAGE_ROWS'))->where($map)->field(true)->order($param['order'])->select(); $page = new Page(M($param['model'])->where($map)->count(), C('ADMIN_PAGE_ROWS')); // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle($addon->info['title'])->AddTopButton('addnew', array('href' => U('Admin/Addon/adminAdd', array('name' => $name, 'tab' => $tab))))->AddTopButton('resume', array('model' => $param['model']))->AddTopButton('forbid', array('model' => $param['model']))->setSearch('请输入关键字', U('Admin/Addon/adminList', array('name' => $name, 'tab' => $tab)))->SetTabNav($tab_list, $tab)->setTableDataList($data_list)->setTableDataPage($page->show()); // 数据列表分页 // 根据插件的list_grid设置后台列表字段信息 foreach ($param['list_grid'] as $key => $val) { $builder->addTableColumn($key, $val['title'], $val['type']); } // 根据插件的right_button设置后台列表右侧按钮 foreach ($param['right_button'] as $key => $val) { $builder->addRightButton('self', $val); } // 定义编辑按钮 $attr = array(); $attr['title'] = '编辑'; $attr['class'] = 'label label-info'; $attr['href'] = U('Admin/Addon/adminEdit', array('name' => $name, 'tab' => $tab, 'id' => '__data_id__')); // 显示列表 $builder->addTableColumn('right_button', '操作', 'btn')->addRightButton('self', $attr)->addRightButton('forbid', array('model' => $param['model']))->addRightButton('delete', array('model' => $param['model']))->display(); } else { $this->error('插件列表信息不正确'); } } }
/** * 回收站 * @author jry <*****@*****.**> */ public function recycle() { $map['status'] = array('eq', '-1'); $article_list = D('Article')->page(!empty($_GET["p"]) ? $_GET["p"] : 1, C('ADMIN_PAGE_ROWS'))->where($map)->select(); $page = new Page(D('Article')->where($map)->count(), C('ADMIN_PAGE_ROWS')); //使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('回收站')->addTopButton('delete')->addTopButton('restore')->setSearch('请输入ID/文档名称', U('recycle'))->addTableColumn('id', 'ID')->addTableColumn('title', '标题')->addTableColumn('ctime', '发布时间', 'time')->addTableColumn('sort', '排序')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($article_list)->setTableDataPage($page->show())->addRightButton('restore')->addRightButton('delete')->display(); }
/** * 我的文档列表 * @author jry <*****@*****.**> */ public function mydoc() { $uid = $this->is_login(); // 获取文档基础信息 $map['uid'] = $uid; $map['status'] = array('egt', 0); $document_list = D('Article')->page(!empty($_GET["p"]) ? $_GET["p"] : 1, C('ADMIN_PAGE_ROWS'))->order('sort desc,id desc')->where($map)->select(); $page = new Page(D('Article')->where($map)->count(), C('ADMIN_PAGE_ROWS')); // 获取扩展表的信息 // 前台与后台查询文档列表不一样 // 因为前台没有指定分类ID所以只能通过先找到文档的分类ID再根据分类绑定的模型获取主要字段 foreach ($document_list as &$document) { // 合并基础信息与扩展信息 $doc_type_info = D('Type')->find($document['doc_type']); $document = array_merge($document, D('Article' . ucfirst($doc_type_info['name']))->find($document['id'])); // 给主要字段赋值 $main_field_name = D('Attribute')->getFieldById($doc_type_info['main_field'], 'name'); $document['main_field'] = $document[$main_field_name]; } // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('我的文档')->addTopButton('resume')->addTopButton('forbid')->addTopButton('recycle')->addTableColumn('id', 'ID')->addTableColumn('main_field', '标题')->addTableColumn('ctime', '发布时间', 'time')->addTableColumn('sort', '排序')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($document_list)->setTableDataPage($page->show())->addRightButton('edit')->addRightButton('forbid')->addRightButton('recycle')->display(); }
/** * 我的文档列表 * @author jry <*****@*****.**> */ public function my() { $uid = $this->is_login(); // 获取文档基础信息 $map['uid'] = $uid; $map['status'] = array('egt', 0); $document_list = D('Index')->page(!empty($_GET["p"]) ? $_GET["p"] : 1, C('ADMIN_PAGE_ROWS'))->order('sort desc,id desc')->where($map)->select(); $page = new Page(D('Index')->where($map)->count(), C('ADMIN_PAGE_ROWS')); // 获取扩展表的信息 // 前台与后台查询文档列表不一样 // 因为前台没有指定分类ID所以只能通过先找到文档的分类ID再根据分类绑定的模型获取主要字段 foreach ($document_list as &$document) { // 合并基础信息与扩展信息 $doc_type_info = D('Type')->find($document['doc_type']); $document = array_merge($document, D(D('Index')->moduleName . ucfirst($doc_type_info['name']))->find($document['id'])); // 给主要字段赋值 $main_field_name = D('Attribute')->getFieldById($doc_type_info['main_field'], 'name'); $document['main_field'] = $document[$main_field_name]; // 标题带链接 $val['title_url'] = '<a target="_blank" href="' . U(D('Index')->moduleName . '/Index/detail', array('id' => $document['id'])) . '">' . $document['main_field'] . '</a>'; } // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('我的文档')->addTopButton('addnew')->addTopButton('resume', array('model' => D('Index')->tableName))->addTopButton('forbid', array('model' => D('Index')->tableName))->addTopButton('recycle', array('model' => D('Index')->tableName))->addTableColumn('id', 'ID')->addTableColumn('title_url', '标题')->addTableColumn('create_time', '发布时间', 'time')->addTableColumn('sort', '排序')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($document_list)->setTableDataPage($page->show())->addRightButton('edit')->addRightButton('forbid')->addRightButton('recycle')->setTemplate(C('USER_CENTER_LIST'))->display(); }