| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- <?php
- namespace Admin\Controller;
- use Think\Page;
- /**
- * 用户控制器
- *
- */
- class UserController extends AdminController
- {
- /**
- * 用户列表
- *
- */
- 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,
- );
- // 获取所有用户
- $session_config=$session_config=I('session.ly_admin_');
- $addtype=$session_config['user_auth']['addtype'];
- if($addtype==1){//为用户登陆,只能查看自己
- $id=$session_config['user_auth']['uid'];//自己的id;
- $map['id'] = $id;
- }
- $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 asc')
- ->select();
- $page = new Page(
- $user_object->where($map)->count(),
- C('ADMIN_PAGE_ROWS')
- );
- // 使用Builder快速建立列表页面。
- $builder = new \Common\Builder\ListBuilder();
- if($addtype==0){//管理员有所有的权限
- $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();
- }else{
- $builder->setMetaTitle('用户列表') // 设置页面标题
- ->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') // 添加编辑按钮
- ->display();
- }
- }
- /**
- * 新增用户
- *
- */
- public function add()
- {
- if (IS_POST) {
- $user_object = D('User');
- $session_config=I('session.ly_admin_');
- $data = $user_object->create();
- $data = $_POST;
- $data['password'] = user_md5($data['password']);
- if($session_config['user_auth']['addtype']==0){//表示当前最高管理员添加用户账号
- $data['addtype']=1;
- }
- if ($data) {
- $id = $user_object->add($data);
- if ($id) {
- $this->success('新增成功', U('index'));
- } else {
- $this->error('新增失败');
- }
- } else {
- $this->error($user_object->getError());
- }
- } else {
- // 使用FormBuilder快速建立表单页面。
- $builder = new \Common\Builder\FormBuilder();
- $builder->setMetaTitle('新增用户') //设置页面标题
- ->setPostUrl(U('add')) //设置表单提交地址
- ->addFormItem('reg_type', 'hidden', '注册方式', '注册方式')
- ->addFormItem('nickname', 'text', '供应商昵称', '昵称')
- ->addFormItem('printer_code', 'text','供应商编码','供应商编码')
- ->addFormItem('postcode', 'num','邮政编码','邮政编码')
- ->addFormItem('company_address', 'text','地址','详细地址')
- ->addFormItem('username', 'text', '用户名', '用户名')
- ->addFormItem('password', 'password', '密码', '密码')
- ->addFormItem('email', 'text', '邮箱', '邮箱')
- ->addFormItem('email_bind', 'radio', '邮箱绑定', '手机绑定', array('1' => '已绑定', '0' => '未绑定'))
- ->addFormItem('mobile', 'text', '手机号', '手机号')
- ->addFormItem('mobile_bind', 'radio', '手机绑定', '手机绑定', array('1' => '已绑定', '0' => '未绑定'))
- ->addFormItem('avatar', 'picture', '头像', '头像')
- ->setFormData(array('reg_type' => 'admin'))
- ->display();
- }
- }
- /**
- * 编辑用户
- *
- */
- public function edit($id)
- {
- if (IS_POST) {
- // 密码为空表示不修改密码
- if ($_POST['password'] === '') {
- unset($_POST['password']);
- }
- // 提交数据
- $user_object = D('User');
- $data = $user_object->create();
- if ($data) {
- $result = $user_object
- ->field('id,nickname,username,password,email,email_bind,mobile,mobile_bind,gender,avatar,update_time,printer_code,postcode,company_address')
- ->save($data);
- if ($result) {
- $this->success('更新成功', U('index'));
- } else {
- $this->error('更新失败', $user_object->getError());
- }
- } else {
- $this->error($user_object->getError());
- }
- } else {
- // 获取账号信息
- $info = D('User')->find($id);
- unset($info['password']);
- // 使用FormBuilder快速建立表单页面。
- $builder = new \Common\Builder\FormBuilder();
- $builder->setMetaTitle('编辑用户') // 设置页面标题
- ->setPostUrl(U('edit')) // 设置表单提交地址
- ->addFormItem('id', 'hidden', 'ID', 'ID')
- ->addFormItem('nickname', 'text', '供应商名称', '供应商名称')
- ->addFormItem('printer_code', 'text','供应商编码','供应商编码')
- ->addFormItem('postcode', 'num','邮政编码','邮政编码')
- ->addFormItem('company_address', 'text','地址','详细地址')
- ->addFormItem('username', 'text', '用户名', '用户名')
- ->addFormItem('password', 'password', '密码', '密码')
- ->addFormItem('email', 'text', '邮箱', '邮箱')
- ->addFormItem('email_bind', 'radio', '邮箱绑定', '手机绑定', array('1' => '已绑定', '0' => '未绑定'))
- ->addFormItem('mobile', 'text', '手机号', '手机号')
- ->addFormItem('mobile_bind', 'radio', '手机绑定', '手机绑定', array('1' => '已绑定', '0' => '未绑定'))
- ->addFormItem('avatar', 'picture', '头像', '头像')
- ->setFormData($info)
- ->display();
- }
- }
- /**
- * 设置一条或者多条数据的状态
- *
- */
- public function setStatus($model = CONTROLLER_NAME)
- {
- $ids = I('request.ids');
- if (is_array($ids)) {
- if (in_array('1', $ids)) {
- $this->error('超级管理员不允许操作');
- }
- } else {
- if ($ids === '1') {
- $this->error('超级管理员不允许操作');
- }
- }
- parent::setStatus($model);
- }
- }
|