黑帽联盟

标题: Discuz如何设置VIP特殊用户组免回复可看隐藏内容帖 [打印本页]

作者: admin    时间: 2023-9-1 22:04
标题: Discuz如何设置VIP特殊用户组免回复可看隐藏内容帖
特殊用户组免回复查看隐藏帖的修改方法

FOR: Discuz!X1.5  --  3.2等版本均可以

很多朋友在社区安装后并在后台自定义中设置了如VIP用户,

但该用户在社区使用中还是有些权限无法给予。

这样就给购买了VIP使用权限的用户使用上带来不便。

为更好的使特殊用户能更好的感受一些特殊的权限,

今天教大家如何修改文件来达到特殊用户不用回复就可查看隐藏帖的目的。

大家有可能会问,如何在数据库中增加新的数据项,其实很简单,大家在使用空间中都可使用phpMyAdmin来管理你的​ ​数据库​​,如你可以使用可使用phpMyAdmin中的 运行 SQL 查询中添加如上代码再点击右下方的执行即可。

212121.png


一:升级数据库:

输入:
  1. ALTER TABLE `pre_common_usergroup_field` ADD `ishidefree` TINYINT( 1 ) DEFAULT '0' NOT NULL;
复制代码
二:修改source/admincp/admincp_usergroups.php

查找:
  1. showsetting('usergroups_edit_post_new', 'allowpostnew', $group['allowpost'], 'radio');
复制代码
前面加入:
  1. showsetting('usergroups_hidefree_post', 'ishidefreenew', $group['ishidefree'], 'radio');
复制代码
再查找:
  1. 'allowpost' => $_GET['allowpostnew'],
复制代码
前面加入 :
  1. 'ishidefree' => $_GET['ishidefreenew'],
复制代码
三:修改source/function/function_discuzcode.php

查找(大概在38行):
  1. if($_G['member']['credits'] >= $creditsrequire || $_G['forum']['ismoderator']
复制代码
后面插入 :
  1. || $_G['group']['ishidefree']
复制代码
整体效果为:
  1. if($_G['member']['credits'] >= $creditsrequire || $_G['forum']['ismoderator'] || $_G['group']['ishidefree']|| $_G['uid'] && $authorid == $_G['uid']) {
复制代码
再找第2个 :
  1. if($authorreplyexist
复制代码
注意:是第2个(一共有两个,这里要改第2个)

后面插入 :
  1. || $_G['group']['ishidefree']
复制代码
整体效果:
  1. if($authorreplyexist||$_G['group']['ishidefree']){
复制代码
四:修改source/language/lang_admincp.php

查找:
  1. 'usergroups_edit_post_new' => '允许发新话题',
复制代码
在上面添加:
  1. 'usergroups_hidefree_post' => '拥有隐藏贴免回覆权限:',

  2. 'usergroups_hidefree_post_comment' => '设置是否拥有隐藏贴免回覆权限',
复制代码
五:后台 "用户"->用户组->论坛相关->贴子相关>要设置此功能的用户组按设置是否拥有隐藏贴免回復权限 选"是",即可.







欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5