在VBB的论坛上测试通过 
给出具体细节的操作指南的,很方便操作和安装。
我自己一一加上去的了,基本上跟着来做就可以完好实现的了
十分适合新手。

程序功能可以实现一个注册码对应一个邮箱
注册的时候必须输入对应的邮箱地址才可以注册
后台可以看到发出去的注册码那些是可以注册
那些是没有注册的
可以设定那些用户群才可以申请注册码
程序十分适合对用户群有特殊要求的论坛
例如学校 政府 企业 想专心去做精品论坛的站长
不想受乱发广告影响的论坛  一些专注交流的论坛
破解软件论坛 黑客论坛等 一些对用户有特殊要求的论坛。


新建数据表:(注意是VBB所在数据库)
CREATE TABLE `vbb_regcode` (
  `regcodeid` tinyint(20) unsigned NOT NULL auto_increment,
  `userid` varchar(20) NOT NULL default ”,
  `time` int(20) NOT NULL default ‘0′,
  `regcodes` varchar(100) NOT NULL default ”,
  `regemail` varchar(100) NOT NULL default ”,
  `open` varchar(5) NOT NULL default ‘1′,
  UNIQUE KEY `regcodeid` (`regcodeid`)
) ;
注意:请把表名kufei_改为你自己数据表的前缀
############################################################################################
新建语言变量:后台语言短语组 选择短语管理
vBulletin Settings组(短语类型栏选择论坛设置)
settinggroup_reg_register=邀请注册设置(kufei.net)
setting_reg_offon_title=是否开启注册码注册注册
setting_reg_offon_desc=如果开启邀请注册,会员注册时将会被要求填写一个由论坛会员发放的注册码.
setting_reg_usergroup_title=可以申请发放注册码的会员组
setting_reg_usergroup_desc=请填写会员组的ID多个请用半角英文逗号分隔
setting_reg_money_title=每申请一个注册码需要的虚拟币
setting_reg_money_desc=每申请成功一个注册码将从申请用户扣除的虚拟币
setting_reg_time_title=注册码的有效期
setting_reg_time_desc=注册码的有效期从申请成功开始计算,如在有效期内没有注册成功将自动失效,单位为天
setting_reg_hous_title=申请间隔时间
setting_reg_hous_desc=每申请一个注册码成功后,继续申请下一个必须间隔的时间,单位为小时,设置为0为没有限制
setting_reg_userpost_title=申请用户要求的最少发帖数
setting_reg_userpost_desc=发帖数少于这个数量将不能申请
Front-End Error Messages组  短语类型栏选择前台错误信息        
regcodeerr=输入的注册码不正确或这个注册码已经过期
regemailerr=输入的Email地址与申请注册码所使用的地址不相同
上传文件

############################################################################################
导入设置组:
用文本编辑器打开(install目录下) vbulletin-settings.xml,在末行 </settinggroups> 之前添加:
<settinggroup name="avatarset" displayorder="1020">
        <setting varname="faceshow" displayorder="10">
                <optioncode>yesno</optioncode>
                <defaultvalue>0</defaultvalue>
        </setting>
</settinggroup>
<settinggroup name="reg_register" displayorder="1030">
        <setting varname="reg_offon" displayorder="10">
                <optioncode>yesno</optioncode>
                <defaultvalue>0</defaultvalue>
        </setting>
        <setting varname="reg_usergroup" displayorder="20">
                <defaultvalue>6</defaultvalue>
        </setting>
        <setting varname="reg_money" displayorder="30">
                <defaultvalue>1000</defaultvalue>
        </setting>
        <setting varname="reg_time" displayorder="40">
                <defaultvalue>7</defaultvalue>
        </setting>
        <setting varname="reg_hous" displayorder="50">
                <defaultvalue>24</defaultvalue>
        </setting>
        <setting varname="reg_userpost" displayorder="60">
                <defaultvalue>1000</defaultvalue>
        </setting>
</settinggroup>
然后登录管理面板,运行
http://您论坛的URL/admincp/options.php?do=import
选择刚才修改好的 vbulletin-settings.xml 并点击“引入”按钮。
############################################################################################
修改模板:register(进入到后台控制面版 点选风格模块组 选在模版在搜索register,就可以快速查找到的了)
查找:                        <if condition="$vboptions['regimagecheck'] AND $vboptions['gdversion']">
在这之前添加:
<!–注册码—><if condition="$vboptions[reg_offon]==1">                       
<fieldset class="fieldset">
                                <legend>注册码</legend>
                                <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
                                <tr>
                                        <td colspan="2">请输入一个由本站会员发送的注册码</td>
                                </tr>
                                <tr>
                                        <td>
                                                注册码:<br />
                                                <input type="text" class="bginput" name="regcodes" size="25" maxlength="50" value="$cofe" />
                                        </td>
                                        <td>本论坛目前只有收到已注册会员邀请者才能注册,请将注册序列号填写在左方的输入框中
                                               
                                        </td>
                                </tr>
                               
                                </table>
                        </fieldset></if><!–注册码—>
############################################################################################
新增加模板:
reg_codeok
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<thead>
        <tr>
                <td class="tcat" colspan="2">成功申请注册码</td>
        </tr>
</thead>
<thead>
        <tr>
                <td class="alt1" colspan="2">

<TABLE cellSpacing=1 cellPadding=8  align=center bgColor=#000000
background="" border=0>
  <TBODY>
  <TR>
    <TD background="" bgColor=#ffd700>
      <FONT face="Arial Black"
size=7>$codes</FONT></TD></TR></TBODY></TABLE><br>
<li>成功从你个人帐户扣除<b>$vboptions[reg_money]</b>
<li>注册码的有效期为<b>$vboptions[reg_time]</b>天,从现在开始计算,如在有效期内没有注册成功将自动失效
<li>你申请下一个注册码必须间隔<b>$vboptions[reg_hous]</b>小时
<li>注册码已经发送到你<a href=private.php?>短消息信箱</a>
</td>
        </tr>
</thead>

</table>
reg_codes
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<form name="form1" method="post" action="reg_code.php?action=add">
<thead>
        <tr>
                <td class="tcat" colspan="2">申请注册码须知</td>
        </tr>
</thead>
<thead>
        <tr>
                <td class="alt1" colspan="2">
<li>每申请一个注册码需要<b>$vboptions[reg_money]</b>
<li>注册码的有效期为<b>$vboptions[reg_time]</b>天,从申请成功开始计算,如在有效期内没有注册成功将自动失效
<li>每成功申请一个注册码继续申请下一个必须间隔<b>$vboptions[reg_hous]</b>小时
<li>注册Email:<input style="BACKGROUND-COLOR: #ffcc66" type="text" name="regemail">
</td>
        </tr>
</thead>
<thead>
        <tr>
                <td class="alt1" colspan="2">
<div align="center"> <input style="BACKGROUND-COLOR: #ffcc66"  type="submit" name="Submit" value="确定申请注册码"></div>

</td>
        </tr>
</thead>
</form>
</table>reg_regbits
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
        <!– no cache headers –>
        <meta http-equiv="Pragma" content="no-cache" />
        <meta http-equiv="Expires" content="-1" />
        <meta http-equiv="Cache-Control" content="no-cache" />
        <!– end no cache headers –>
        <title><phrase 1="$vboptions[bbtitle]">$vbphrase[x_powered_by_vbulletin]</phrase></title>
        $headinclude
</head>
<body>
$header
$navbar       
</head><BODY leftMargin=0 background="" topMargin=0>


$regbits

$footer
</body>
</html>
reg_pmmessage
您申请的注册码:\n\t $codes [/SIZE][/COLOR] \n\t 注册码的有效期为$vboptions[reg_time]天,从申请成功开始计算,如在有效期内没有注册成功将自动失效.
############################################################################################
修改register.php
查找:
        // check for max username length
        else if (vbstrlen($_POST['username']) > $vboptions['maxuserlength'])
        {
                eval(‘$errors[100] = "’ . fetch_phrase(‘usernametoolong’, PHRASETYPEID_ERROR) . ‘";’);
        }
在后面添加:
//***********************验证注册码***************************
if($vboptions['reg_offon'])
{
$cofe=$_POST['regcodes'];
$thistime=time()-($vboptions[reg_time]*86400);
$codeinfo = $DB_site->query_first("SELECT * FROM ". TABLE_PREFIX . "regcode WHERE regcodes=’$cofe’and time>’$thistime’ and open=1");
if(!$codeinfo[regcodes])
{
eval(‘$errors[110] = "’ . fetch_phrase(‘regcodeerr’, PHRASETYPEID_ERROR) . ‘";’);
}
$email=$_POST['email'];
$emailinfo = $DB_site->query_first("SELECT * FROM ". TABLE_PREFIX . "regcode WHERE regemail=’$email’and time>’$thistime’ and open=1");
if(!$emailinfo[regcodes])
{
eval(‘$errors[110] = "’ . fetch_phrase(‘regcodeerr’, PHRASETYPEID_ERROR) . ‘";’);
}
}
//*************************************************************
查找:
                $options = convert_array_to_bits($options, $_USEROPTIONS);
在后面添加:
注意:红色字符请自行修改为自己论坛的管理员id
//*********************注册码验证成功*********************
if($vboptions['reg_offon'])
{
  $fusername=$_POST['username'];
  $message="您申请的注册码 $cofe 已经被您的朋友 $fusername 成功注册!";            

$DB_site->query("UPDATE ". TABLE_PREFIX . "regcode  SET  open=0 WHERE regcodeid=$codeinfo[regcodeid] ");

                                $DB_site->query("INSERT INTO " . TABLE_PREFIX . "pmtext\n\t(fromuserid, fromusername, title, message, touserarray, iconid, dateline, showsignature, allowsmilie)\n\t VALUES(2, ‘管理员’, ‘您申请的注册码成功被注册’, ‘$message’, ‘" . addslashes(serialize(array($bbuserinfo['username']))) . "’, ”, " . TIMENOW . ", 1, 1)");
                                $pmtextid = $DB_site->insert_id();
                                $DB_site->query("INSERT INTO " . TABLE_PREFIX . "pm (pmtextid, userid) VALUES ($pmtextid, $codeinfo[userid])");
                            $DB_site->query("UPDATE " . TABLE_PREFIX . "user SET  pmtotal=pmtotal+1, pmunread=pmunread+1 WHERE $codeinfo[userid]");


}
//*********************************************************


1条评论

  1. 25511111

发表评论

评论也有版权!

click to change验证码