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

 找回密码
 立即注册
搜索

[发布] 会员卡插件V2.0 FOR 6.0手动安装方法

[复制链接]
zhujinyan 发表于 2008-1-20 10:54:22 | 显示全部楼层 |阅读模式
附件下载地址:https://discuz.dismall.com/thread-836032-1-1.html
本插件版权归作者”猴子“所有

注意:如果你要卸载插件的时候才运行反安装语句!
安装的时候不要忘记运行V2.0新加的数据库升级!


反安装升级数据库:
  1. DROP TABLE `cdb_membercards`;
复制代码
帖子里面的显示方法在viewthread.htm里面改,放在哪大家自由发挥吧
$post[authortitle]  用户组
$post[avatar]  等级
$post[customstatus  自定义头衔
$post[nickname]  昵称


下面是手动安装方法:
数据库升级语句
  1. CREATE TABLE `cdb_membercards` (
  2.   `cardid` char(15) NOT NULL,
  3.   `dateline` int(10) unsigned NOT NULL,
  4.   `uid` mediumint(8) unsigned NOT NULL,
  5.   `update` int(10) unsigned NOT NULL,
  6.   PRIMARY KEY  (`cardid`,`uid`),
  7.   KEY `dateline` (`dateline`),
  8.   KEY `update` (`update`)
  9. ) TYPE=MyISAM;
复制代码
V2.0 新增
  1. ALTER TABLE `cdb_membercards` ADD COLUMN `cardno` CHAR(20) NOT NULL FIRST;
  2. 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.找到:
  1. echo 'result = result.replace(/pageviews/g, \'<u>'.$lang['settings_creditsformula_pageviews'].'</u>\');';
复制代码
下面增加:
  1. echo 'result = result.replace(/membercard/g, \'<u>拥有会员卡</u>\');';
复制代码
2.找到:
  1. <a href="###" onclick="insertunit(' pageviews ')"><?=$lang['settings_creditsformula_pageviews']?></a>&nbsp;
复制代码
下面增加:
  1. <a href="###" onclick="insertunit(' membercard ')">拥有会员卡</a>&nbsp;
复制代码
3.找到:
  1. 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).';'))) {
复制代码
替换成:
  1. 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.找到:
  1. $formulapermary[1] = preg_replace("/(digestposts|posts|pageviews|oltime|extcredits[1-8])/", "\$_DSESSION['\\1']", $formulapermnew);
复制代码
替换成:
  1. $formulapermary[1] = preg_replace("/(digestposts|posts|pageviews|membercard|oltime|extcredits[1-8])/", "\$_DSESSION['\\1']", $formulapermnew);
复制代码
保存文件


打开admin/menu.inc.php
1.找到:
  1. echo '</div><div id="others" style="display: none">';
复制代码
上面增加:
  1.                         showmenu('会员卡', array(
  2.                                                         array('name' => '会员卡基本设置', 'url' => 'admincp.php?action=membercard&do=condition'),
  3.                                                         array('name' => '会员卡列表', 'url' => 'admincp.php?action=membercard'),
  4.                                                         array('name' => '会员卡申请审核', 'url' => 'admincp.php?action=membercard&do=modreg')));
复制代码
保存文件


打开include/global.func.php
1.找到:
  1. @eval("\$formulaperm = ($formula) ? TRUE : FALSE;");
复制代码
上面增加:
  1.         global $db, $tablepre, $discuz_uid;
  2.         $_DSESSION['membercard'] = $db->result($db->query("SELECT count(*) FROM {$tablepre}membercards WHERE uid='$discuz_uid' AND cardid<>'0'"), 0);
复制代码
2.找到:
  1.                 $search = array('$_DSESSION[\'digestposts\']', '$_DSESSION[\'posts\']', '$_DSESSION[\'oltime\']', '$_DSESSION[\'pageviews\']');
  2.                 $replace = array($language['formulaperm_digestposts'], $language['formulaperm_posts'], $language['formulaperm_oltime'], $language['formulaperm_pageviews']);
复制代码
替换成:
  1.                 $search = array('$_DSESSION[\'digestposts\']', '$_DSESSION[\'posts\']', '$_DSESSION[\'oltime\']', '$_DSESSION[\'pageviews\']', '$_DSESSION[\'membercard\']');
  2.                 $replace = array($language['formulaperm_digestposts'], $language['formulaperm_posts'], $language['formulaperm_oltime'], $language['formulaperm_pageviews'], '拥有会员卡');
复制代码
保存文件


打开include/viewpro.inc.php
1.找到:
  1. if($inajax) {
复制代码
上面增加:
  1. $membercard = $db->fetch_array($db->query("SELECT * FROM {$tablepre}membercards WHERE uid='$uid' AND cardid<>'0'"));
复制代码
保存文件


打开templates/default/memcp_profile.htm
1.找到:
  1. {template personal_navbar}
复制代码
下面增加:
  1.         <!--{if $membercardstatus[$groupid]}-->
  2.                 <!--{if !$membercard && $membercardstatus[$groupid] == 1}-->
  3.                         <div style="padding:5px">
  4.                         <form method="post" action="membercard.php?action=apply">
  5.                         <input type="hidden" name="formhash" value="{FORMHASH}">
  6.                         会员卡号码:<input type="text" name="cardno"><br />
  7.                         会员卡密码:<input type="text" name="cardid"><br />
  8.                         <center><button type="submit">绑定会员卡</button></center>
  9.                         </form>
  10.                         </div>
  11.                 <!--{elseif !$membercard && $membercardstatus[$groupid] == 2}-->
  12.                         <div style="padding:5px">
  13.                         <form method="post" action="membercard.php?action=register">
  14.                         <input type="hidden" name="formhash" value="{FORMHASH}">
  15.                         您可以申请会员卡了,是否提出申请?
  16.                         <center><button type="submit">申请会员卡</button></center>
  17.                         </form>
  18.                         </div>
  19.                 <!--{elseif $membercard && $membercardstatus[$groupid] == 2 && $membercard[cardid] == '0'}-->
  20.                         <div style="padding:5px">
  21.                         <!--{if $membercard[update]}-->
  22.                                 <form method="post" action="membercard.php?action=apply">
  23.                                 <input type="hidden" name="formhash" value="{FORMHASH}">
  24.                                 您已获准使用会员卡<br />
  25.                                 会员卡号码:<input type="text" name="cardno"><br />
  26.                                 会员卡密码:<input type="text" name="cardid"><br />
  27.                                 <center><button type="submit">绑定会员卡</button></center>
  28.                                 </form>
  29.                         <!--{else}-->
  30.                                 您的会员卡申请还未通过审核,请等候管理员审核
  31.                         <!--{/if}-->
  32.                         </div>
  33.                 <!--{else}-->
  34.                         <div style="padding:5px">
  35.                         <center><font color="red">持证会员</font><br />会员卡号码: $membercard[cardno]</center>
  36.                         </div>
  37.                 <!--{/if}-->
  38.         <!--{/if}-->
复制代码
保存文件


打开templates/default/register.htm
1.找到:
  1.                 <tr>
  2.                         <th><label for="advshow">{lang register_advanced_options}</label></th>
  3.                         <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>
  4.                 </tr>
复制代码
下面增加:
  1.                 <!--{if $membercardstatus[7] == 1}-->
  2.                         <tr>
  3.                                 <th><label for="cardno">会员卡号码</th>
  4.                                 <td><label><input id="cardno" name="cardno" type="text" name="cardno"></td>
  5.                         </tr>
  6.                         <tr>
  7.                                 <th><label for="cardid">会员卡密码</th>
  8.                                 <td><label><input id="cardid" name="cardid" type="text" name="cardid"></td>
  9.                         </tr>
  10.                 <!--{/if}-->
复制代码
保存文件


打开templates/default/viewpro.htm
1.找到:
  1. <tr><th>{lang uid}:</th><td>$member[uid]
复制代码
下面增加:
  1. <!--{if $membercard}-->&nbsp;<font color="red">持证会员</font><!--{/if}-->
复制代码
保存文件


打开templates/default/viewpro_classic.htm
1.找到:
  1. <tr><th>{lang uid}:</th><td>$member[uid]
复制代码
下面增加:
  1. <!--{if $membercard}-->&nbsp;<font color="red">持证会员</font><!--{/if}--></td></tr>
复制代码
保存文件


打开templates/default/viewthread.htm
1.找到:
  1. <p>{eval showstars($post['stars']);}</p>
复制代码
下面增加:
  1. <!--{if $membercards[$post[authorid]]}--><p><font color="red">持证会员</font></p><!--{/if}-->
复制代码
保存文件


打开admincp.php
1.找到:
  1. if($radminid != $groupid) {
复制代码
上面增加:
  1.                 elseif($action == 'membercard') {
  2.                         $cpscript = 'membercard';
  3.                 }
复制代码
保存文件


打开memcp.php
1.找到:
  1. $passport_status = $passport_status == 'shopex' && $passport_shopex ? '' : $passport_status;
复制代码
下面增加:
  1.         $membercard = $db->fetch_array($db->query("SELECT * FROM {$tablepre}membercards WHERE uid='$discuz_uid'"));
  2.         $membercardstatus = unserialize($membercardstatus);
复制代码
保存文件


打开register.php
1.找到:
  1. $fromuid = !empty($_DCOOKIE['promotion']) && $creditspolicy['promotion_register'] ? intval($_DCOOKIE['promotion']) : 0;
复制代码
下面增加:
  1. $membercardstatus = unserialize($membercardstatus);
复制代码
2.找到:
  1. $password = md5($password);
复制代码
上面增加:
  1.         if($membercardstatus[7] == 1 && $cardno && $cardid) {
  2.                 $membercard = $db->result($db->query("SELECT count(*) FROM {$tablepre}membercards WHERE uid='0' AND cardno='$cardno' AND cardid='$cardid'"), 0);
  3.                 if(!$membercard) {
  4.                         showmessage('会员卡不存在,请返回。');
  5.                 }
  6.         }
复制代码
3.找到:
  1. if($regctrl || $regfloodctrl) {
复制代码
上面增加:
  1.         if($membercardstatus[7] == 1 && $cardno && $cardid) {
  2.                 $db->query("UPDATE {$tablepre}membercards SET uid='$uid', `update`='$timestamp' WHERE cardid='$cardid'");
  3.                 $membercardcondition = unserialize($membercardcondition);
  4.                 if($membercardcondition[7]) {
  5.                         $db->query("UPDATE {$tablepre}members SET groupid='{$membercardcondition[7]}' WHERE uid='$uid'");
  6.                 }
  7.         }
复制代码
保存文件


打开viewthread.php
1.找到:
  1. $postlist[$post['pid']] = viewthread_procpost($post);
复制代码
下面增加:
  1. $authorids[] = $post['uid'];
复制代码
2.找到:
  1.         if($pagebydesc) {
  2.                 $postlist = array_reverse($postlist, TRUE);
  3.         }
复制代码
上面增加:
  1.         $authorids = implodeids(array_unique($authorids));
  2.         $query = $db->query("SELECT uid, cardno FROM {$tablepre}membercards WHERE uid IN ($authorids) AND cardid<>'0'");
  3.         while($membercard = $db->fetch_array($query)) {
  4.                 $membercards[$membercard['uid']] = $membercard['cardno'];
  5.         }
复制代码
保存文件



修改完毕

[ 本帖最后由 zhujinyan 于 2008-1-26 10:41 编辑 ]

评分

4

查看全部评分

回复

使用道具 举报

 楼主| zhujinyan 发表于 2008-1-20 10:55:26 | 显示全部楼层
自己的沙发
回复

使用道具 举报

webcdn 发表于 2008-1-20 10:56:42 | 显示全部楼层
牛人,要顶一下
回复

使用道具 举报

maxbad 发表于 2008-1-20 11:03:48 | 显示全部楼层

      呵呵,,   具体什么用撒。 。  不介绍介绍啊!!!
回复

使用道具 举报

 楼主| zhujinyan 发表于 2008-1-20 11:06:21 | 显示全部楼层
这个还用介绍了,这么好的插件一看就知道了,你去作者网站tea.monkeye.cn看看
回复

使用道具 举报

maxbad 发表于 2008-1-20 11:21:33 | 显示全部楼层
会员卡。。不知道什么用。。又不是什么特大的站。。
回复

使用道具 举报

jingyuan007 发表于 2008-1-20 11:29:30 | 显示全部楼层
顶下 以后用
回复

使用道具 举报

renxiaoyao 发表于 2008-1-20 12:15:35 | 显示全部楼层
沙发~~~这个安装步骤~~够详细~~
回复

使用道具 举报

zhenyusen 发表于 2008-1-20 12:19:56 | 显示全部楼层
楼主太棒了,谢谢
回复

使用道具 举报

〓偉◎耔〓 发表于 2008-1-20 12:21:59 | 显示全部楼层
会员卡??这个插件都有..牛...
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-10 09:25 , Processed in 0.136501 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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