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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 会员收费改名 ForD4.1

[复制链接]
折翼の天使♂ 发表于 2006-4-3 10:47:48 | 显示全部楼层 |阅读模式
● 插件名称:会员收费改名

● 适用版本:Discuz! 4.1(注:同样适用 Discuz! 4.0.0)

● 安装难度:还可以吧``

● FOR4.0原作者:  魔焰男孩

● 改正,测试:折翼の天使♂

● 演示:http://www.fazai.cn/memcp.php?action=changename

PS:改过 FOR D4 的··发现··For 4.1也能用··×_×

-------------------------------------------------------------------------------------------------------------------

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"> 请输入您需要的用户名<input type="button" value="{lang register_check_username}" onclick="window.open('member.php?action=check&username='+this.form.username.value);"></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. } elseif($action == 'changename') {


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

完成!

评分

1

查看全部评分

 楼主| 折翼の天使♂ 发表于 2006-4-3 10:48:17 | 显示全部楼层
回复

使用道具 举报

 楼主| 折翼の天使♂ 发表于 2006-4-3 10:48:34 | 显示全部楼层
二楼``演示图片!!!!`


回复

使用道具 举报

 楼主| 折翼の天使♂ 发表于 2006-4-3 11:12:05 | 显示全部楼层
没人顶··哈只一··
回复

使用道具 举报

泡海椒 发表于 2006-4-3 11:21:37 | 显示全部楼层
偶来顶一下~~~~~~~~~~~~~
回复

使用道具 举报

poplong 发表于 2006-4-3 11:26:34 | 显示全部楼层
好东西,偶喜欢~呵呵!
回复

使用道具 举报

聿歆 发表于 2006-4-3 12:04:16 | 显示全部楼层
虽然不用.....支持一下拉...
回复

使用道具 举报

just1680 发表于 2006-4-3 12:26:11 | 显示全部楼层
好东西,顶一下
回复

使用道具 举报

bhqtcn 发表于 2006-4-3 12:56:41 | 显示全部楼层
安装成功
回复

使用道具 举报

魔面浪子 发表于 2006-4-3 13:02:19 | 显示全部楼层
和“限制只能中文注册”的ID冲突吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 20:36 , Processed in 0.046147 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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