ROBOT 发表于 2024-9-3 21:54:21

discuz ! x3.4,设置会员组免回复查看隐藏帖教程!

一:升级数据库:
打开phpmyadmin的论坛数据库的sql
输入:
ALTER TABLE pre_common_usergroup_field ADD ishidefree TINYINT( 1 ) DEFAULT '0' NOT NULL

二:修改source/admincp/admincp_usergroups.php查找:
showsetting('usergroups_edit_post_new', 'allowpostnew', $group['allowpost'], 'radio');
前面加入:
showsetting('usergroups_hidefree_post', 'ishidefreenew', $group['ishidefree'], 'radio');
再查找:
'allowpost' => $_GET['allowpostnew'],
前面加入:
'ishidefree' => $_GET['ishidefreenew'],

三:修改source/function/function_discuzcode.php 查找(大概在38行):
if($_G['member']['credits'] >= $creditsrequire || $_G'forum'
后面插入 :
|| $_G'group'         if($_G['member']['credits'] >= $creditsrequire || $_G['forum']['ismoderator']|| $_G'group'|| $_G['uid'] && $authori         d == $_G['uid']) {
再找第2个 :
if($authorreplyexist
注意:是第2个(一共有两个,这里要改第2个)
后面插入 :
|| $_G'group'
整体效果:
if($authorreplyexist||$_G'group'){

四:修改source/language/lang_admincp.php 查找:
'usergroups_edit_post_new' => '允许发新话题',
在上面添加:
'usergroups_hidefree_post' => '拥有隐藏贴免回覆权限:',         'usergroups_hidefree_post_comment' => '设置是否拥有隐藏贴免回覆权限',

五:后台 "用户"->用户组->论坛相关->贴子相关>要设置此功能的用户组按设置是否拥有隐藏贴免回復权限 选"是",即可。

六:更新缓存

霸王别姬 发表于 2024-9-3 21:54:43

这个可以有

ROBOT 发表于 2024-9-3 21:55:23

X3.4版
$_G['group']这样填写就不会出错,但是后台设置了没效果捏,所有用户组都能看到隐藏内容了

IT618应用中心 发表于 2024-9-3 21:55:41

懂了,需要把【$_G'group'】换成【$_G['group']['ishidefree']】就ok了,已解决

yusr 发表于 2024-9-3 21:56:11

这个好,能适配x3.5吗?

月落秋水 发表于 2024-9-3 21:57:11

连个收藏入口都不知道哪里去了。

知行社区 发表于 2024-9-3 21:58:04

X3.5的部分代码已经做了改动

知行社区 发表于 2024-9-3 21:58:16

找到if($authorreplyexist) {这一行, 在其 上边 添加 如下代码即可

    if (in_array($_G['groupid'],array(3,5))) {
                                        $authorreplyexist = true;
                              }

array(3,5) 中的3和5 是 用户组id, 可以自行修改,不同 用户组id之间 用 半角逗号隔开
页: [1]
查看完整版本: discuz ! x3.4,设置会员组免回复查看隐藏帖教程!