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

 找回密码
 立即注册
搜索

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

[复制链接]
gaodianfei 发表于 2008-3-24 15:08:59 | 显示全部楼层
viewpro.inc.php 源代码:
<?php

/*
        [Discuz!] (C)2001-2006 Comsenz Inc.
        This is NOT a freeware, use is subject to license terms

        $Id: viewpro.inc.php 11168 2007-11-08 05:23:57Z tiger $
*/

if(!defined('IN_DISCUZ')) {
        exit('Access Denied');
}

$allowviewpro = $discuz_uid && ($uid == $discuz_uid || $username == $discuz_user) ? 1 : $allowviewpro;

if(!$allowviewpro) {
        showmessage('group_nopermission', NULL, 'NOPERM');
}

require_once DISCUZ_ROOT.'./include/discuzcode.func.php';
@include_once DISCUZ_ROOT.'./forumdata/cache/cache_viewpro.php';
@extract($_DCACHE['custominfo']);

$discuz_action = 61;

if($oltimespan) {
        $oltimeadd1 = ', o.thismonth AS thismonthol, o.total AS totalol';
        $oltimeadd2 = "LEFT JOIN {$tablepre}onlinetime o ON o.uid=m.uid";
} else {
        $oltimeadd1 = $oltimeadd2 = '';
}
//-----------------------------virtualimage queries
require_once DISCUZ_ROOT.'./forumdata/cache/plugin_virtualimage.php';
$imagesset = $_DPLUGIN['virtualimage']['vars'];
if($imagesset[openalpha]){$alpha = "FILTER: alpha(opacity=\"+WearArray+\")";}
//-----------------------------

$member = $db->query("SELECT m.*, mf.*, u.grouptitle, u.type, u.creditshigher, u.creditslower, u.readaccess,
                u.color AS groupcolor, u.stars AS groupstars, u.allownickname, u.allowuseblog, r.ranktitle,
                r.color AS rankcolor, r.stars AS rankstars $oltimeadd1, s.count
                FROM {$tablepre}members m
                LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
                LEFT JOIN {$tablepre}usergroups u ON u.groupid=m.groupid
                LEFT JOIN {$tablepre}ranks r ON m.posts>=r.postshigher
                LEFT JOIN {$tablepre}signin s ON s.uid=m.uid
                $oltimeadd2
                WHERE ".($uid ? "m.uid='$uid'" : "m.username='$username'")."ORDER BY r.postshigher DESC LIMIT 1");


if(!$member) {
        showmessage('member_nonexistence');
}

//------------------------------------------------------------
$member['avatar'] = $member['avatar'] ? "<div class=\"avatar\" style=\"width: ".$member['avatarwidth']."\"><img src=\"$member[avatar]\" width=\"$member[avatarwidth]\" height=\"$member[avatarheight]\" border=\"0\" alt=\"\"  /></div>" : '<div class=\"avatar\" style=\"width: 128px\"><img class="avatar" src="images/avatars/noavatar.gif" alt="" /></div>';
        if ($imagesset['orderuse']!='1' && ($member['useimages'] != 1 ||  $member[gender]==0)){
                $member['avatar'] = $member['avatar'];
                }else{
                        if ($member[gender]==1){
                        $tempequip =  '0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';  //male initial
                        $sex = "m";
                        $upid = "init";
                        }elseif ($member[gender]==2){
                        $tempequip =  '0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0'; //female initial
                        $sex = "f";
                        $upid = "initf";
                        }

                $userwearip =  '400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-40 0-400-400';//goods check
                $cookiearray = split('-', $tempequip);
                $weararray = split('-', $userwearip);
                $imagescookie = $db->query("SELECT * FROM {$tablepre}images_user  where userid = '$member[uid]' and dafaultuse = '1' and (suitable = '$sex' or suitable = 't')");
                while ($userimages = $db->fetch_array($imagescookie)){
                $tempi = $userimages[classid];
                $cookiearray[$tempi] = $userimages[picid];
                        if($imagesset[beold]){
                        $images_weardate = $userimages[endurance] - (time() -  $userimages[lastuse]);
                        $images_weardate = ceil($images_weardate/8640);
                                if ($images_weardate <= 0){
                                $db->query("UPDATE {$tablepre}images_user SET  dafaultuse = '3' WHERE userid='$member[userid]' and picid = '$userimages[facepicid]' and classid=  '$userimages[classid]' and dafaultuse='1'");
                                if($userimages[classid] ==  8||$userimages[classid]==9||$userimages[classid]==11||$userimages[classid] ==13||$userimages[classid]==14||$userimages[classid]==18){
                                $userupid = $upid;
                                }else{
                                $userupid = "0";
                                }
                                $cookiearray[$tempi] = $userupid;
                                }else{
                                $weararray[$tempi] = $images_weardate;
                                }
                        }else{
                        $weararray[$tempi] = 100;
                        }
                }
                $userimages = implode("-", $cookiearray);
                $userwear = implode("-", $weararray);
                $member['avatar'] = "
                <!-- virtualimage start-->
                <div id=\"Show{$member['uid']}\" style=\"padding:0px; left:0px; width:140px; position:relative; top:0px; height:226px; margin-top:5px; margin-bottom:5px\"></div>
                <SCRIPT language=JavaScript>
                var currface = \"$userimages\";
                var currwear = \"$userwear\";
                var showArray = currface.split('-');
                var WearArray = currwear.split('-');
                        if (showArray[6] != '0'){
                        showArray[8] = 0;
                        showArray[9] = 0;
                        }
                var s=\"\";
                for (var i=0; i<26; i++){
                        if(showArray != '0'){
                                if((showArray == 'init') || (showArray == 'initf')){
                                s+='<img src=\"{$imagesset[imageurl]}'+i+'/'+showArray+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px; z-index:'+i+';\" />';
                                }else{
                                s+='<img src=\"{$imagesset[imageurl]}'+i+'/'+showArray+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0; width:140px; height:226px; z-index:'+i+';".$alpha."\" />';
                                }
                        }
                }
                s+='<img src=\"{$imagesset[imageurl]}blank.gif\" style=\"padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px; z-index:50\" />';
                $('Show{$member['uid']}').innerHTML=s;
                </SCRIPT>
                <!-- virtualimage end-->
                ";
        }
//--------------------------------------------------------------
$uid = $member['uid'];
$member['online'] = $db->result_first("SELECT lastactivity FROM {$tablepre}sessions WHERE uid='$uid' AND invisible='0'");

if($member['groupid'] != ($member['groupidnew'] = getgroupid($member['uid'], $member, $member))) {
        $member = array_merge($member, $db->fetch_first("SELECT groupid, grouptitle, type, creditshigher, creditslower, color AS groupcolor,
                stars AS groupstars, allownickname, allowuseblog
                FROM {$tablepre}usergroups WHERE groupid='$member[groupidnew]'"));
}

$viewspace = !$inajax && $spacestatus && (!$supe['status'] || !$member['xspacestatus']) && !in_array($member['groupid'], array(4, 5, 6));

if($viewspace) {
        include_once DISCUZ_ROOT.'./include/space.func.php';

        if(!$spacesettings = getspacesettings($member['uid'])) {
                dheader("location: $boardurl");
        }

        include_once language('spaces');

        $modulelist = explode('][', ']'.str_replace("\t", '', $spacesettings['layout']).'[');
        foreach($modulelist as $module) {
                if(array_key_exists($module, $listmodule)) {
                        $menulist[$listmodule[$module]] = $module;
                }
        }
        ksort($menulist);
}

$modforums = $comma = '';
if($member['adminid'] > 0) {
        $query = $db->query("SELECT m.fid, f.name, f.type FROM {$tablepre}moderators m, {$tablepre}forums f WHERE m.uid='$member[uid]' AND m.inherited='0' AND f.fid=m.fid");
        while($forum = $db->fetch_array($query)) {
                $modforums .= "$comma<a href=\"".($forum['type'] == 'group' ? "$indexname?gid=" : "forumdisplay.php?fid=")."$forum[fid]\">$forum[name]</a>";
                $comma = ', ';
        }
}

$member['groupterms'] = $member['groupterms'] ? unserialize($member['groupterms']) : array();

$extgrouplist = array();
if($member['extgroupids']) {
        $temp = array_map('intval', explode("\t", $member['extgroupids']));
        if($temp = implodeids($temp)) {
                $query = $db->query("SELECT groupid, grouptitle FROM {$tablepre}usergroups WHERE groupid IN ($temp)");
                while($group = $db->fetch_array($query)) {
                        $extgrouplist[] = array('title' => $group['grouptitle'], 'expiry' => (isset($member['groupterms']['ext'][$group['groupid']]) ? gmdate($dateformat, $member['groupterms']['ext'][$group['groupid']] + $timeoffset * 3600) : ''));
                }
        }
}

$query = $db->query("SELECT COUNT(*) FROM {$tablepre}posts");
@$percent = round($member['posts'] * 100 / $db->result($query, 0), 2);
$postperday = $timestamp - $member['regdate'] > 86400 ? round(86400 * $member['posts'] / ($timestamp - $member['regdate']), 2) : $member['posts'];

$member['grouptitle'] = $member['groupcolor'] ? '<font color="'.$member['groupcolor'].'">'.$member['grouptitle'].'</font>' : $member['grouptitle'];
$member['ranktitle'] = $member['rankcolor'] ? '<font color="'.$member['rankcolor'].'">'.$member['ranktitle'].'</font>' : $member['ranktitle'];

$membercard = $db->fetch_array($db->query("SELECT * FROM {$tablepre}membercards WHERE uid='$uid' AND cardid<>'0'"));
if($inajax) {
        $member['userstatusby'] = $member['stars'] = '';
        if($userstatusby == 1) {
                $member['userstatusby'] = $member['grouptitle'];
                $member['stars'] = $member['groupstars'];
        } elseif($userstatusby == 2) {
                if($member['type'] != 'member') {
                        $member['userstatusby'] = $member['grouptitle'];
                        $member['stars'] = $member['groupstars'];
                } else {
                        $member['userstatusby'] = $member['ranktitle'];
                        $member['stars'] = $member['rankstars'];
                }
        }
}

if($oltimespan) {
        $member['totalol'] = round($member['totalol'] / 60, 2);
        $member['thismonthol'] = gmdate('Yn', $member['lastactivity']) == gmdate('Yn', $timestamp) ? round($member['thismonthol'] / 60, 2) : 0;
}

$member['usernameenc'] = rawurlencode($member['username']);
$member['regdate'] = gmdate($dateformat, $member['regdate'] + $timeoffset * 3600);
$member['email'] = emailconv($member['email']);
list($member['bio'], $member['biotrade']) = explode("\t\t\t", $member['bio']);

$member['lastvisit'] = gmdate("$dateformat $timeformat", $member['lastvisit'] + ($timeoffset * 3600));
$member['lastpost'] = $member['lastpost'] ? gmdate("$dateformat $timeformat", $member['lastpost'] + ($timeoffset * 3600)) : 'x';
$member['lastdate'] = gmdate($dateformat, $member['lastactivity'] + ($timeoffset * 3600));

$member['taobaoas'] = addslashes($member['taobao']);

$member['olupgrade'] = $member['totalol'] ? 20 - $member['totalol'] % 20 : 20;

list($year, $month, $day) = explode('-', $member['bday']);
$member['bday'] = intval($year) ? $dateformat : preg_replace("/[^nj]*[Yy][^nj]*/", '', $dateformat);
$member['bday'] = str_replace('n', $month, $member['bday']);
$member['bday'] = str_replace('j', $day, $member['bday']);
$member['bday'] = str_replace('Y', $year, $member['bday']);
$member['bday'] = str_replace('y', substr($year, 2, 4), $member['bday']);

if($member['groupexpiry'] && isset($member['groupterms']['main']['time'])) {
        $member['maingroupexpiry'] = gmdate($dateformat, $member['groupterms']['main']['time'] + $timeoffset * 3600);
}

if($allowviewip && !($adminid == 2 && $member['adminid'] == 1) && !($adminid == 3 && ($member['adminid'] == 1 || $member['adminid'] == 2))) {
        require_once DISCUZ_ROOT.'./include/misc.func.php';
        $member['regiplocation'] = convertip($member['regip']);
        $member['lastiplocation'] = convertip($member['lastip']);
} else {
        $allowviewip = 0;
}

$_DCACHE['fields_required'] = is_array($_DCACHE['fields_required']) ? $_DCACHE['fields_required'] : array();
$_DCACHE['fields_optional'] = is_array($_DCACHE['fields_optional']) ? $_DCACHE['fields_optional'] : array();
foreach(array_merge($_DCACHE['fields_required'], $_DCACHE['fields_optional']) as $field) {
        if(!$field['invisible'] || $adminid == 1 || $member['uid'] == $discuz_uid) {
                $_DCACHE['fields'][] = $field;
        }
}

unset($_DCACHE['fields_required'], $_DCACHE['fields_optional']);

if($member['medals']) {
        require_once DISCUZ_ROOT.'./forumdata/cache/cache_medals.php';
        foreach($member['medals'] = explode("\t", $member['medals']) as $key => $medalid) {
                if(isset($_DCACHE['medals'][$medalid])) {
                        $member['medals'][$key] = $_DCACHE['medals'][$medalid];
                } else {
                        unset($member['medals'][$key]);
                }
        }
}
$member['buyerrank'] = 0;
if($member['buyercredit']){
        foreach($ec_credit['rank'] AS $level => $credit) {
                if($member['buyercredit'] <= $credit) {
                        $member['buyerrank'] = $level;
                        break;
                }
        }
}
$member['sellerrank'] = 0;
if($member['sellercredit']){
        foreach($ec_credit['rank'] AS $level => $credit) {
                if($member['sellercredit'] <= $credit) {
                        $member['sellerrank'] = $level;
                        break;
                }
        }
}

if($inajax) {
        $post = $member;unset($member);
        include template('space_viewpro');
} elseif($viewspace) {
        include template('space');
} else {
        include template('viewpro_classic');
}

exit;

?>
回复

使用道具 举报

~ayi~ 发表于 2008-4-12 17:43:19 | 显示全部楼层
请问有没有办法可以办到将会员的卡号和会员名称在前台能够让特定的用户组进入查看? 或者说用户组要进入该地区查看需要输入密码?
我也在phpmyadmin的 cdb_membercards 里的  cardno 改成 11 个号码
回到后台自动生成会员卡的时候, 会员卡的确是变成11个号码了, 可是数字很怪
我的卡号前缀: 200860  起始编号: 10001
我需要自动生成 5000 个卡号, 并且我希望卡号的顺序是  20086010001 , 20086010002 ,20086010003 , 20086010004.... 以此类推直到 20086015000
可是他生成出来的号码却是  200800000601 , 而且全部号码都生成为这组号码...
请问有什么方式能够解决呢 ?

[ 本帖最后由 ~ayi~ 于 2008-4-12 17:49 编辑 ]
回复

使用道具 举报

qq283793686 发表于 2008-4-12 18:20:24 | 显示全部楼层
:o :o :o
回复

使用道具 举报

~ayi~ 发表于 2008-4-12 19:11:29 | 显示全部楼层
有人能够帮帮我吗...?
回复

使用道具 举报

皮皮宝 发表于 2008-4-14 10:44:00 | 显示全部楼层
已经安装成功。希望能指点一下,可以在个人信息中显示会员卡号!谢谢!非常好用!
回复

使用道具 举报

enhand 发表于 2008-4-20 00:57:43 | 显示全部楼层
能不能提供县城安装的?
回复

使用道具 举报

fucenyuan 发表于 2008-4-20 04:15:00 | 显示全部楼层
原帖由 ~ayi~ 于 2008-4-12 17:43 发表
请问有没有办法可以办到将会员的卡号和会员名称在前台能够让特定的用户组进入查看? 或者说用户组要进入该地区查看需要输入密码?
我也在phpmyadmin的 cdb_membercards 里的  cardno 改成 11 个号码
回到后台自动生成 ...

原帖由 ~ayi~ 于 2008-4-12 19:11 发表
有人能够帮帮我吗...?




是不是要我这样的效果??

888888.jpg

我已经教了很多朋友做了

具体你去我论坛上吧!

这里有详细的教程

和我跟一些朋友的对话

http://www.ycsmvod.cn/bbs/thread-502-1-1.html

http://www.ycsmvod.cn/bbs/thread-517-1-2.html
回复

使用道具 举报

88212560 发表于 2008-4-20 20:21:05 | 显示全部楼层
为什么 我升级数据提示
升级错误,MySQL 提示: Table 'cdb_membercards' already exists ,请返回。
回复

使用道具 举报

闲散山人 发表于 2008-4-20 23:27:49 | 显示全部楼层
不错,踩一脚,留一个记号先。
回复

使用道具 举报

6434336 发表于 2008-4-21 03:43:30 | 显示全部楼层
这是个什么东西啊?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-7 14:37 , Processed in 0.112116 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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