discuz3.4设置会员免回复查看隐藏帖

特殊用户组免回复查看隐藏帖的修改方法

 

转 https://blog.csdn.net/catshitone/article/details/38822325?_t_t_t=0.5293136069085449

FOR Discuz!X3.1 3.2 1.5等版本均可以 

很多朋友在社区安装后并在后台自定义中设置了如VIP用户, 
但该用户在社区使用中还是有些权限无法给予。 
这样就给购买了VIP使用权限的用户使用上带来不便。 
为更好的使特殊用户能更好的感受一些特殊的权限, 
今天教大家如何修改文件来达到特殊用户不用回复就可查看隐藏帖的目的。

大家有可能会问,如何在数据库中增加新的数据项,其实很简单,大家在使用空间中都可使用phpMyAdmin来管理你的数据库,如你可以使用可使用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']['ismoderator']

后面插入 :

 

 

|| $_G['group']['ishidefree']

整体效果为:

 

 

if($_G['member']['credits'] >= $creditsrequire || $_G['forum']['ismoderator'] || $_G['group']['ishidefree']|| $_G['uid'] && $authorid == $_G['uid']) {


再找第2个 :

 

 

if($authorreplyexist

注意:是第2个(一共有两个,这里要改第2个) 
后面插入 :

 

 

|| $_G['group']['ishidefree'] 


整体效果:

 

 

if($authorreplyexist||$_G['group']['ishidefree']){

 

四:修改source/language/lang_admincp.php 
查找:

 

'usergroups_edit_post_new' => '允许发新话题',

在上面添加:

 

 

  1.  
    'usergroups_hidefree_post' => '拥有隐藏贴免回覆权限:',
  2.  
    'usergroups_hidefree_post_comment' => '设置是否拥有隐藏贴免回覆权限',



 

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

 

 

 
posted @ 2020-12-29 22:25  中国人醒来了  阅读(1205)  评论(0编辑  收藏  举报