邀请码注册程序 for discuz5.0 正式版(开源版)
修改自
////请码注册程序 for discuz4.0 正式版 ////
//// 1.0 ////
//// ////
//// 作者:vicko ////
//// 时间:2005/10/22
当目前实现功能:
用户注册需要填写邀请码(可开关)
用户使用金钱购买邀请码(价格可设定)
管理员查看所有邀请码
管理员奖励邀请码
希望使用的人再完善其它功能!
增加数据表1个
修改文件2个:
register.php(5处)
templates/default/register.htm(1处)
增加文件2个:
plugins/invite/invite.php
templates/default/invite.htm
全新安装方法:(需要安装银行插件)
1、升级数据库:
- CREATE TABLE `cdb_regcode` (
- `regcodeid` tinyint(20) unsigned NOT NULL auto_increment,
- `userid` varchar(20) NOT NULL default '',
- `buyname` varchar(20) NOT NULL default '',
- `usedname` varchar(20) NOT NULL default '',
- `buytime` int(20) NOT NULL default '0',
- `usedtime` int(20) NOT NULL default '0',
- `regcodes` varchar(100) NOT NULL default '',
- `used` varchar(5) NOT NULL default '0',
- UNIQUE KEY `regcodeid` (`regcodeid`)
- ) ;
复制代码
2、在plugins目录下建立invite文件夹,上传附件压缩包中plugins/invite目录下的程序
上传模版invite.htm
3.修改文件register.php
查找
- require_once DISCUZ_ROOT.'./forumdata/cache/cache_profilefields.php';
复制代码
在下面添加
- //invite hack
- $invsettings = getinviteconfig();
- //invite hack
复制代码
查找
- if($discuz_uid) {
- showmessage('login_succeed', 'index.php');
- }
复制代码
在下面添加
- //invite hack
- if($invsettings['vars']['allowuse'])
- {
- $action=trim($action);
- if($action == 'check'){
-
- if (!$id) {
- showmessage('请输入注册邀请号!');
- }
- else {
- $id = trim($id);
- $query = $db->query("SELECT * FROM {$tablepre}regcode where regcodes='$id'");
- $regcode = $db->fetch_array($query);
- if (!$regcode){showmessage('邀请号不存在!');}
- else {
- if ($regcode[used]==1){
- showmessage('邀请号已被使用!');
- }
- else {
- showmessage('邀请号可以使用!');
- }
- }
- }
- }
- }
- //invite hack
复制代码
查找
- $username = trim($username);
复制代码
在下面添加
- //invite hack
- if($invsettings['vars']['allowuse'])
- {
- $id=trim($id);
- $query = $db->query("SELECT * FROM {$tablepre}regcode where regcodes='$id' and used=0");
- $regcode = $db->fetch_array($query);
- if (!$regcode[regcodes]) {
- showmessage('序列号错误或者已经被使用!');
- }
- }
-
- //invite hack
复制代码
查找
- $authstr = $regverify == 1 ? "$timestamp\t2\t$idstring" : '';
复制代码
在下面添加
- //invite hack
- if($invsettings['vars']['allowuse'])
- {
- $db->query("UPDATE {$tablepre}regcode SET usedname='$username',usedtime='$timestamp',used=1 WHERE regcodes='$id'");
- }
- //invite hack
复制代码
查找
在上面添加
- function getinviteconfig() {
- @include DISCUZ_ROOT.'./forumdata/cache/plugin_invite.php';
- return $_DPLUGIN['invite'];
- }
复制代码
5.修改摸版register.htm
查找
- <!--{if $seccodecheck}-->
复制代码
在上面添加
- <!--{if $invsettings['vars']['allowuse']}-->
- <tr>
- <td bgcolor="{ALTBG1}" width="21%">注册邀请号:</td>
- <td bgcolor="{ALTBG2}" class="smalltxt"><input type="text" name="id" size="25" maxlength="25"> <input type="button" value="检查邀请码" onclick="window.open('register.php?action=check&id='+this.form.id.value);">
- </td>(本论坛目前只有收到已注册会员邀请者才能注册,请将注册邀请号填写在左方的输入框中)</td>
- </tr>
- <!--{/if}-->
复制代码
5.导入插件包里的discuz_plugin_invite.txt文件里的内容
后台运行邀请设置如下图示:
[ 本帖最后由 e_zailai 于 2006-10-15 01:59 编辑 ] |