摘要:
可能很多对系统还是不是很熟悉,首先做这种二开功能,必须自己清楚数据库表之间的联系。会员表: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.')!')); } }
如上,就完成了根据会员角色,限制会员一天内发布的文章数量!
THE END
请登录后发表评论