This commit is contained in:
Gitea
2022-01-24 10:43:35 +08:00
commit 15dfc6576b
786 changed files with 219240 additions and 0 deletions

View File

@@ -0,0 +1,118 @@
<?php
/**
* @copyright (C)2016-2099 Hnaoyun Inc.
* @author XingMeng
* @email hnxsh@foxmail.com
* @date 2020年06月27日
* 文章评论控制器
*/
namespace app\admin\controller\member;
use core\basic\Controller;
use app\admin\model\member\MemberCommentModel;
class MemberCommentController extends Controller
{
private $model;
public function __construct()
{
$this->model = new MemberCommentModel();
}
// 文章评论列表
public function index()
{
if ((! ! $id = get('id', 'int')) && $result = $this->model->getComment($id)) {
$this->assign('more', true);
$this->assign('comment', $result);
} else {
$this->assign('list', true);
if (! ! ($field = get('field', 'var')) && ! ! ($keyword = get('keyword', 'vars'))) {
$result = $this->model->findComment($field, $keyword);
} else {
$result = $this->model->getList();
}
$this->assign('comments', $result);
}
$this->display('member/comment.html');
}
// 文章评论删除
public function del()
{
// 执行批量删除
if ($_POST) {
if (! ! $list = post('list')) {
if ($this->model->delCommentList($list)) {
$this->log('批量删除评论成功!');
success('删除成功!', - 1);
} else {
$this->log('批量删除评论失败!');
error('删除失败!', - 1);
}
} else {
alert_back('请选择要删除的评论!');
}
}
if (! $id = get('id', 'int')) {
error('传递的参数值错误!', - 1);
}
if ($this->model->delComment($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->modCommentList($list, "status=1")) {
$this->log('评论批量审核成功!');
success('审核成功!', - 1);
} else {
alert_back('审核失败!');
}
break;
case 'verify0':
$list = post('list');
if (! $list) {
alert_back('请选择要操作的评论!');
}
if ($this->model->modCommentList($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->modComment($id, "$field='$value',update_user='" . session('username') . "'")) {
location(- 1);
} else {
alert_back('修改失败!');
}
}
}
}

View File

@@ -0,0 +1,292 @@
<?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');
}
}
}

View File

@@ -0,0 +1,193 @@
<?php
/**
* @copyright (C)2016-2099 Hnaoyun Inc.
* @author XingMeng
* @email hnxsh@foxmail.com
* @date 2020年06月25日
* 会员字段控制器
*/
namespace app\admin\controller\member;
use core\basic\Controller;
use app\admin\model\member\MemberFieldModel;
class MemberFieldController extends Controller
{
private $model;
public function __construct()
{
$this->model = new MemberFieldModel();
}
// 会员字段列表
public function index()
{
if ((! ! $id = get('id', 'int')) && $result = $this->model->getField($id)) {
$this->assign('more', true);
$this->assign('field', $result);
} else {
$this->assign('list', true);
if (! ! ($field = get('field', 'var')) && ! ! ($keyword = get('keyword', 'vars'))) {
$result = $this->model->findField($field, $keyword);
} else {
$result = $this->model->getList();
}
$this->assign('fields', $result);
}
$this->display('member/field.html');
}
// 会员字段增加
public function add()
{
if ($_POST) {
// 获取数据
$name = post('name', 'var');
$length = post('length', 'int') ?: 20;
$required = post('required', 'int') ?: 0;
$description = post('description');
$sorting = post('sorting', 'int') ?: 255;
$status = post('status') ?: 1;
if (! $name) {
alert_back('字段名称不能为空!');
}
if (! preg_match('/^[a-zA-Z][\w]+$/', $name)) {
alert_back('字段名称必须以字母开头!');
}
if (! $description) {
alert_back('字段描述不能为空!');
}
// 构建数据
$data = array(
'name' => $name,
'length' => $length,
'required' => $required,
'description' => $description,
'sorting' => $sorting,
'status' => $status,
'create_user' => session('username'),
'update_user' => session('username')
);
// 字段类型及长度
$mysql = "varchar($length)";
$sqlite = "TEXT($length)";
// 字段不存在时创建
if (! $this->model->isExistField($name)) {
if (get_db_type() == 'sqlite') {
$result = $this->model->amd("ALTER TABLE ay_member ADD COLUMN $name $sqlite NULL");
} else {
$result = $this->model->amd("ALTER TABLE ay_member ADD $name $mysql NULL COMMENT '$description'");
}
} elseif ($this->model->checkField($name)) { // 字段存在且已使用则报错
alert_back('字段已经存在,不能重复添加!');
}
// 执行会员字段添加
if ($this->model->addField($data)) {
$this->log('新增会员字段成功!');
if (! ! $backurl = get('backurl')) {
success('新增成功!', base64_decode($backurl));
} else {
success('新增成功!', url('/admin/MemberField/index'));
}
} else {
$this->log('新增会员字段失败!');
error('新增失败!', - 1);
}
}
}
// 会员字段删除
public function del()
{
if (! $id = get('id', 'int')) {
error('传递的参数值错误!', - 1);
}
$name = $this->model->getFieldName($id);
if ($this->model->delField($id)) {
// mysql数据库执行字段删除sqlite暂时不支持
if (! ! $name) {
if (get_db_type() == 'mysql') {
$result = $this->model->amd("ALTER TABLE ay_member DROP COLUMN $name");
}
}
$this->log('删除会员字段' . $id . '成功!');
success('删除成功!', - 1);
} else {
$this->log('删除会员字段' . $id . '失败!');
error('删除失败!', - 1);
}
}
// 会员字段修改
public function mod()
{
if (! $id = get('id', 'int')) {
error('传递的参数值错误!', - 1);
}
// 单独修改状态
if (($field = get('field', 'var')) && ! is_null($value = get('value', 'var'))) {
if ($this->model->modField($id, "$field='$value',update_user='" . session('username') . "'")) {
location(- 1);
} else {
alert_back('修改失败!');
}
}
// 修改操作
if ($_POST) {
// 获取数据
$required = post('required', 'int') ?: 0;
$description = post('description');
$sorting = post('sorting', 'int') ?: 255;
$status = post('status') ?: 1;
if (! $description) {
alert_back('字段描述不能为空!');
}
// 构建数据
$data = array(
'required' => $required,
'description' => $description,
'sorting' => $sorting,
'status' => $status,
'update_user' => session('username')
);
// 执行会员字段修改
if ($this->model->modField($id, $data)) {
$this->log('修改会员字段成功!');
if (! ! $backurl = get('backurl')) {
success('修改成功!', base64_decode($backurl));
} else {
success('修改成功!', url('/admin/MemberField/index'));
}
} else {
$this->log('修改会员字段失败!');
error('修改失败!', - 1);
}
} else {
// 调取修改内容
$this->assign('mod', true);
if (! $result = $this->model->getField($id)) {
error('编辑的内容已经不存在!', - 1);
}
$this->assign('field', $result);
$this->display('member/field.html');
}
}
}

View File

@@ -0,0 +1,187 @@
<?php
/**
* @copyright (C)2016-2099 Hnaoyun Inc.
* @author XingMeng
* @email hnxsh@foxmail.com
* @date 2020年06月25日
* 会员等级控制器
*/
namespace app\admin\controller\member;
use core\basic\Controller;
use app\admin\model\member\MemberGroupModel;
class MemberGroupController extends Controller
{
private $model;
public function __construct()
{
$this->model = new MemberGroupModel();
}
// 会员等级列表
public function index()
{
if ((! ! $id = get('id', 'int')) && $result = $this->model->getGroup($id)) {
$this->assign('more', true);
$this->assign('group', $result);
} else {
$this->assign('list', true);
if (! ! ($field = get('field', 'var')) && ! ! ($keyword = get('keyword', 'vars'))) {
$result = $this->model->findGroup($field, $keyword);
} else {
$result = $this->model->getList();
}
$this->assign('groups', $result);
}
$this->display('member/group.html');
}
// 会员等级增加
public function add()
{
if ($_POST) {
// 获取数据
$gcode = post('gcode', 'int') ?: get_auto_code($this->model->getLastGid(), 1);
$gname = post('gname');
$description = post('description');
$status = post('status') ?: 1;
$lscore = post('lscore', 'int') ?: 0;
$uscore = post('uscore', 'int') ?: 9999999999;
if (! $gcode) {
alert_back('等级编号不能为空!');
}
if (! $gname) {
alert_back('等级名称不能为空!');
}
if ($this->model->findGroupCode($gcode)) {
alert_back('等级编码不能重复!');
}
// 构建数据
$data = array(
'gcode' => $gcode,
'gname' => $gname,
'description' => $description,
'status' => $status,
'lscore' => $lscore,
'uscore' => $uscore,
'create_user' => session('username'),
'update_user' => session('username')
);
// 执行会员等级添加
if ($this->model->addGroup($data)) {
$this->log('新增会员等级成功!');
if (! ! $backurl = get('backurl')) {
success('新增成功!', base64_decode($backurl));
} else {
success('新增成功!', url('/admin/MemberGroup/index'));
}
} else {
$this->log('新增会员等级失败!');
error('新增失败!', - 1);
}
}
}
// 会员等级删除
public function del()
{
if (! $id = get('id', 'int')) {
error('传递的参数值错误!', - 1);
}
if ($this->model->findGroupUser($id)) {
error('会员等级下存在用户,无法直接删除!', - 1);
}
if ($this->model->delGroup($id)) {
$this->log('删除会员等级' . $id . '成功!');
success('删除成功!', - 1);
} else {
$this->log('删除会员等级' . $id . '失败!');
error('删除失败!', - 1);
}
}
// 会员等级修改
public function mod()
{
if (! $id = get('id', 'int')) {
error('传递的参数值错误!', - 1);
}
// 单独修改状态
if (($field = get('field', 'var')) && ! is_null($value = get('value', 'var'))) {
if ($this->model->modGroup($id, "$field='$value',update_user='" . session('username') . "'")) {
location(- 1);
} else {
alert_back('修改失败!');
}
}
// 修改操作
if ($_POST) {
// 获取数据
$gcode = post('gcode', 'int') ?: get_auto_code($this->model->getLastGid(), 1);
$gname = post('gname');
$description = post('description');
$status = post('status') ?: 1;
$lscore = post('lscore', 'int') ?: 0;
$uscore = post('uscore', 'int') ?: 9999999999;
if (! $gcode) {
alert_back('等级编号不能为空!');
}
if (! $gname) {
alert_back('等级名称不能为空!');
}
if ($this->model->findGroupCode($gcode, $id)) {
alert_back('等级编码不能重复!');
}
// 构建数据
$data = array(
'gcode' => $gcode,
'gname' => $gname,
'description' => $description,
'status' => $status,
'lscore' => $lscore,
'uscore' => $uscore,
'update_user' => session('username')
);
// 执行会员等级修改
if ($this->model->modGroup($id, $data)) {
$this->log('修改会员等级成功!');
if (! ! $backurl = get('backurl')) {
success('修改成功!', base64_decode($backurl));
} else {
success('修改成功!', url('/admin/MemberGroup/index'));
}
} else {
$this->log('修改会员等级失败!');
error('修改失败!', - 1);
}
} else {
// 调取修改内容
$this->assign('mod', true);
if (! $result = $this->model->getGroup($id)) {
error('编辑的内容已经不存在!', - 1);
}
$this->assign('group', $result);
$this->display('member/group.html');
}
}
}