本插件版权归作者”猴子“所有
全新手动安装办法:(如未修改过原来的文件,直接覆盖附件中的文件即可!在此,建议大家用手动安装!)
下面是手动安装方法:
第一步:数据库升级语句
1、复制以下代码到后台数据库升级数据库:
CODE:
CREATE TABLE `cdb_membercards` (
`cardid` char(15) NOT NULL,
`dateline` int(10) unsigned NOT NULL,
`uid` mediumint(8) unsigned NOT NULL,
`update` int(10) unsigned NOT NULL,
PRIMARY KEY (`cardid`,`uid`),
KEY `dateline` (`dateline`),
KEY `update` (`update`)
) TYPE=MyISAM;2、复制以下代码到后台数据库升级数据库:CODE:
ALTER TABLE `cdb_membercards` ADD COLUMN `cardno` CHAR(20) NOT NULL FIRST;
ALTER TABLE `cdb_membercards` ADD INDEX `cardno` (`cardno`);升级方法:可通过论坛系统设置 数据库 -> 数据库升级 处执行本 SQL 语句*此插件涉及新增文件:
admin/membercard.inc.php
membercard.php
*此插件涉及修改文件:
admin/forums.inc.php
admin/menu.inc.php
include/global.func.php
include/viewpro.inc.php
templates/default/memcp_profile.htm
templates/default/register.htm
templates/default/viewpro.htm
templates/default/viewpro_classic.htm
templates/default/viewthread.htm
admincp.php
memcp.php
register.php
viewthread.php
如果你新安装了风格中包含需要修改的模板文件,则需另行修改
修改文件需仔细
第二步:打开admin/forums.inc.php
1.找到:
CODE:
echo 'result = result.replace(/pageviews/g, \'<u>'.$lang['settings_creditsformula_pageviews'].'</u>\');';在其下面增加:CODE:
echo 'result = result.replace(/membercard/g, \'<u>拥有会员卡</u>\');';2.找到:CODE:
<a href="###" onclick="insertunit(' pageviews ')"><?=$lang['settings_creditsformula_pageviews']?></a> 在其下面增加:CODE:
<a href="###" onclick="insertunit(' membercard ')">拥有会员卡</a> 3.找到:CODE:
if($formulapermnew && !preg_match("/^(\+|\-|\*|\/|\.|>|<|=|\d|\s|extcredits[1-8]digestposts|posts|pageviews|oltime|and|or)+$/", $formulapermnew) || !is_null(@eval(preg_replace("/(digestposts|posts|pageviews|oltime|extcredits[1-8])/", "\$\\1", $formulapermnew).';'))) {替换成:CODE:
if($formulapermnew && !preg_match("/^(\+|\-|\*|\/|\.|>|<|=|\d|\s|extcredits[1-8]|digestposts|posts|pageviews|membercard|oltime|and|or)+$/", $formulapermnew) || !is_null(@eval(preg_replace("/(digestposts|posts|pageviews|membercard|oltime|extcredits[1-8])/", "\$\\1", $formulapermnew).';'))) {4.找到:CODE:
$formulapermary[1] = preg_replace("/(digestposts|posts|pageviews|oltime|extcredits[1-8])/", "\$_DSESSION['\\1']", $formulapermnew);替换成:CODE:
$formulapermary[1] = preg_replace("/(digestposts|posts|pageviews|membercard|oltime|extcredits[1-8])/", "\$_DSESSION['\\1']", $formulapermnew);保存文件第三步:打开admin/menu.inc.php
1.找到:
CODE:
echo '</div><div id="others" style="display: none">';在其上面增加:CODE:
showmenu('会员卡', array(
array('name' => '会员卡基本设置', 'url' => 'admincp.php?action=membercard&do=condition'),
array('name' => '会员卡列表', 'url' => 'admincp.php?action=membercard'),
array('name' => '会员卡申请审核', 'url' => 'admincp.php?action=membercard&do=modreg')));保存文件第四步:打开include/global.func.php
1.找到:
CODE:
@eval("\$formulaperm = ($formula) ? TRUE : FALSE;");在其上面增加:CODE:
global $db, $tablepre, $discuz_uid;
$_DSESSION['membercard'] = $db->result($db->query("SELECT count(*) FROM {$tablepre}membercards WHERE uid='$discuz_uid' AND cardid<>'0'"), 0);2.找到: CODE:
$search = array('$_DSESSION[\'digestposts\']', '$_DSESSION[\'posts\']', '$_DSESSION[\'oltime\']', '$_DSESSION[\'pageviews\']');
$replace = array($language['formulaperm_digestposts'], $language['formulaperm_posts'], $language['formulaperm_oltime'], $language['formulaperm_pageviews']);替换成: CODE:
$search = array('$_DSESSION[\'digestposts\']', '$_DSESSION[\'posts\']', '$_DSESSION[\'oltime\']', '$_DSESSION[\'pageviews\']', '$_DSESSION[\'membercard\']');
$replace = array($language['formulaperm_digestposts'], $language['formulaperm_posts'], $language['formulaperm_oltime'], $language['formulaperm_pageviews'], '拥有会员卡');保存文件第五步:打开include/viewpro.inc.php
1.找到:
CODE:
if($inajax) {在其上面增加: CODE:
$membercard = $db->fetch_array($db->query("SELECT * FROM {$tablepre}membercards WHERE uid='$uid' AND cardid<>'0'"));保存文件第六步:打开templates/default/memcp_profile.htm
1.找到:
CODE:
{template personal_navbar}在其下面增加:CODE:
<!--{if $membercardstatus[$groupid]}-->
<!--{if !$membercard && $membercardstatus[$groupid] == 1}-->
<div style="padding:5px">
<form method="post" action="membercard.php?action=apply">
<input type="hidden" name="formhash" value="{FORMHASH}">
会员卡号码:<input type="text" name="cardno"><br />
会员卡密码:<input type="text" name="cardid"><br />
<center><button type="submit">绑定会员卡</button></center>
</form>
</div>
<!--{elseif !$membercard && $membercardstatus[$groupid] == 2}-->
<div style="padding:5px">
<form method="post" action="membercard.php?action=register">
<input type="hidden" name="formhash" value="{FORMHASH}">
您可以申请会员卡了,是否提出申请?
<center><button type="submit">申请会员卡</button></center>
</form>
</div>
<!--{elseif $membercard && $membercardstatus[$groupid] == 2 && $membercard[cardid] == '0'}-->
<div style="padding:5px">
<!--{if $membercard[update]}-->
<form method="post" action="membercard.php?action=apply">
<input type="hidden" name="formhash" value="{FORMHASH}">
您已获准使用会员卡<br />
会员卡号码:<input type="text" name="cardno"><br />
会员卡密码:<input type="text" name="cardid"><br />
<center><button type="submit">绑定会员卡</button></center>
</form>
<!--{else}-->
您的会员卡申请还未通过审核,请等候管理员审核
<!--{/if}-->
</div>
<!--{else}-->
<div style="padding:5px">
<center><font color="red">持证会员</font><br />会员卡号码: $membercard[cardno]</center>
</div>
<!--{/if}-->
<!--{/if}-->保存文件第七步:打开templates/default/register.htm
1.找到:
CODE:
<tr>
<th><label for="advshow">{lang register_advanced_options}</label></th>
<td><label><input id="advshow" name="advshow" class="checkbox" type="checkbox" $advcheck value="1" onclick="showadv()" tabindex="12" />{lang register_advanced_options_comment}</label></td>
</tr>在其下面增加: CODE:
<!--{if $membercardstatus[7] == 1}-->
<tr>
<th><label for="cardno">会员卡号码</th>
<td><label><input id="cardno" name="cardno" type="text" name="cardno"></td>
</tr>
<tr>
<th><label for="cardid">会员卡密码</th>
<td><label><input id="cardid" name="cardid" type="text" name="cardid"></td>
</tr>
<!--{/if}-->保存文件第八步:打开templates/default/viewpro.htm
1.找到:
CODE:
<tr><th>{lang uid}:</th><td>$member[uid]在其下面增加:CODE:
<!--{if $membercard}--> <font color="red">持证会员</font><!--{/if}-->保存文件第九步:打开templates/default/viewpro_classic.htm
1.找到:
CODE:
<tr><th>{lang uid}:</th><td>$member[uid]在其下面增加: CODE:
<!--{if $membercard}--> <font color="red">持证会员</font><!--{/if}--></td></tr>保存文件第十步:打开templates/default/viewthread.htm
1.找到:
CODE:
<p>{eval showstars($post['stars']);}</p>在其下面增加: CODE:
<!--{if $membercards[$post[authorid]]}--><p><font color="red">持证会员</font></p><!--{/if}-->保存文件第十一步:打开admincp.php
1.找到:
CODE:
if($radminid != $groupid) {在其上面增加:CODE:
elseif($action == 'membercard') {
$cpscript = 'membercard';
}保存文件第十二步:打开memcp.php
1.找到:
CODE:
$passport_status = $passport_status == 'shopex' && $passport_shopex ? '' : $passport_status;在其下面增加: CODE:
$membercard = $db->fetch_array($db->query("SELECT * FROM {$tablepre}membercards WHERE uid='$discuz_uid'"));
$membercardstatus = unserialize($membercardstatus);保存文件第十三步:打开register.php
1.找到:
CODE:
$fromuid = !empty($_DCOOKIE['promotion']) && $creditspolicy['promotion_register'] ? intval($_DCOOKIE['promotion']) : 0;在其下面增加:CODE:
$membercardstatus = unserialize($membercardstatus);2.找到: CODE:
$password = md5($password);在其上面增加:CODE:
if($membercardstatus[7] == 1 && $cardno && $cardid) {
$membercard = $db->result($db->query("SELECT count(*) FROM {$tablepre}membercards WHERE uid='0' AND cardno='$cardno' AND cardid='$cardid'"), 0);
if(!$membercard) {
showmessage('会员卡不存在,请返回。');
}
}3.找到: CODE:
if($regctrl || $regfloodctrl) {在其上面增加:CODE:
if($membercardstatus[7] == 1 && $cardno && $cardid) {
$db->query("UPDATE {$tablepre}membercards SET uid='$uid', `update`='$timestamp' WHERE cardid='$cardid'");
$membercardcondition = unserialize($membercardcondition);
if($membercardcondition[7]) {
$db->query("UPDATE {$tablepre}members SET groupid='{$membercardcondition[7]}' WHERE uid='$uid'");
}
}保存文件第十四步:打开viewthread.php
1.找到:
CODE:
$postlist[$post['pid']] = viewthread_procpost($post);在其下面增加:CODE:
$authorids[] = $post['uid'];2.找到:CODE:
if($pagebydesc) {
$postlist = array_reverse($postlist, TRUE);
}在其上面增加: CODE:
$authorids = implodeids(array_unique($authorids));
$query = $db->query("SELECT uid, cardno FROM {$tablepre}membercards WHERE uid IN ($authorids) AND cardid<>'0'");
while($membercard = $db->fetch_array($query)) {
$membercards[$membercard['uid']] = $membercard['cardno'];
}保存文件最后一步:
1、如果是经过手动修改的,则将下面的第一个附件解压后传至服务器即可;
2、如果不想手动修改的,且没修改过相关文件,同时使用的是默认的风格,则可下载自动覆盖版的即可!
最后,在第二楼,我会附上相应的前后台设置的相关图片
在第三楼,会附上如何将会员卡相关数据显示在个人信息里
在第三楼,我将给大家介绍如何在个人信息中体现出会员卡的编号!
值得一提的是:很多朋友可能之前就装了个人信息美化插件,那在第十步的操作中,可能很多朋友都会找不到代码,那我会在第三楼详细讲解如何在装了个人信息美化插件后再使用此插件的方法,并会员卡相关数据完美体现在个人信息栏中!
完毕!
此插件为在“猴子”的基础上进行完善!如原作者有异议请提出!谢谢!
如果大家在安装过程中有遇到任何问题,可跟贴提出!
有人有意见了。
说我免费放出来
呵呵!需要免费版的朋友请到我的论坛下载!!
不好意思啊!各位朋友!
论坛地址:
http://bbs.ycsmvod.cn
已经免费放出!看图:
[ 本帖最后由 fucenyuan 于 2008-4-22 21:07 编辑 ]
会员卡V2.0.rar
(2008-04-15 11:29:11, Size: 141 KB, Downloads: 228)
会员卡V2.0自动覆盖版.rar
(2008-04-15 11:29:11, Size: 223 KB, Downloads: 160)


最新回复
1、在后台的扩展设置最左边栏的最下面可以找到:
1.jpg
2.gif
2、后台设置中会员卡中的基本设置
3.jpg
3、后台设置中的会员卡列表
4.jpg
4、后台设置中的会员卡审核申请
5.jpg
前台相关操作:
1、前台在控制面板—编辑个人资料——最左边最下面可以看到会员卡相关信息
6.jpg
2、未生成会员卡信息:
8.jpg
3、已生成会员卡信息:
7.jpg
会员卡绑定后的个人信息栏中的显示效果:
9.jpg
顺便AD一下:
更多方法请进入我的论坛进行研讨!
http://bbs.ycsmvod.cn
相关附件也在我的论坛里可下!
版主,看在辛苦份上,不能加点分吗?
[ 本帖最后由 fucenyuan 于 2008-4-16 04:19 编辑 ]
一、如果不想显示会员卡编号,只需按照一楼相关操作即可
二、如果想在个人信息栏中显示会员卡编者按号,刚按以下操作:
将第十步中的
QUOTE:
操作改为:找到以下代码:
CODE:
<p>{eval showstars($post['stars']);}</p>在其下面增加:CODE:
<!--{if $membercards[$post[authorid]]}--><p align="center"><p><font color="red">持证会员</font></p><p align="center"><font color="blue" align="center"><b>卡号:</b></font><font color="red"><b>$membercards[$post[authorid]]</b></font></p><!--{/if}-->如果想显示成我那样的效果;(用图片进行显示,且居中显示!)(请自行下载下面附件中的VIP图片,然后放置在相应位置!)online_vip.gif
则改为:
CODE:
<!--{if $membercards[$post[authorid]]}--><p align="center"><img src="images/common/online_vip.gif" alt="" border="0" align="center"><font color="red" align="center"> <b>金卡会员</b></font></p><p align="center"><font color="blue" align="center"><b>卡号:</b></font><font color="red"><b>$membercards[$post[authorid]]</b></font></p><!--{/if}-->另外,值得一提的是:很多朋友可能之前就装了个人信息美化插件,那在第十步的操作中,可能很多朋友都会找不到代码,那我会在这里详细讲解如何在装了个人信息美化插件后再使用此插件的方法,并会员卡相关数据完美体现在个人信息栏中!将第十步改为:
打开templates/default/snshow.htm(如果不是装在默认风格,刚在使用的风格文件夹中寻找)
查找以下代码:
CODE:
<!--{if $post['nickname']}--><p align="center">$post[nickname]</p><!--{/if}-->如果找不到,就查找:CODE:
$post[nickname]</p><!--{/if}-->在其下面插入上面的相关代码即可!在此处插入会员卡的相关数据为了美观好看!
这是我的会员卡效果图
9.jpg
[ 本帖最后由 fucenyuan 于 2008-4-17 18:01 编辑 ]
版主给点分吧!看在那么辛苦的份上!
顺便AD一下:
如需了解更详细的信息,请进入永诚点歌系统官方论坛!
如需下载附件,请进入永诚点歌系统
http://bbs.ycsmvod.cn
(2008-04-15 12:06:23, Size: 141 KB, Downloads: 0)
(2008-04-15 12:06:23, Size: 223 KB, Downloads: 0)
卡号: 卡号前缀
起始编号
的格式