如何对不同的会员角色设置不同的发布文章数量限制?

可能很多对系统还是不是很熟悉,首先做这种二开功能,必须自己清楚数据库表之间的联系。会员表:mem...

可能很多对系统还是不是很熟悉,首先做这种二开功能,必须自己清楚数据库表之间的联系。

会员表:member 

会员角色表:member_group (设置相关字段)

发布文章表:article (用户统计总共发布的文章数)

在会员角色表里面创建一个字段,每天限制发布文章数字段:day_limit_num

设置会员每天只能发布5篇

另外创建一个分组VIP,并设置每天发布50篇

现在后台设置已经设置完毕了,下面要修改前台发布方法里面

app\home\c\UserController.php

将文件复制一份,放到 app\home\plugins\ 下面,并修改空间命名,如下:

这个是正确的二开思路,将控制器放到插件目录,这样就不会被升级覆盖了。

找到 release 这个方法,就是发布文章的方法,在新增的地方加入查询发布数量的代码

//查询当天已经发布是文章数量
$start_time = strtotime(date('Y-m-d').' 00:00:00');//通过日期转时间戳获取当天开始时间戳
$end_time = strtotime(date('Y-m-d').' 23:59:59');
$sql = "member_id=".$this->member['id']." and addtime>=".$start_time." and addtime<=".$end_time;
$count = M('article')->getCount($sql);
//获取当前会员的角色限制发布的数量
$group = M('member_group')->find(['id'=>$this->member['gid']]);
$max = (int)$group['day_limit_num'];
if($count>=$max){
	if($this->frparam('ajax')){
		JsonReturn(['code'=>1,'msg'=>JZLANG('发布失败,您已超过当天发布数量限制('.$max.')!')]);
	}else{
		Error(JZLANG('发布失败,您已超过当天发布数量限制('.$max.')!'));
	}
					
}

如上,就完成了根据会员角色,限制会员一天内发布的文章数量!

声明:
1、本网站名称:乐源屋 - 资源分享平台
2、本站永久网址:https://leyuanwu.com/
3、分享是一种美德,转载请保留原链接。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

予人玫瑰,手有余香

上一篇

限制某会员发布文章(防止被人恶意发布信息)

下一篇

极致CMSv2.5.0发布下载

0条回复
因为爱过,所以慈悲;因为懂得,所以宽容
今日签到
搜索