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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

DX模板扩展:指定用户组的用户名显示指定的颜色 QQ会员红名特权功能

[复制链接]
cr180 发表于 2011-10-9 21:34:47 | 显示全部楼层 |阅读模式
本帖最后由 cr180 于 2011-10-9 22:21 编辑
见到有部分童鞋想让指定用户组的用户名显示指定的颜色,就像QQ会员红名特权那样,能让特殊用户组会员立即获得荣誉感和特殊性。教程修改方法步骤很简单,但是做起来会有些繁琐。





注意:
1、修改方法会涉及到多个程序文件以及程序核心函数文件,各位童鞋要谨慎小心进行!
2、开启此功能后会轻微增加服务器的负担。总的来说,基本上无鸭梨。
3、如果修改后出现所有页面空白的问题,请恢复文件为默认状态后重新根据此方法细心修改!
4、请大家根据自己的需要对各个用户组id和显示颜色做修改!
5、记得要看3楼题外话!!!


第一步,在核心文件中加入处理函数。

打开文件:source\function\function_core.php

搜索(也就是文件最后一行):
  1. function userappprompt() {
  2.     global $_G;

  3.     if($_G['setting']['my_app_status'] && $_G['setting']['my_openappprompt'] && empty($_G['cookie']['userappprompt'])) {
  4.         $sid = $_G['setting']['my_siteid'];
  5.         $ts = $_G['timestamp'];
  6.         $key = md5($sid.$ts.$_G['setting']['my_sitekey']);
  7.         $uchId = $_G['uid'] ? $_G['uid'] : 0;
  8.         echo '<script type="text/javascript" src="http://notice.uchome.manyou.com/notice/userNotice?sId='.$sid.'&ts='.$ts.'&key='.$key.'&uchId='.$uchId.'" charset="UTF-8"></script>';
  9.     }
  10. }
复制代码


下面增加:

  1. //用户名变色显示 作者cr180
  2. function cr180getuserbyuid($username) {
  3.     static $users = array();
  4.     if(empty($users[$username])) {
  5.         $users[$username] = DB::fetch_first("SELECT * FROM ".DB::table('common_member')." WHERE username='$username'");
  6.     }
  7.     return $users[$username];
  8. }
  9. //用户名变色显示 作者cr180
  10. function cr180groupidcolor($name,$nameid) {
  11.     $cr180kg = 1;//1为开启变色 0为关闭 本功能可能会轻微增加服务器负担
  12.     if($cr180kg){
  13.         if(!$nameid){
  14.             $nameid = cr180getuserbyuid($name);
  15.             $nameid = $nameid['uid'];
  16.         }
  17.         $cr180member = getuserbyuid($nameid);
  18.         $groupid = $cr180member['groupid'];
  19.         if($groupid =='1'){//管理员显示 #f00
  20.             $name = '<font style="color:#F00">'.$name.'</font>';
  21.         }elseif($groupid =='2'){//超级版主显示 #090
  22.             $name = '<font style="color:#090">'.$name.'</font>';
  23.         }elseif($groupid =='3'){//版主显示 #F90
  24.             $name = '<font style="color:#F90">'.$name.'</font>';
  25.         }elseif($groupid =='15'){//指定一个用户组ID显示 #F0F
  26.             $name = '<font style="color:#F0F">'.$name.'</font>';
  27.         }
  28.     }
  29.     return $name;
  30. }
复制代码

代码介绍(必看):

大家可以根据自己的需要对上面的用户组ID、显示颜色进行修改:

if($groupid =='1'){ //$groupid == 后面的数字就是用户组的ID
            $name = '<font style="color:#F00">'.$name.'</font>'; //这里是管理员用户组的名字显示红色 大家可以对颜色进行自定义,#F00替换为自己需要的颜色即可
        }



评分

2

查看全部评分

 楼主| cr180 发表于 2011-10-9 21:34:57 | 显示全部楼层
本帖最后由 cr180 于 2011-10-9 21:59 编辑

第二步,在各个文件中加入处理函数

注意:需要在那个页面中用这个就只需要做相应的步骤,不用全部都做完


(1)论坛主题列表页

打开文件:source\module\forum\forum_forumdisplay.php

查找:
  1. if(in_array($thread['displayorder'], array(1, 2, 3, 4))) {
复制代码

在上面增加:

  1. $thread['author'] = cr180groupidcolor($thread['author'],$thread['authorid']);
  2. $thread['lastposter'] = cr180groupidcolor($thread['lastposter']);
复制代码



(2)论坛帖子阅读页

打开文件:source\module\forum\forum_viewthread.php

查找:
  1. $post['authoras'] = !$post['anonymous'] ? ' '.addslashes($post['author']) : '';
复制代码



下面增加:
  1. $post['author'] = cr180groupidcolor($post['author'],$post['authorid']);
复制代码



(3)家园模块首页
打开文件:source\function\function_feed.php

查找:
  1. $searchs[] = '{actor}';
  2.     $replaces[] = empty($actors)?"<a href="home.php?mod=space&uid=$feed[uid]" target="_blank">$feed[username]</a>":implode(lang('core', 'dot'), $actors);
复制代码

上面增加:
  1. $feed['username'] = cr180groupidcolor($feed['username'],$feed['uid']);
复制代码


评分

3

查看全部评分

回复

使用道具 举报

 楼主| cr180 发表于 2011-10-9 21:35:10 | 显示全部楼层
本帖最后由 cr180 于 2011-10-9 22:07 编辑

致开发者:
如果需要在其他地方应用这个修改方法,请记得用户名的a标签中不能加入tietle="$xxx[username]" 否则会出现代码出错的情况!!!!

致普通童鞋:
请一定要根据自己的需求修改第一步 代码中的用户组ID和颜色代码!!!!


评分

1

查看全部评分

回复

使用道具 举报

指间流沙 发表于 2011-10-9 21:35:52 | 显示全部楼层
鄙视你,沙发不给我

评分

1

查看全部评分

回复

使用道具 举报

ARCHY` 发表于 2011-10-9 21:38:13 | 显示全部楼层
沙发没有了就坐个前排了

评分

1

查看全部评分

回复

使用道具 举报

popuppp 发表于 2011-10-9 21:38:14 | 显示全部楼层
  抢个位置
回复

使用道具 举报

popuppp 发表于 2011-10-9 21:38:44 | 显示全部楼层
抢个位置
回复

使用道具 举报

ARCHY` 发表于 2011-10-9 21:40:29 | 显示全部楼层
这个能否做成插件  那样可能很多新手用户会更容易使用
回复

使用道具 举报

myp4p 发表于 2011-10-9 21:41:11 | 显示全部楼层
鸟人    你这是故意找鄙视啊
回复

使用道具 举报

ynhk 发表于 2011-10-9 21:46:42 来自手机 | 显示全部楼层
支持啊支持!9
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 12:08 , Processed in 0.044298 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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