Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

版块发主题帖数量限制 for Discuz! 7.0

[复制链接]
pchhh 发表于 2010-7-12 20:32:31 | 显示全部楼层 |阅读模式
本帖最后由 pchhh 于 2010-8-17 01:57 编辑

1. 升级数据库:
  1. ALTER TABLE `cdb_forums` ADD `threadtimes` TINYINT( 1 ) unsigned NOT NULL DEFAULT '0';
复制代码
2. admin\forums.inc.php
查找:
  1. showsetting('forums_edit_posts_alloweditpost', 'alloweditpostnew', $forum['alloweditpost'], 'radio');
复制代码
上面添加:
  1. showsetting('每天主题帖数量限制', 'threadtimesnew', $forum['threadtimes'], 'text');
复制代码
3. 继续查找:
  1. UPDATE {$tablepre}forums SET status='$statusnew', name='$namenew', styleid='$styleidnew',
复制代码
后面添加:
  1. threadtimes='$threadtimesnew',
复制代码
3. 打开include\newthread.php,
查找:
  1. $discuz_action = 11;
复制代码
下面添加:
  1. if ($forum['threadtimes'] > 0 && !$forum['ismoderator']) {
  2.         list($monthnow, $daynow, $yearnow) = explode('-', gmdate('n-j-Y', $timestamp + $_DCACHE['settings']['timeoffset'] * 3600));
  3.         $today = @gmmktime(0, 0, 0, $monthnow, $daynow, $yearnow) - $_DCACHE['settings']['timeoffset'] * 3600;
  4.         $tomorrow = $today + 86400;
  5.         $sqladd = " AND dateline>='$today' AND dateline<'$tomorrow' ";
  6.         
  7.         $threads_posted = $db->result_first("SELECT count(*) FROM {$tablepre}threads WHERE authorid='$discuz_uid' $sqladd AND fid='$fid' AND displayorder != '-1'");
  8.         if ($threads_posted >= $forum['threadtimes']){
  9.                 showmessage("您今天已在本版发主题帖 ".$threads_posted." 个, 已达到本版限制。 欢迎您明天再来。 请返回。");               
  10.         }
  11. }
复制代码
4. wap/include/post.inc.php, 查找:
  1. if(empty($subject) || empty($message)) {
复制代码
上面添加:
  1. if ($forum['threadtimes'] > 0 && !$forum['ismoderator']) {
  2.         list($monthnow, $daynow, $yearnow) = explode('-', gmdate('n-j-Y', $timestamp + $_DCACHE['settings']['timeoffset'] * 3600));
  3.         $today = @gmmktime(0, 0, 0, $monthnow, $daynow, $yearnow) - $_DCACHE['settings']['timeoffset'] * 3600;
  4.         $tomorrow = $today + 86400;
  5.         $sqladd = " AND dateline>='$today' AND dateline<'$tomorrow' ";
  6.         
  7.         $threads_posted = $db->result_first("SELECT count(*) FROM {$tablepre}threads WHERE authorid='$discuz_uid' $sqladd AND fid='$fid' AND displayorder != '-1'");
  8.         if ($threads_posted >= $forum['threadtimes']){
  9.                 wapmsg("您今天已在本版发主题帖 ".$threads_posted." 个, 已达到本版限制。 欢迎您明天再来。 请返回。");               
  10.         }
  11. }
复制代码
5. 后台设置。 编辑版块, 找到“帖子选项”, 输入本版限制数量, 提交即可。



附: 数据库卸载命令:
  1. ALTER TABLE `cdb_forums` DROP `threadtimes`;
复制代码
注: 部分代码参考了小龙虾的“每日红包”插件, 在此致谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
jncn47 发表于 2010-7-12 20:45:13 | 显示全部楼层
7.2能用不?????
回复

使用道具 举报

 楼主| pchhh 发表于 2010-7-12 20:45:57 | 显示全部楼层
回复 jncn47 的帖子

没有测试, 应该是可以的
   
回复

使用道具 举报

7598602 发表于 2010-7-12 23:45:27 | 显示全部楼层
如果能定下那个版就好了
回复

使用道具 举报

1G空间100元 发表于 2010-7-13 14:20:04 | 显示全部楼层
不太清楚。。
回复

使用道具 举报

qhsxnsdsc 发表于 2012-8-16 18:49:08 | 显示全部楼层
你好,我很需要这个功能,如今的2.0不知道能不能用了
回复

使用道具 举报

49669335 发表于 2012-8-30 06:46:56 | 显示全部楼层
{:soso_e135:}7.2能用不?????
回复

使用道具 举报

xskwy 发表于 2012-8-31 10:25:00 | 显示全部楼层
看帖子的要发表下看法
回复

使用道具 举报

magentoon 发表于 2012-8-31 21:50:05 | 显示全部楼层
正在找这个,原来早就有了
回复

使用道具 举报

mark35 发表于 2012-8-31 22:27:22 | 显示全部楼层
showmessage("您今天已在本版发主题帖 ".$threads_posted." 个, 已达到本版限制。 欢迎您明天再来。 请返回。");   

是限制在版块上还是用户上呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-17 05:51 , Processed in 0.034722 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表