AccessController.class.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. namespace Admin\Controller;
  3. use Think\Page;
  4. /**
  5. * 管理员控制器
  6. *
  7. */
  8. class AccessController extends AdminController
  9. {
  10. /**
  11. * 管理员列表
  12. * @param $tab 配置分组ID
  13. *
  14. */
  15. public function index()
  16. {
  17. // 搜索
  18. $keyword = I('keyword', '', 'string');
  19. $condition = array('like', '%' . $keyword . '%');
  20. $map['id|uid'] = array(
  21. $condition,
  22. $condition,
  23. '_multi' => true,
  24. );
  25. // 获取所有配置
  26. $map['status'] = array('egt', '0'); // 禁用和正常状态
  27. $p = !empty($_GET["p"]) ? $_GET['p'] : 1;
  28. $access_object = D('Access');
  29. $data_list = $access_object
  30. ->page($p, C('ADMIN_PAGE_ROWS'))
  31. ->where($map)
  32. ->order('sort asc,id asc')
  33. ->select();
  34. $page = new Page(
  35. $access_object->where($map)->count(),
  36. C('ADMIN_PAGE_ROWS')
  37. );
  38. // 设置Tab导航数据列表
  39. $group_object = D('Group');
  40. $user_object = D('User');
  41. foreach ($data_list as $key => &$val) {
  42. $val['username'] = $user_object->getFieldById($val['uid'], 'username');
  43. $val['group_title'] = $group_object->getFieldById($val['group'], 'title');
  44. }
  45. // 使用Builder快速建立列表页面。
  46. $builder = new \Common\Builder\ListBuilder();
  47. $builder->setMetaTitle('管理员列表') // 设置页面标题
  48. ->addTopButton('addnew') // 添加新增按钮
  49. ->addTopButton('resume') // 添加启用按钮
  50. ->addTopButton('forbid') // 添加禁用按钮
  51. ->addTopButton('delete') // 添加删除按钮
  52. ->setSearch('请输入ID/UID', U('index'))
  53. ->addTableColumn('id', 'ID')
  54. ->addTableColumn('uid', 'UID')
  55. ->addTableColumn('username', '用户名')
  56. ->addTableColumn('group_title', '用户组')
  57. ->addTableColumn('status', '状态', 'status')
  58. ->addTableColumn('right_button', '操作', 'btn')
  59. ->setTableDataList($data_list) // 数据列表
  60. ->setTableDataPage($page->show()) // 数据列表分页
  61. ->addRightButton('edit') // 添加编辑按钮
  62. ->addRightButton('forbid') // 添加禁用/启用按钮
  63. ->addRightButton('delete') // 添加删除按钮
  64. ->display();
  65. }
  66. /**
  67. * 新增
  68. *
  69. */
  70. public function add()
  71. {
  72. if (IS_POST) {
  73. $access_object = D('Access');
  74. $data = $access_object->create();
  75. if ($data) {
  76. if ($access_object->add($data)) {
  77. $this->success('新增成功', U('index'));
  78. } else {
  79. $this->error('新增失败');
  80. }
  81. } else {
  82. $this->error($access_object->getError());
  83. }
  84. } else {
  85. //使用FormBuilder快速建立表单页面。
  86. $builder = new \Common\Builder\FormBuilder();
  87. $builder->setMetaTitle('新增配置') //设置页面标题
  88. ->setPostUrl(U('add')) //设置表单提交地址
  89. ->addFormItem('uid', 'uid', 'UID', '用户ID')
  90. ->addFormItem('group', 'select', '用户组', '不同用户组对应相应的权限', select_list_as_tree('Group'))
  91. ->display();
  92. }
  93. }
  94. /**
  95. * 编辑
  96. *
  97. */
  98. public function edit($id)
  99. {
  100. if (IS_POST) {
  101. $access_object = D('Access');
  102. $data = $access_object->create();
  103. if ($data) {
  104. if ($access_object->save($data)) {
  105. $this->success('更新成功', U('index'));
  106. } else {
  107. $this->error('更新失败');
  108. }
  109. } else {
  110. $this->error($access_object->getError());
  111. }
  112. } else {
  113. // 使用FormBuilder快速建立表单页面。
  114. $builder = new \Common\Builder\FormBuilder();
  115. $builder->setMetaTitle('编辑配置') // 设置页面标题
  116. ->setPostUrl(U('edit')) // 设置表单提交地址
  117. ->addFormItem('id', 'hidden', 'ID', 'ID')
  118. ->addFormItem('uid', 'uid', 'UID', '用户ID')
  119. ->addFormItem('group', 'select', '用户组', '不同用户组对应相应的权限', select_list_as_tree('Group'))
  120. ->setFormData(D('Access')->find($id))
  121. ->display();
  122. }
  123. }
  124. }