=================================================================================
插件名称:仿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.
第一步.升级数据库
- ALTER TABLE `cdb_usergroups` ADD `allownickname` TINYINT( 1 ) NOT NULL AFTER `allowsigbbcode` ;
- ALTER TABLE `cdb_memberfields` ADD `nickname` VARCHAR( 30 ) NOT NULL AFTER `uid` ;
复制代码
打开admin\groups.inc.php文件
查找
- showsetting('usergroups_edit_blog', 'groupnew[allowuseblog]', $group['allowuseblog'], 'radio');
复制代码
在下面添加
- showsetting('usergroups_edit_nickname', 'groupnew[allownickname]', $group['allownickname'], 'radio');
复制代码
打开admin\members.inc.php文件
查找
- showsetting('members_edit_cstatus', 'cstatusnew', $member['customstatus'], 'text');
复制代码
在上面添加
- showsetting('members_edit_nickname', 'nicknamenew', $member['nickname'], 'text');
复制代码
继续查找
- customstatus='$cstatusnew'
复制代码
在前面添加
打开根目录下的viewpro.php文件
查找
在后面添加
=================================================================================
在线时间PHP文件修改部分
查找
- $member['bio'] = nl2br($member['bio']);
- $member['signature'] = $member['sightml'];
复制代码
下面加
- $member['olupgrade'] = $member['totalol'] ? 20 - $member['totalol'] % 20 : 20;
复制代码
=================================================================================
打开viewthread.php文件
查找
在后面添加
打开member.php文件
查找
- if(!$order || !in_array($order, array('regdate', 'username',
复制代码
在后面添加
继续查找
- $query = $db->query("SELECT m.uid, m.username, m.gender, m.email,
复制代码
在后面添加
打开memcp.php文件
=================================================================================
| 不用替换的办法
在if($allowavatar || $avatarshowstatus后加上|| $allownickname
/在mf.avatar,前面加上mf.nickname,
/在'avatar' => '', 'avatarshowid' => 0);前面加上'nickname' => '',
/这几个字段
=================================================================================
查找
- if($allowavatar || $avatarshowstatus) {
- $query = $db->query("SELECT mf.avatar, mf.avatarwidth, mf.avatarheight, m.avatarshowid, m.gender
- FROM {$tablepre}memberfields mf, {$tablepre}members m WHERE m.uid='$discuz_uid' AND mf.uid=m.uid");
- $member = $db->fetch_array($query);
- } else {
- $member = array('avatar' => '', 'avatarshowid' => 0);
- }
复制代码
替换为
- if($allowavatar || $avatarshowstatus || $allownickname) {
- $query = $db->query("SELECT mf.nickname, mf.avatar, mf.avatarwidth, mf.avatarheight, m.avatarshowid, m.gender
- FROM {$tablepre}memberfields mf, {$tablepre}members m WHERE m.uid='$discuz_uid' AND mf.uid=m.uid");
- $member = $db->fetch_array($query);
- } else {
- $member = array('nickname' => '', 'avatar' => '', 'avatarshowid' => 0);
- }
复制代码
查找
- if(!isemail($emailnew)) {
- showmessage('profile_email_illegal');
- }
复制代码
在上面加
- $censorexp = '/^('.str_replace(array('\\*', "\r\n", ' '), array('.*', '|', ''), preg_quote(($censoruser = trim($censoruser)), '/')).')$/i';
- if($censoruser && (@preg_match($censorexp, $nicknamenew) || @preg_match($censorexp, $cstatusnew))) {
- showmessage('profile_nickname_cstatus_illegal');
- }
复制代码
查找
- $locationnew = cutstr(censor(dhtmlspecialchars($locationnew)), 30);
复制代码
在下面加
- $nicknamenew = $allownickname ? cutstr(censor(dhtmlspecialchars($nicknamenew)), 30) : '';
复制代码
查找
在前面添加
打开模板目录 templates\default\
修改viewpro.htm模板
UID部分
查找
- <tr><td width="45%" class="bold">{lang regdate}:</td><td width="55%">$member[regdate]</td></tr>
复制代码
在上面添加
- <tr><td width="45%" class="bold">{lang uid}:</td><td width="55%">$member[uid]</td></tr>
复制代码
继续查找
- <tr><td colspan="2"><hr noshade size="0" width="95%" color="{BORDERCOLOR}"></td></tr>
复制代码
在下面添加
- <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}
=================================================================================
- <!--{if $oltimespan}-->
- <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>
- <!--{/if}-->
复制代码
替换成
- <!--{if $oltimespan}-->
- <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>
- <!--{/if}-->
复制代码
修改viewthread.htm模板
- <!--{if $post['authorid'] && $post['username']}-->
- <span class="bold">$post[author]</span><br>
- <span class="smalltxt">
复制代码
替换为
- <!--{if $post['authorid'] && $post['username']}-->
- <a href="viewpro.php?uid=$post[authorid]" target="_blank" class="bold">$post[author]</a>
- <!--{if $post['nickname']}--> <span class="smalltxt">($post[nickname])</span><!--{/if}-->
- <br><span class="smalltxt">
复制代码
修改memberlist.htm
查找
- <tr class="header">
- <td width="18%" align="center">{lang username}</td>
- <td width="6%" align="center">{lang gender}</td>
- <td width="8%" align="center">{lang homepage}</td>
- <td width="18%" align="center">{lang location}</td>
- <td width="12%" align="center">{lang regdate}</td>
- <td width="20%" align="center">{lang lastvisit}</td>
- <td width="8%" align="center">{lang posts}</td>
- <td width="10%" align="center">{lang credit_title}</td>
- </tr>
- <!--{loop $memberlist $member}-->
- <tr>
- <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部分]
- <tr class="header">
- <td width="18%" align="center">{lang username}</td>
- <td width="6%" align="center">{lang uid}</td>
- <td width="5%" align="center">{lang gender}</td>
- <td width="6%" align="center">{lang homepage}</td>
- <td width="16%" align="center">{lang location}</td>
- <td width="12%" align="center">{lang regdate}</td>
- <td width="19%" align="center">{lang lastvisit}</td>
- <td width="8%" align="center">{lang posts}</td>
- <td width="10%" align="center">{lang credit_title}</td>
- </tr>
- <!--{loop $memberlist $member}-->
- <tr>
- <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
查找
- 'usergroups_edit_blog' => '允许使用 Blog:',
- 'usergroups_edit_blog_comment' => '设置是否允许把文章加入个人的 Blog 中,从而供他人浏览',
复制代码
在下面加
- 'usergroups_edit_nickname' => '允许使用昵称:',
- 'usergroups_edit_nickname_comment' => '设置是否允许用户使用昵称,昵称可用作用户的第二名字、或心情、简短留言等显示在帖子中、在线列表及用户资料中',
复制代码
查找
- 'members_edit_gender' => '性别:',
复制代码
在上面加
- 'members_edit_nickname' => '昵称:',
复制代码
修改templates.lang.php文件
查找
在下面加
查找
- 'onlinetime_thismonth' => '本月在线',
复制代码
在下面加
- 'onlinetime_upgrade' => '升级剩余时间 <span class="bold">$member[olupgrade]</span> 小时',
复制代码
修改message.lang.php文件
查找
- 'profile_username_illegal' => '用户名包含敏感字符或被系统屏蔽,请返回重新填写。',
复制代码
下面加
- 'profile_nickname_cstatus_illegal' => '昵称或自定义头衔包含敏感字符或被系统屏蔽,请返回重新填写。',
复制代码
别忘记了最后在论坛后台更新缓存哦。 ..GOOD LUCK!
[ 本帖最后由 Magic.factory 于 2005-11-30 15:54 编辑 ] |