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>';
    这是主页里的。
    目的是屏蔽超链接。因为这里换了昵称会传递错误。

  • 相关阅读:
    27. Remove Element
    26. Remove Duplicates from Sorted Array
    643. Maximum Average Subarray I
    674. Longest Continuous Increasing Subsequence
    1. Two Sum
    217. Contains Duplicate
    448. Find All Numbers Disappeared in an Array
    566. Reshape the Matrix
    628. Maximum Product of Three Numbers
    UVa 1349 Optimal Bus Route Design (最佳完美匹配)
  • 原文地址:https://www.cnblogs.com/php5/p/2506369.html
Copyright © 2011-2022 走看看