123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- <?php
- /**
- * @copyright (C)2016-2099 Hnaoyun Inc.
- * @author XingMeng
- * @email hnxsh@foxmail.com
- * @date 2019年10月05日
- * 会员控制器
- */
- namespace app\admin\controller\member;
-
- use core\basic\Controller;
- use app\admin\model\member\MemberModel;
-
- class MemberController extends Controller
- {
-
- private $model;
-
- public function __construct()
- {
- $this->model = new MemberModel();
- }
-
- // 会员列表
- public function index()
- {
- if ((! ! $id = get('id', 'int')) && $result = $this->model->getMember($id)) {
- $this->assign('more', true);
- $this->assign('fields', $this->model->getFields());
- $this->assign('member', $result);
- } else {
- $this->assign('list', true);
- if (! ! ($field = get('field', 'var')) && ! ! ($keyword = get('keyword', 'vars'))) {
- $result = $this->model->findMember($field, $keyword);
- } else {
- $result = $this->model->getList();
- }
-
- // 会员等级
- $this->assign('groups', model('admin.member.MemberGroup')->getSelect());
- $this->assign('members', $result);
- }
- $this->display('member/member.html');
- }
-
- // 会员增加
- public function add()
- {
- if ($_POST) {
- // 获取数据
- $ucode = get_auto_code($this->model->getLastCode(), 1);
- $username = post('username');
- $useremail = post('useremail');
- $usermobile = post('usermobile');
- $nickname = post('nickname');
- $password = post('password');
- $headpic = post('headpic');
- $status = post('status') ?: 1;
- $gid = post('gid');
- $score = post('score');
- $register_time = get_datetime();
-
- if (! $username) {
- alert_back('用户账号不能为空!');
- }
-
- if (! preg_match('/^[\w\@\.]+$/', $username)) {
- alert_back('用户账号含有不允许的特殊字符!');
- }
-
- if ($useremail && ! preg_match('/^[\w]+@[\w\.]+\.[a-zA-Z]+$/', $useremail)) {
- alert_back('邮箱账号格式不正确!');
- }
-
- if ($usermobile && ! preg_match('/^1[0-9]{10}$/', $usermobile)) {
- alert_back('手机号码格式不正确!');
- }
-
- if ($username && $this->model->checkMember("username='$username' OR useremail='$username' OR usermobile='$username'")) {
- alert_back('用户名已经存在!');
- }
-
- if ($useremail && $this->model->checkMember("username='$useremail' OR useremail='$useremail' OR usermobile='$useremail'")) {
- alert_back('邮箱账号已经存在!');
- }
-
- if ($usermobile && $this->model->checkMember("username='$usermobile' OR useremail='$usermobile' OR usermobile='$usermobile'")) {
- alert_back('手机号码已经存在!');
- }
-
- if (! $password) {
- alert_back('密码不能为空!');
- } else {
- $password = md5(md5($password));
- }
-
- // 构建数据
- $data = array(
- 'ucode' => $ucode,
- 'username' => $username,
- 'useremail' => $useremail,
- 'usermobile' => $usermobile,
- 'nickname' => $nickname,
- 'password' => $password,
- 'headpic' => $headpic,
- 'status' => $status,
- 'gid' => $gid,
- 'wxid' => '',
- 'qqid' => '',
- 'wbid' => '',
- 'activation' => 1,
- 'score' => $score,
- 'register_time' => $register_time,
- 'login_count' => 0,
- 'last_login_ip' => 0,
- 'last_login_time' => 0
- );
-
- // 执行添加
- if ($this->model->addMember($data)) {
- $this->log('新增会员成功!');
- if (! ! $backurl = get('backurl')) {
- success('新增成功!', base64_decode($backurl));
- } else {
- success('新增成功!', url('/admin/Member/index'));
- }
- } else {
- $this->log('新增会员失败!');
- error('新增失败!', - 1);
- }
- }
- }
-
- // 会员删除
- public function del()
- {
- // 执行批量删除
- if ($_POST) {
- if (! ! $list = post('list')) {
- if ($this->model->delMemberList($list)) {
- $this->log('批量删除会员成功!');
- success('删除成功!', - 1);
- } else {
- $this->log('批量删除会员失败!');
- error('删除失败!', - 1);
- }
- } else {
- alert_back('请选择要删除的会员!');
- }
- }
-
- if (! $id = get('id', 'int')) {
- error('传递的参数值错误!', - 1);
- }
-
- if ($this->model->delMember($id)) {
- $this->log('删除会员' . $id . '成功!');
- success('删除成功!', - 1);
- } else {
- $this->log('删除会员' . $id . '失败!');
- error('删除失败!', - 1);
- }
- }
-
- // 会员修改
- public function mod()
- {
- if (! ! $submit = post('submit')) {
- switch ($submit) {
- case 'verify1':
- $list = post('list');
- if (! $list) {
- alert_back('请选择要操作的会员!');
- }
- if ($this->model->modMemberList($list, "status=1")) {
- $this->log('会员批量启用成功!');
- success('启用成功!', - 1);
- } else {
- alert_back('启用失败!');
- }
- break;
- case 'verify0':
- $list = post('list');
- if (! $list) {
- alert_back('请选择要操作的会员!');
- }
- if ($this->model->modMemberList($list, "status=0")) {
- $this->log('会员批量禁用成功!');
- success('禁用成功!', - 1);
- } else {
- alert_back('禁用失败!');
- }
- break;
- }
- }
-
- if (! $id = get('id', 'int')) {
- error('传递的参数值错误!', - 1);
- }
-
- // 单独修改状态
- if (($field = get('field', 'var')) && ! is_null($value = get('value', 'var'))) {
- if ($this->model->modMember($id, "$field='$value'")) {
- location(- 1);
- } else {
- alert_back('修改失败!');
- }
- }
-
- // 修改操作
- if ($_POST) {
-
- // 获取数据
- $username = post('username');
- $useremail = post('useremail');
- $usermobile = post('usermobile');
- $nickname = post('nickname');
- $password = post('password');
- $headpic = post('headpic');
- $status = post('status') ?: 1;
- $gid = post('gid');
- $score = post('score');
-
- if (! $username) {
- alert_back('用户账号不能为空!');
- }
-
- if (! preg_match('/^[\w\@\.]+$/', $username)) {
- alert_back('用户账号含有不允许的特殊字符!');
- }
-
- if ($useremail && ! preg_match('/^[\w]+@[\w\.]+\.[a-zA-Z]+$/', $useremail)) {
- alert_back('邮箱账号格式不正确!');
- }
-
- if ($usermobile && ! preg_match('/^1[0-9]{10}$/', $usermobile)) {
- alert_back('手机号码格式不正确!');
- }
-
- if ($username && $this->model->checkMember("(username='$username' OR useremail='$username' OR usermobile='$username') AND id<>$id")) {
- alert_back('用户名已经存在!');
- }
-
- if ($useremail && $this->model->checkMember("(username='$useremail' OR useremail='$useremail' OR usermobile='$useremail') AND id<>$id")) {
- alert_back('邮箱账号已经存在!');
- }
-
- if ($usermobile && $this->model->checkMember("(username='$usermobile' OR useremail='$usermobile' OR usermobile='$usermobile') AND id<>$id")) {
- alert_back('手机号码已经存在!');
- }
-
- // 构建数据
- $data = array(
- 'username' => $username,
- 'useremail' => $useremail,
- 'usermobile' => $usermobile,
- 'nickname' => $nickname,
- 'headpic' => $headpic,
- 'status' => $status,
- 'gid' => $gid,
- 'score' => $score
- );
-
- if ($password) {
- $data['password'] = md5(md5($password));
- }
-
- // 执行添加
- if ($this->model->modMember($id, $data)) {
- $this->log('修改会员成功!');
- if (! ! $backurl = get('backurl')) {
- success('修改成功!', base64_decode($backurl));
- } else {
- success('修改成功!', url('/admin/Member/index'));
- }
- } else {
- $this->log('修改会员失败!');
- error('修改失败!', - 1);
- }
- } else {
- // 调取修改内容
- $this->assign('mod', true);
- if (! $result = $this->model->getMember($id)) {
- error('编辑的内容已经不存在!', - 1);
- }
- // 会员等级
- $this->assign('groups', model('admin.member.MemberGroup')->getSelect());
- $this->assign('member', $result);
- $this->display('member/member.html');
- }
- }
- }
|