Beispiel #1
0
 private function getUserInfo($uid = null)
 {
     global $_W;
     load()->model('mc');
     if (empty($uid)) {
         $uid = $_W['member']['uid'];
     } else {
         $uid = mc_openid2uid($uid);
     }
     $userInfo = array();
     $filter = array();
     $filter['status'] = 1;
     $userInfo['coupons'] = activity_coupon_owned($uid, $filter);
     $userInfo['tokens'] = activity_token_owned($uid, $filter);
     $userInfo['credits'] = mc_credit_fetch($_W['member']['uid'], '*');
     return $userInfo;
 }
Beispiel #2
0
function mc_require($uid, $fields, $pre = '')
{
    global $_W, $_GPC;
    if (empty($fields) || !is_array($fields)) {
        return false;
    }
    $flipfields = array_flip($fields);
    if (in_array('birth', $fields) || in_array('birthyear', $fields) || in_array('birthmonth', $fields) || in_array('birthday', $fields)) {
        unset($flipfields['birthyear'], $flipfields['birthmonth'], $flipfields['birthday'], $flipfields['birth']);
        $flipfields['birthyear'] = 'birthyear';
        $flipfields['birthmonth'] = 'birthmonth';
        $flipfields['birthday'] = 'birthday';
    }
    if (in_array('reside', $fields) || in_array('resideprovince', $fields) || in_array('residecity', $fields) || in_array('residedist', $fields)) {
        unset($flipfields['residedist'], $flipfields['resideprovince'], $flipfields['residecity'], $flipfields['reside']);
        $flipfields['resideprovince'] = 'resideprovince';
        $flipfields['residecity'] = 'residecity';
        $flipfields['residedist'] = 'residedist';
    }
    $fields = array_keys($flipfields);
    if (!in_array('uniacid', $fields)) {
        $fields[] = 'uniacid';
    }
    if (!empty($pre)) {
        $pre .= '<br/>';
    }
    if (empty($uid)) {
        foreach ($fields as $field) {
            $profile[$field] = '';
        }
        $uniacid = $_W['uniacid'];
    } else {
        $profile = mc_fetch($uid, $fields);
        $uniacid = $profile['uniacid'];
    }
    $sql = 'SELECT `f`.`field`, `f`.`id` AS `fid`, `mf`.* FROM ' . tablename('profile_fields') . " AS `f` LEFT JOIN " . tablename('mc_member_fields') . " AS `mf` ON `f`.`id` = `mf`.`fieldid` WHERE `uniacid` = :uniacid ORDER BY\r\n\t\t\t`displayorder` DESC";
    $system_fields = pdo_fetchall($sql, array(':uniacid' => $_W['uniacid']), 'field');
    if (empty($system_fields)) {
        $sql = 'SELECT `id`, `field`, `title` FROM ' . tablename('profile_fields');
        $system_fields = pdo_fetchall($sql, array(), 'field');
    }
    $titles = array();
    foreach ($system_fields as $field) {
        $titles[$field['field']] = $field['title'];
    }
    $message = '';
    $ks = array();
    foreach ($profile as $k => $v) {
        if (empty($v)) {
            $ks[] = $k;
            $message .= $system_fields[$k]['title'] . ', ';
        }
    }
    if (!empty($message)) {
        $title = '完善资料';
        if (checksubmit('submit')) {
            if (in_array('resideprovince', $fields)) {
                $_GPC['resideprovince'] = $_GPC['reside']['province'];
                $_GPC['residecity'] = $_GPC['reside']['city'];
                $_GPC['residedist'] = $_GPC['reside']['district'];
            }
            if (in_array('birthyear', $fields)) {
                $_GPC['birthyear'] = $_GPC['birth']['year'];
                $_GPC['birthmonth'] = $_GPC['birth']['month'];
                $_GPC['birthday'] = $_GPC['birth']['day'];
            }
            $record = array_elements($fields, $_GPC);
            if (isset($record['uniacid'])) {
                unset($record['uniacid']);
            }
            foreach ($record as $field => $value) {
                if ($field == 'gender') {
                    continue;
                }
                if (empty($value)) {
                    message('请填写完整所有资料.', referer(), 'error');
                }
            }
            if (empty($record['nickname']) && !empty($_W['fans']['nickname'])) {
                $record['nickname'] = $_W['fans']['nickname'];
            }
            if (empty($record['avatar']) && !empty($_W['fans']['tag']['avatar'])) {
                $record['avatar'] = $_W['fans']['tag']['avatar'];
            }
            $condition = " AND uid != {$uid} ";
            if (in_array('email', $fields)) {
                $emailexists = pdo_fetchcolumn("SELECT email FROM " . tablename('mc_members') . " WHERE uniacid = :uniacid AND email = :email " . $condition, array(':uniacid' => $_W['uniacid'], ':email' => trim($record['email'])));
                if (!empty($emailexists)) {
                    message('抱歉,您填写的手机号已经被使用,请更新。', 'refresh', 'error');
                }
            }
            if (in_array('mobile', $fields)) {
                $mobilexists = pdo_fetchcolumn("SELECT mobile FROM " . tablename('mc_members') . " WHERE uniacid = :uniacid AND mobile = :mobile " . $condition, array(':uniacid' => $_W['uniacid'], ':mobile' => trim($record['mobile'])));
                if (!empty($mobilexists)) {
                    message('抱歉,您填写的手机号已经被使用,请更新。', 'refresh', 'error');
                }
            }
            $insertuid = mc_update($uid, $record);
            if (empty($uid)) {
                pdo_update('mc_oauth_fans', array('uid' => $insertuid), array('oauth_openid' => $_W['openid']));
                pdo_update('mc_mapping_fans', array('uid' => $insertuid), array('openid' => $_W['openid']));
            }
            message('资料完善成功.', 'refresh');
        }
        load()->func('tpl');
        load()->model('activity');
        $filter = array();
        $filter['status'] = 1;
        $coupons = activity_coupon_owned($_W['member']['uid'], $filter);
        $tokens = activity_token_owned($_W['member']['uid'], $filter);
        $setting = uni_setting($_W['uniacid'], array('creditnames', 'creditbehaviors', 'uc'));
        $behavior = $setting['creditbehaviors'];
        $creditnames = $setting['creditnames'];
        $credits = mc_credit_fetch($_W['member']['uid'], '*');
        include template('mc/require', TEMPLATE_INCLUDEPATH);
        exit;
    }
    return $profile;
}
Beispiel #3
0
<?php

/**
 * @FreeGo Team 智慧游
 * @url http://www.cninone.com/
 */
defined('IN_IA') or exit('Access Denied');
if ($action != 'cash') {
    checkauth();
}
load()->model('activity');
$filter = array();
$coupons = activity_coupon_owned($_W['member']['uid'], $filter);
$tokens = activity_token_owned($_W['member']['uid'], $filter);
$setting = uni_setting($_W['uniacid'], array('creditnames', 'creditbehaviors', 'uc', 'payment', 'passport'));
$behavior = $setting['creditbehaviors'];
$creditnames = $setting['creditnames'];
$credits = mc_credit_fetch($_W['member']['uid'], '*');
$sql = 'SELECT `status` FROM ' . tablename('mc_card') . " WHERE `uniacid` = :uniacid";
$cardstatus = pdo_fetch($sql, array(':uniacid' => $_W['uniacid']));
Beispiel #4
0
    $total = pdo_fetchall('SELECT COUNT(*) FROM ' . tablename('activity_coupon_record') . ' WHERE uid = :uid AND status = :status GROUP BY couponid', array(':uid' => $_W['member']['uid'], ':status' => $type));
    $coupon = activity_token_owned($_W['member']['uid'], $filter, $pindex, $psize);
    if (!empty($coupon['data'])) {
        foreach ($coupon['data'] as &$value) {
            $value['cototal'] = pdo_fetchcolumn('SELECT COUNT(*) FROM ' . tablename('activity_coupon_record') . ' WHERE uid = :uid AND couponid = :couponid AND status = :status', array(':uid' => $_W['member']['uid'], ':couponid' => $value['couponid'], ':status' => $type));
            $value['thumb'] = tomedia($value['thumb']);
            $value['description'] = htmlspecialchars_decode($value['description']);
            $data[$value['couponid']] = $value;
        }
    }
    unset($coupon);
    $pager = pagination(count($total), $pindex, $psize);
}
if ($do == 'use') {
    $id = intval($_GPC['id']);
    $data = activity_token_owned($_W['member']['uid'], array('couponid' => $id, 'used' => 1));
    $data = $data['data'][0];
    if (checksubmit('submit')) {
        load()->model('user');
        $password = $_GPC['password'];
        $sql = 'SELECT * FROM ' . tablename('activity_coupon_password') . " WHERE `uniacid` = :uniacid AND `password` = :password";
        $clerk = pdo_fetch($sql, array(':uniacid' => $_W['uniacid'], ':password' => $password));
        if (!empty($clerk)) {
            $status = activity_token_use($_W['member']['uid'], $id, $clerk['name']);
            if (!is_error($status)) {
                message('代金券使用成功!', url('activity/token/mine', array('type' => $_GPC['type'])), 'success');
            } else {
                message($status['message'], url('activity/token/mine', array('type' => $_GPC['type'])), 'error');
            }
        }
        message('密码错误!', referer(), 'error');
Beispiel #5
0
function mc_require($uid, $fields, $pre = '')
{
    global $_W, $_GPC;
    if (empty($fields) || !is_array($fields)) {
        return false;
    }
    $flipfields = array_flip($fields);
    if (in_array('birth', $fields) || in_array('birthyear', $fields) || in_array('birthmonth', $fields) || in_array('birthday', $fields)) {
        unset($flipfields['birthyear'], $flipfields['birthmonth'], $flipfields['birthday'], $flipfields['birth']);
        $flipfields['birthyear'] = 'birthyear';
        $flipfields['birthmonth'] = 'birthmonth';
        $flipfields['birthday'] = 'birthday';
    }
    if (in_array('reside', $fields) || in_array('resideprovince', $fields) || in_array('residecity', $fields) || in_array('residedist', $fields)) {
        unset($flipfields['residedist'], $flipfields['resideprovince'], $flipfields['residecity'], $flipfields['reside']);
        $flipfields['resideprovince'] = 'resideprovince';
        $flipfields['residecity'] = 'residecity';
        $flipfields['residedist'] = 'residedist';
    }
    $fields = array_keys($flipfields);
    if (!in_array('uniacid', $fields)) {
        $fields[] = 'uniacid';
    }
    if (!empty($pre)) {
        $pre .= '<br/>';
    }
    $profile = mc_fetch($uid, $fields);
    $uniacid = $profile['uniacid'];
    $titles = mc_fields();
    $message = '';
    $ks = array();
    foreach ($profile as $k => $v) {
        if (empty($v)) {
            $ks[] = $k;
            $message .= $titles[$k] . ', ';
        }
    }
    if (!empty($message)) {
        $title = '完善资料';
        if (checksubmit('submit')) {
            if (in_array('resideprovince', $fields)) {
                $_GPC['resideprovince'] = $_GPC['reside']['province'];
                $_GPC['residecity'] = $_GPC['reside']['city'];
                $_GPC['residedist'] = $_GPC['reside']['district'];
            }
            if (in_array('birthyear', $fields)) {
                $_GPC['birthyear'] = $_GPC['birth']['year'];
                $_GPC['birthmonth'] = $_GPC['birth']['month'];
                $_GPC['birthday'] = $_GPC['birth']['day'];
            }
            $record = array_elements($fields, $_GPC);
            if (isset($record['uniacid'])) {
                unset($record['uniacid']);
            }
            foreach ($record as $field => $value) {
                if ($field == 'gender') {
                    continue;
                }
                if (empty($value)) {
                    message('请填写完整所有资料.', referer(), 'error');
                }
            }
            $condition = " AND uid != {$uid} ";
            if (in_array('email', $fields)) {
                $emailexists = pdo_fetchcolumn("SELECT email FROM " . tablename('mc_members') . " WHERE uniacid = :uniacid AND email = :email " . $condition, array(':uniacid' => $_W['uniacid'], ':email' => trim($record['email'])));
                if (!empty($emailexists)) {
                    message('抱歉,您填写的手机号已经被使用,请更新。', 'refresh', 'error');
                }
            }
            if (in_array('mobile', $fields)) {
                $mobilexists = pdo_fetchcolumn("SELECT mobile FROM " . tablename('mc_members') . " WHERE uniacid = :uniacid AND mobile = :mobile " . $condition, array(':uniacid' => $_W['uniacid'], ':mobile' => trim($record['mobile'])));
                if (!empty($mobilexists)) {
                    message('抱歉,您填写的手机号已经被使用,请更新。', 'refresh', 'error');
                }
            }
            mc_update($uid, $record);
            message('资料完善成功.', 'refresh');
        }
        load()->func('tpl');
        load()->model('activity');
        $filter = array();
        $filter['status'] = 1;
        $coupons = activity_coupon_owned($_W['member']['uid'], $filter);
        $tokens = activity_token_owned($_W['member']['uid'], $filter);
        $setting = uni_setting($_W['uniacid'], array('creditnames', 'creditbehaviors', 'uc'));
        $behavior = $setting['creditbehaviors'];
        $creditnames = $setting['creditnames'];
        $credits = mc_credit_fetch($_W['member']['uid'], '*');
        include template('mc/require', TEMPLATE_INCLUDEPATH);
        exit;
    }
    return $profile;
}