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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 让版主,管理员显示会员晋级用户组名称(等级)

[复制链接]
qingweiliao 发表于 2017-6-17 09:09:20 | 显示全部楼层 |阅读模式
本帖最后由 qingweiliao 于 2017-6-17 09:11 编辑

默认系统,若晋级会员组的人当版主就覆盖原来的等级用户组,前台页面只显示版主用户组名称
怎么让两个都显示啊?即显示版主用户组又显示会员晋级用户组名称(等级)
格东站长网插件 发表于 2017-6-17 09:56:06 | 显示全部楼层
这个没得同时显,代码就是这么写的
实在要都显,得改函数,非常麻烦
回复

使用道具 举报

 楼主| qingweiliao 发表于 2017-6-17 09:57:37 | 显示全部楼层
格东站长网插件 发表于 2017-6-17 09:56
这个没得同时显,代码就是这么写的
实在要都显,得改函数,非常麻烦

看了一下discuz太阳星星月亮等级显示的方法是按照会员组对应的星星和设置的阀值来显示太阳星星月亮的,然而discuz中管理员 版主 超级版主等系统用户组和管理组的groupid是不会随着积分的升高而变化的,普通会员却可以变化,所以导致了管理员 版主 超级版主的星星月亮太阳数量不会变化...

修改前请注意备份viewthead.php文件

修改了一下根目录下的viewthead.php文件,让管理员 版主 超级版主等也按照积分来排列星星月亮太阳

查找if(empty($action) && $tid){约第190行

在这行下面加入
[php]
$my_group_from_credits = array();
    foreach($_DCACHE['usergroups'] as $my_group){
        if($my_group['type'] == 'member'){
            $my_group_from_credits[$my_group['creditslower']] = $my_group['stars'];
        }
    }
    ksort($my_group_from_credits);
    reset($my_group_from_credits);
[/php]

在函数viewthread_procpost的$threadpay后面面加入一个变量$my_group_from_credits
[php]
global $_DCACHE, $newpostanchor, $numpost, $thisbg, $postcount, $ratelogpids, $onlineauthors, $lastvisit, $thread,
        $attachpids, $attachtags, $forum, $dateformat, $timeformat, $timeoffset, $userstatusby, $allowgetattach,
        $ratelogrecord, $showimages, $forum, $discuz_uid, $showavatars, $pagebydesc, $ppp, $ppp2, $ppp3,
        $firstpid, $videoopen, $threadpay,$my_group_from_credits;
[/php]

将这段注释
[php]
if($_DCACHE['usergroups'][$post['groupid']]['userstatusby'] == 1) {
            $post['authortitle'] = $_DCACHE['usergroups'][$post['groupid']]['grouptitle'];
            $post['stars'] = $_DCACHE['usergroups'][$post['groupid']]['stars'];
        } elseif($_DCACHE['usergroups'][$post['groupid']]['userstatusby'] == 2) {
            foreach($_DCACHE['ranks'] as $rank) {
                if($post['posts'] > $rank['postshigher']) {
                    $post['authortitle'] = $rank['ranktitle'];
                    $post['stars'] = $rank['stars'];
                    break;
                }
            }
        }
[/php]

下面添加如下代码
[php]
foreach($my_group_from_credits as $rank1=>$rank2){
            if($post['credits'] <= $rank1){
                $post['authortitle'] = $_DCACHE['usergroups'][$post['groupid']]['grouptitle'];
                $post['stars'] = $rank2;
                break;
            }
        }
[/php]

至此管理员 版主 超级版主的星星月亮太阳数量也会按照积分显示了
回复

使用道具 举报

taoquanba.vip 发表于 2017-6-17 11:35:13 | 显示全部楼层
你的网站有后门吧,要不就是FTP账户泄漏了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-27 19:40 , Processed in 0.023105 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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