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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] [HACK]仿4.0昵称系统/会员列表Uid/在线时间更新完善/已分离更新/ FOR 3.0F By Xesuman

[复制链接]
Magic.factory 发表于 2005-11-29 17:37:13 | 显示全部楼层 |阅读模式
=================================================================================
插件名称:仿4.0昵称系统/会员列表Uid/在线时间更新完善/ FOR 3.0F By Xesuman
作者:Xesuman
技术支持: QQ:179803661
功能: 雷同于官方昵称系统。
演示: 图片演示放在2楼...大家也可以自己看官方论坛。
用户UID会员列表显示.
完善在线时间:
总计在线 2.67 小时, 本月在线 1.67 小时 后加星星月亮显示
增加 升级剩余时间 XX个小时

用户名后面可以添加昵称.会员列表.显示昵称.
趁3.0正式板还没出来。先完善一下先也不知道有没这功能。
=================================================================================

UID和在線時間完善已經分離出來。分別在12、13樓。。喜歡的用戶自己去參考修改。
1楼红色标示部分可以单独安装<UID/在线时间星星月亮显示不用升级数据库>

为了简化插件安装过程.大家也可以下载我整合的压缩包.上传到空间目录。.本地可以测试的,建议先在本地测试.!!
压缩包里的文件是用本人11-28号从FD下载过来的新文件来修改的。没有安装其他插件的用户可以直接覆盖.
修改过以下文件的.可以对照修改。 已经更新BUG.


第一步.升级数据库

  1. ALTER TABLE `cdb_usergroups` ADD `allownickname` TINYINT( 1 ) NOT NULL AFTER `allowsigbbcode` ;
  2. ALTER TABLE `cdb_memberfields` ADD `nickname` VARCHAR( 30 ) NOT NULL AFTER `uid` ;
复制代码

打开admin\groups.inc.php文件
查找

  1.                                 showsetting('usergroups_edit_blog', 'groupnew[allowuseblog]', $group['allowuseblog'], 'radio');
复制代码

在下面添加

  1.                                 showsetting('usergroups_edit_nickname', 'groupnew[allownickname]', $group['allownickname'], 'radio');
复制代码

打开admin\members.inc.php文件
查找

  1.                 showsetting('members_edit_cstatus', 'cstatusnew', $member['customstatus'], 'text');
复制代码

在上面添加

  1.                 showsetting('members_edit_nickname', 'nicknamenew', $member['nickname'], 'text');
复制代码

继续查找
  1. customstatus='$cstatusnew'
复制代码

在前面添加
  1. nickname='$nicknamenew',
复制代码

打开根目录下的viewpro.php文件
查找

  1. groupstars,
复制代码

在后面添加

  1. u.allownickname,
复制代码

=================================================================================
在线时间PHP文件修改部分
查找

  1. $member['bio'] = nl2br($member['bio']);
  2. $member['signature'] = $member['sightml'];
复制代码

下面加
  1. $member['olupgrade'] = $member['totalol'] ? 20 - $member['totalol'] % 20 : 20;
复制代码

=================================================================================
打开viewthread.php文件
查找

  1. m.avatarshowid,
复制代码

在后面添加

  1. mf.nickname,
复制代码

打开member.php文件
查找

  1. if(!$order || !in_array($order, array('regdate', 'username',
复制代码

在后面添加

  1. 'nickname',
复制代码

继续查找

  1. $query = $db->query("SELECT m.uid, m.username, m.gender, m.email,
复制代码

在后面添加

  1. mf.nickname,
复制代码

打开memcp.php文件
=================================================================================
| 不用替换的办法
在if($allowavatar || $avatarshowstatus后加上|| $allownickname

/在mf.avatar,前面加上mf.nickname,

/在'avatar' => '', 'avatarshowid' => 0);前面加上'nickname' => '',
/这几个字段

=================================================================================
查找

  1.         if($allowavatar || $avatarshowstatus) {
  2.                 $query = $db->query("SELECT mf.avatar, mf.avatarwidth, mf.avatarheight, m.avatarshowid, m.gender
  3.                         FROM {$tablepre}memberfields mf, {$tablepre}members m WHERE m.uid='$discuz_uid' AND mf.uid=m.uid");
  4.                 $member = $db->fetch_array($query);
  5.         } else {
  6.                 $member = array('avatar' => '', 'avatarshowid' => 0);
  7.         }
复制代码

替换为

  1.         if($allowavatar || $avatarshowstatus || $allownickname) {
  2.                 $query = $db->query("SELECT mf.nickname, mf.avatar, mf.avatarwidth, mf.avatarheight, m.avatarshowid, m.gender
  3.                         FROM {$tablepre}memberfields mf, {$tablepre}members m WHERE m.uid='$discuz_uid' AND mf.uid=m.uid");
  4.                 $member = $db->fetch_array($query);
  5.         } else {
  6.                 $member = array('nickname' => '', 'avatar' => '', 'avatarshowid' => 0);
  7.         }
复制代码


查找

  1.                 if(!isemail($emailnew)) {
  2.                         showmessage('profile_email_illegal');
  3.                 }
复制代码

在上面加

  1.                 $censorexp = '/^('.str_replace(array('\\*', "\r\n", ' '), array('.*', '|', ''), preg_quote(($censoruser = trim($censoruser)), '/')).')$/i';
  2.                 if($censoruser && (@preg_match($censorexp, $nicknamenew) || @preg_match($censorexp, $cstatusnew))) {
  3.                         showmessage('profile_nickname_cstatus_illegal');
  4.                 }

复制代码

查找

  1.                 $locationnew = cutstr(censor(dhtmlspecialchars($locationnew)), 30);
复制代码

在下面加

  1.                 $nicknamenew = $allownickname ? cutstr(censor(dhtmlspecialchars($nicknamenew)), 30) : '';

复制代码

查找

  1. site='$sitenew',
复制代码

在前面添加

  1. nickname='$nicknamenew',
复制代码

打开模板目录 templates\default\
修改viewpro.htm模板
UID部分
查找

  1. <tr><td width="45%" class="bold">{lang regdate}:</td><td width="55%">$member[regdate]</td></tr>
复制代码

在上面添加

  1. <tr><td width="45%" class="bold">{lang uid}:</td><td width="55%">$member[uid]</td></tr>
复制代码

继续查找

  1. <tr><td colspan="2"><hr noshade size="0" width="95%" color="{BORDERCOLOR}"></td></tr>
复制代码

在下面添加

  1. <tr><td width="45%" class="bold">{lang nickname}:</td><td width="55%"><!--{if $member['allownickname'] && $member['nickname']}-->$member['nickname']<!--{else}-->{lang none}<!--{/if}--></td></tr>
复制代码

查找
在线时间完善部分
=================================================================================
不用替换的办法:
在$member[thismonthol]</span> {lang hours}后面添加 {eval showstars(ceil(($member['totalol'] + 1) / 50));}<br>{lang onlinetime_upgrade}
=================================================================================

  1. <!--{if $oltimespan}-->
  2.         <tr><td width="45%" class="bold">{lang onlinetime}:</td><td width="55%">{lang onlinetime_total} <span class="bold">$member[totalol]</span> {lang hours}, {lang onlinetime_thismonth} <span class="bold">$member[thismonthol]</span> {lang hours}</td></tr>
  3. <!--{/if}-->
复制代码

替换成

  1. <!--{if $oltimespan}-->
  2.         <tr><td width="45%" class="bold">{lang onlinetime}:</td><td width="55%">{lang onlinetime_total} <span class="bold">$member[totalol]</span> {lang hours}, {lang onlinetime_thismonth} <span class="bold">$member[thismonthol]</span> {lang hours} {eval showstars(ceil(($member['totalol'] + 1) / 50));}<br>{lang onlinetime_upgrade}</td></tr>
  3. <!--{/if}-->
复制代码



修改viewthread.htm模板

  1.         <!--{if $post['authorid'] && $post['username']}-->
  2.                 <span class="bold">$post[author]</span><br>
  3.                 <span class="smalltxt">
复制代码

替换为

  1.         <!--{if $post['authorid'] && $post['username']}-->
  2.         <a href="viewpro.php?uid=$post[authorid]" target="_blank" class="bold">$post[author]</a>
  3.         <!--{if $post['nickname']}--> <span class="smalltxt">($post[nickname])</span><!--{/if}-->
  4.                 <br><span class="smalltxt">
复制代码

修改memberlist.htm
查找

  1. <tr class="header">
  2. <td width="18%" align="center">{lang username}</td>
  3. <td width="6%" align="center">{lang gender}</td>
  4. <td width="8%" align="center">{lang homepage}</td>
  5. <td width="18%" align="center">{lang location}</td>
  6. <td width="12%" align="center">{lang regdate}</td>
  7. <td width="20%" align="center">{lang lastvisit}</td>
  8. <td width="8%" align="center">{lang posts}</td>
  9. <td width="10%" align="center">{lang credit_title}</td>
  10. </tr>
  11. <!--{loop $memberlist $member}-->
  12.         <tr>
  13.         <td style="background:<?=ALTBG1?>" class="bold" nowrap><a href="viewpro.php?uid=$member[uid]">$member[username]</a></td>
复制代码

替换为[<td width="6%" align="center">{lang uid}</td>属于UID部分]


  1. <tr class="header">
  2. <td width="18%" align="center">{lang username}</td>
  3. <td width="6%" align="center">{lang uid}</td>
  4. <td width="5%" align="center">{lang gender}</td>
  5. <td width="6%" align="center">{lang homepage}</td>
  6. <td width="16%" align="center">{lang location}</td>
  7. <td width="12%" align="center">{lang regdate}</td>
  8. <td width="19%" align="center">{lang lastvisit}</td>
  9. <td width="8%" align="center">{lang posts}</td>
  10. <td width="10%" align="center">{lang credit_title}</td>
  11. </tr>
  12. <!--{loop $memberlist $member}-->
  13.         <tr>
  14.         <td style="background:<?=ALTBG1?>"  align="center"  nowrap><a href="viewpro.php?uid=$member[uid]" class="bold">$member[username]</a><!--{if $member['nickname']}--><br>($member[nickname])<!--{/if}--></td>
复制代码

修改语言包admincp.lang.php
查找

  1.         'usergroups_edit_blog' => '允许使用 Blog:',
  2.         'usergroups_edit_blog_comment' => '设置是否允许把文章加入个人的 Blog 中,从而供他人浏览',
复制代码

在下面加

  1.         'usergroups_edit_nickname' => '允许使用昵称:',
  2.         'usergroups_edit_nickname_comment' => '设置是否允许用户使用昵称,昵称可用作用户的第二名字、或心情、简短留言等显示在帖子中、在线列表及用户资料中',
复制代码

查找

  1.         'members_edit_gender' => '性别:',
复制代码

在上面加

  1.         'members_edit_nickname' => '昵称:',
复制代码

修改templates.lang.php文件
查找

  1.         'username' => '用户名',
复制代码

在下面加

  1.         'nickname' => '昵称',
复制代码

查找

  1.         'onlinetime_thismonth' => '本月在线',
复制代码

在下面加

  1.         'onlinetime_upgrade' => '升级剩余时间 <span class="bold">$member[olupgrade]</span> 小时',
复制代码


修改message.lang.php文件
查找

  1.         'profile_username_illegal' => '用户名包含敏感字符或被系统屏蔽,请返回重新填写。',
复制代码

下面加

  1.         'profile_nickname_cstatus_illegal' => '昵称或自定义头衔包含敏感字符或被系统屏蔽,请返回重新填写。',
复制代码

别忘记了最后在论坛后台更新缓存哦。 ..GOOD LUCK!

[ 本帖最后由 Magic.factory 于 2005-11-30 15:54 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| Magic.factory 发表于 2005-11-29 17:41:55 | 显示全部楼层
吸取教训留位完善HACK  

沙发。.!  .

[ 本帖最后由 Magic.factory 于 2005-11-29 17:47 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

凉潮 发表于 2005-11-29 17:52:16 | 显示全部楼层
哈哈 支持  谢谢 楼主 让免费 更实在!~   收下!~~
回复

使用道具 举报

freddy 发表于 2005-11-29 18:04:57 | 显示全部楼层
不至于吧?要换那么多东西?装成功的回一贴.我会处理的:)
回复

使用道具 举报

vairt 发表于 2005-11-29 18:09:52 | 显示全部楼层
太恐怖了
回复

使用道具 举报

slee 发表于 2005-11-29 18:19:25 | 显示全部楼层
能不能把会员UID显示分离下`?``偶只想要那个.`
回复

使用道具 举报

zslunlun 发表于 2005-11-29 18:21:51 | 显示全部楼层
支持楼主!!不过太长了~~~~~~~`
回复

使用道具 举报

qzhss 发表于 2005-11-29 18:26:01 | 显示全部楼层
天哪...........好复杂,有人成功了吗?
回复

使用道具 举报

jimmyjimmyqqq 发表于 2005-11-29 18:44:43 | 显示全部楼层
太強了,支持For Ever
回复

使用道具 举报

 楼主| Magic.factory 发表于 2005-11-29 18:56:47 | 显示全部楼层
呵呵。本地测试..No Problem...
考虑到安装过程已经将整合的压缩包发布....感谢大家。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 23:34 , Processed in 0.032309 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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