zoukankan      html  css  js  c++  java
  • discuz7.2 昵称替换用户名 新风宇宙

    A、打开include/common.inc.php
    1、找到:$membertablefields = 'm.uid
    在上面加:$otherfields = ',mf.nickname';

    2、找到:$query = $db->query("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, s.pageviews AS spageviews, s.lastolupdate,婚纱照姿势, s.seccode, $membertablefields

                            FROM {$tablepre}sessions s, {$tablepre}members m

                            WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,张杰与谢娜的婚纱照,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid'

                            AND m.password='$discuz_pw' AND m.secques='$discuz_secques'");

    替换成:$query = $db->query("SELECT s.sid,维纳斯婚纱照价格, s.styleid, s.groupid='6' AS ipbanned,长沙拍艺术照, s.pageviews AS spageviews, s.lastolupdate, s.seccode, $membertablefields $otherfields

                            FROM {$tablepre}sessions s, {$tablepre}members m,{$tablepre}memberfields mf

                            WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,婚纱照那家好,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid' AND m.uid=mf.uid

                            AND m.password='$discuz_pw' AND m.secques='$discuz_secques'");
    说明:其实就是连接{$tablepre}memberfields表显示nickname


    下边的修改就是使得头部和底部里可以显示昵称或者用户名。优先昵称显示
    但是这样做是否会引起其他问题,未作验证。

    找到:$discuz_userss = $discuz_user;
            $discuz_user = addslashes($discuz_user);
    替换成:if(!empty($nickname)){

                    $discuz_userss = $nickname;

                    $discuz_user = addslashes($nickname);        

                    }else{

                    $discuz_userss = $discuz_user;

                    $discuz_user = addslashes($discuz_user);

                    }

    B、根目录 forumdisplay.php 文件
    修改forumdisplay.php

    if(($start_limit && $start_limit > $stickycount) || !$stickycount || $filterbool) {

            $querysticky = '';
            $query = $db->query("SELECT t.* , mf.nickname FROM {$tablepre}threads t
                LEFT JOIN {$tablepre}memberfields mf ON(mf.uid = t.authorid)
                    WHERE t.fid='$fid' $filteradd AND $displayorderadd
                    ORDER BY t.displayorder DESC, t.$orderby $ascdesc
                    LIMIT ".($filterbool ? $start_limit : $start_limit - $stickycount).", $tpp");

    } else {

            $querysticky = $db->query("SELECT t.* , mf.nickname FROM {$tablepre}threads t
                LEFT JOIN {$tablepre}memberfields mf ON(mf.uid = t.authorid)
                    WHERE t.tid IN ($stickytids) AND t.displayorder IN (2, 3)
                    ORDER BY displayorder DESC, $orderby $ascdesc
                    LIMIT $start_limit, ".($stickycount - $start_limit < $tpp ? $stickycount - $start_limit : $tpp));

            if($tpp - $stickycount + $start_limit > 0) {
                    $query = $db->query("SELECT t.* , mf.nickname FROM {$tablepre}threads t 
                        LEFT JOIN {$tablepre}memberfields mf ON(mf.uid = t.authorid)
                            WHERE t.fid='$fid' $filteradd AND $displayorderadd
                            ORDER BY displayorder DESC, $orderby $ascdesc
                            LIMIT ".($tpp - $stickycount + $start_limit));
            } else {
                    $query = '';
            }

    }


    改的目的是让 $thread['nickname'] 提取到昵称值,在需要用昵称值的地方可以调用.


    1、        templates/default里viewthread_node.htm 文件
    查找
    <a href="space.php?uid=$post[authorid]" class="posterlink" target="_blank">$post[author]</a>
    把$post[author]替换为
    <!--{if empty($post[nickname])}-->$post[author]<!--{else}-->$post[nickname]<!--{/if}-->
    效果是这里变昵称(没有昵称则显示用户名)

    2、templates/default里viewthread_node.htm 文件

    查找

    <a href="space.php?uid=$post[authorid]" target="_blank">$post[author]</a>

    替换

    <a href="space.php?uid=$post[authorid]" target="_blank"><!--{eval echo cutstr($post[author],4,'***');}--></a>

    效果是隐藏玩家账号
    由于原来也有昵称显示所以可去掉其中一个。


    3、templates/default里viewthread_node.htm 文件
    ...改完效果是--左边头像下显示昵称;也可以改到头像上显示昵称。代码放的位置改改就好。
    !!!无昵称则不显示。
    查找
    <p><em><a href="faq.php?action=grouppermission&searchgroupid={$post[groupid]}" target="_blank">{$post[authortitle]}</a></em></p>

    在上边加
    <!--昵称显示-->
    <!--{if $post['nickname']}--><p>{lang nickname}: <a href="space.php?uid=$post[authorid]" target="_blank"><em>$post[nickname]</em></a></p><!--{/if}-->

    4、

    templates/default里forumdisplay.htm文件
    找:
    <a href="space.php?uid=$thread[authorid]">$thread[author]</a>
    $thread[author]换成:
    <!--{if empty($thread[nickname])}--> $thread[author]<!--{else}-->$thread[nickname]<!--{/if}-->

    效果是帖子列表 作者 换成昵称显示

    5. 隐藏用户账号显示,修改模板文件./template/default/viewpro_classic.htm

    查找
    <h1>$member[username]<!--{if $member[online]}--> <img src="{IMGDIR}/online_buddy.gif" title="{lang online}" class="online_buddy" /><!--{/if}--></h1>
    把$member[username]
    替换成

    <!--{eval echo cutstr($member[username],4,'***');}-->



    还有这里


    根 forumdisplay.php文件
    查找
    $thread['lastposterenc'] = rawurlencode($thread['lastposter']);
    在下边加
    $mysql="select nickname from ({$tablepre}members m inner join {$tablepre}memberfields mf on m.uid=mf.uid) inner join {$tablepre}threads t 
    on m.username=t.lastposter
    where t.lastposter='$thread[lastposter]'";
    $res=$sdb->query($mysql);
    while($my=$sdb->fetch_array($res)){
    $thread['lastposter_nickname']=$my['nickname'];
    }

    模板调用为:$thread['lastposter_nickname']

    templates/default里forumdisplay.htm文件
    查找<PRE>$thread[lastposter]</a><!--{else}-->{lang anonymous}<!--{/if}--></cite></PRE>
    改为以下(去掉了<PRE>否则对样式有影响)
    <!--{if empty($thread[lastposter_nickname])}-->$thread[lastposter]
    <!--{else}-->$thread[lastposter_nickname]<!--{/if}-->
    </a><!--{else}-->{lang anonymous}<,婚纱摄影加盟!--{/if}--></cite>

    目的是屏蔽超链接。因为这里换了昵称会传递错误。

    在Include/forum.func.php
    查找
    $lastpost['author'] = '<a href="space.php?username='.rawurlencode($lastpost['author']).'">
    '.$lastpost['author'].'</a>';

    替换为
    $lastpost['author'] = '<lable>'.$lastpost['author'].'</lable>';
    这是主页里的。
    目的是屏蔽超链接。因为这里换了昵称会传递错误。

  • 相关阅读:
    Linux搭建iscsi服务,客户端(Linux&Win XP)挂载使用
    SecucreCRT安装与破解
    最全的HCIA-R&S实验笔记
    AtCoder Grand Contest 036
    Comet OJ CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)
    2019慈溪集训小记
    Codeforces Round #573 (Div. 1)
    Comet OJ
    Codeforces Round #576 (Div. 1)
    Codechef August Challenge 2019 Division 2
  • 原文地址:https://www.cnblogs.com/php5/p/2506369.html
Copyright © 2011-2022 走看看