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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 会员收费改名程序 For Discuz!

[复制链接]
魔焰男孩 发表于 2005-12-24 23:02:46 | 显示全部楼层 |阅读模式
会员改名,又要收钱,是不是很好玩?

安装方法:
1、新建一个模版,名称是:
  1. memcp_changename.htm
复制代码

将此模版放在templates/default目录里,他的代码如下:

  1. {template header}
  2. {template memcp_navbar}
  3. <form name="reg" method="post" action="memcp.php?action=changename">
  4. <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
  5.         <tr>
  6.         <td colspan="2" class="header">改名</td>
  7.         </tr>
  8.         <tr>
  9.         <td class="altbg1" width="20%">您的用户名:</td>
  10.         <td class="altbg2">$discuz_user [<a href="logging.php?action=logout">退出登录</a>]</td>
  11.         </tr>
  12.         <tr>
  13.         <td class="altbg1">改名手续费:</td>
  14.         <td class="altbg2">$change_credit 点积分 (您共有 {$credit_num[$change_creditid]} 点积分)</td>
  15.         </tr>
  16.         <tr>
  17.         <td class="altbg1">新的用户名:</td>
  18.         <td class="altbg2"><input type="text" name="username" size="20" maxlength="15"> 请输入您需要的用户名(用户名不能含有非法字符,或与别人的重复)</td>
  19.         </tr>
  20.         <tr>
  21.         <td class="altbg1">改名原因:</td>
  22.         <td class="altbg2"><input type="text" name="because" size="50" maxlength="100"> 请输入您更名的理由</td>
  23.         </tr>
  24. </table><br>

  25. <center><input type="submit" name="changesubmit" value="{lang submit}"></center>
  26. </form>
  27. {template footer}
复制代码

2、打开文件 memcp.php ,找到最后的:
  1. }
复制代码

将他上面加上:

  1.         $change_credit = 200;                                // 改名要花的积分
  2.         $change_creditid = 'extcredits2';                // 扣除的积分所在的序列
  3.         $change_annuct = 1;                                // 是否发布改名通知
  4.        
  5.         if(!submitcheck('changesubmit', 1)) {
  6.                 $credit_num = $db->fetch_array($db->query("SELECT {$change_creditid} FROM {$tablepre}members WHERE uid='{$discuz_uid}'"));
  7.                 if($credit_num[$change_creditid] < $change_credit) {
  8.                         showmessage('您的积分不足够支付改名所需的费用。');
  9.                 } else {
  10.                         include template('memcp_changename');
  11.                 }
  12.         } else {
  13.                 $guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
  14.                 $censorexp = '/^('.str_replace(array('\\*', "\r\n", ' '), array('.*', '|', ''), preg_quote(($censoruser = trim($censoruser)), '/')).')$/i';
  15.                 if(preg_match("/^\s*$|^c:\\con\\con$|[%,\*"\s\t\<\>\&]|$guestexp/is", $username) || ($censoruser && @preg_match($censorexp, $username))) {
  16.                         showmessage('您输入的用户名无效,请返回重新输入。');
  17.                 }
  18.                 if($username == $discuz_user) showmessage('您到底是要改名还是玩哪?');
  19.                 if(trim($because) == '') showmessage('请没有输入更名原因,请返回修改。');
  20.                 $chk = $db->fetch_array($db->query("SELECT uid FROM {$tablepre}members WHERE username='". addslashes($username) . "'"));
  21.                 if($chk) showmessage('您输别人的用户名干啥?赶快返回换个别的。');
  22.                 $db->query("UPDATE {$tablepre}members SET username='" . addslashes($username) . "', {$change_creditid}={$change_creditid}-{$change_credit} WHERE uid='$discuz_uid'");
  23.                 if($change_annuct) {
  24.                         $db->query("INSERT INTO {$tablepre}announcements VALUES(0, '$discuz_user', '会员「{$discuz_user}」改名通知', '0', '$timestamp', '0', '" . date('Y年m月d日 H:i') . " - 会员: [color=blue]{$discuz_user}[/color] 更名为: [color=red]{$username}[/color]" . "\n\n" . "更名原因: [color=purple]" . addslashes($because) . "[/color]" . "\n\n" . "会员 [color=red]{$username}[/color] - 改名手续费: [color=blue]积分 {$change_credit} 点[/color] 。如有问题,请PM管理员。')");
  25.                 }
  26.                 showmessage('恭喜您,改名成功!', 'index.php');
  27.         }
  28. }
复制代码

3、打开模版 memcp_navbar.htm,找:
  1.                 <!--{elseif $action == 'viewavatars'}-->{lang memcp_avatar_list}
复制代码

在下面加上:
  1.                 <!--{elseif $action == 'changename'}-->用户改名
复制代码

找到:
  1. <td class="altbg2"><a href="pm.php" target="_blank" width="13%">{lang pm}</a></td>
复制代码

在上面加上:
  1. <!--{if $action == 'changename'}--><td class="altbg1" width="11%">用户更名</td><!--{else}--><td width="11%" class="altbg2"><a href="memcp.php?action=changename">用户更名</a></td><!--{/if}-->
复制代码

为了美观,把这个文件里的所有的:
  1. width="13%"
复制代码

替换成:
  1. width="11%"
复制代码


完成!

[ 本帖最后由 魔焰男孩 于 2005-12-24 23:03 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 魔焰男孩 发表于 2005-12-24 23:03:06 | 显示全部楼层
...........................
回复

使用道具 举报

ppll0001 发表于 2005-12-24 23:09:25 | 显示全部楼层
。。。。。。。。。。。。。。。。
有意思
回复

使用道具 举报

MAXJAY 发表于 2005-12-24 23:13:17 | 显示全部楼层
不错~
回复

使用道具 举报

MAXJAY 发表于 2005-12-24 23:13:50 | 显示全部楼层
原帖由 ppll0001 于 2005-12-24 23:09 发表
。。。。。。。。。。。。。。。。
有意思

抢沙发用的波斯代码
回复

使用道具 举报

ppll0001 发表于 2005-12-24 23:15:37 | 显示全部楼层
通知是发的公告啊~~~我有个想法哈,能不能已短消息的形式发布啊,发布到会员的好友里,公告也可以,但是可以为公告加上时间期限吗?比如说是1天还是几个小时的时间,如果没有时间期限的话还要管理员来手动的删啊!这个时间期限最好能由管理员来设定~~~呵呵~这样应该比较完美了吧!!!
回复

使用道具 举报

青春E族 发表于 2005-12-24 23:20:26 | 显示全部楼层
同意楼上观点,或采用单独页面显示更改信息,感谢楼主!!!
回复

使用道具 举报

lins2005 发表于 2005-12-24 23:23:22 | 显示全部楼层
是个空白
回复

使用道具 举报

渡雨 发表于 2005-12-24 23:24:41 | 显示全部楼层
楼主,能做个专门会员编号的插件吗?

因为我的俱乐部都有实体的会员卡,所以我想通过人工编辑进去,会员自己无法修改。
回复

使用道具 举报

whitegerry 发表于 2005-12-24 23:29:43 | 显示全部楼层
原帖由 lins2005 于 2005-12-24 23:23 发表
是个空白


打开白版
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 14:16 , Processed in 0.101499 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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