Example #1
0
/**
 * 签到
 */
function doSign($from, $settings)
{
    global $_W;
    unset($uid, $today_sign, $insert);
    $uid = getUserIdByOpenId($from);
    if ($uid <= 0) {
        return array(false, 'no_login');
    }
    $today_sign = getUserTodaySign($uid, $settings['times']);
    //今天签到数据
    if (!empty($today_sign)) {
        return array(false, 'over_number');
    }
    //超过签到次数
    //list($times, $start_time, $end_time, $credit_type, $credit)
    $now = time();
    if ($now < strtotime($settings['start_time']) || $now > strtotime($settings['end_time'])) {
        return array(false, 'over_time');
    }
    //不在签到时间
    $rank = intval(getTodaySignTotal()) + 1;
    $times = intval(getUserSignTotal($uid) + 1);
    $insert = array('uniacid' => $_W['uniacid'], 'uid' => $uid, 'time' => $now, 'sum_times' => $times, 'rank' => $rank);
    pdo_insert('kim_sign_record', $insert);
    if (pdo_insertid() > 0) {
        load()->model('mc');
        $log = array(0, '签到获得');
        mc_credit_update($uid, $settings['credit_type'], doubleval($settings['credit']), $log);
        $credit = mc_credit_fetch($uid, array($settings['credit_type']));
    }
    $credits = uni_setting($_W['uniacid'], 'creditnames');
    $credit_type = $credits['creditnames'][$settings['credit_type']];
    $result = "您今天第 %s 个签到用户\n本次获得 %s 个%s\n您累计拥有 %s 个%s";
    $result = sprintf($result, $rank, doubleval($settings['credit']), $credit_type['title'], $credit[$settings['credit_type']], $credit_type['title']);
    return array(true, $result);
}
Example #2
0
<?php

/**
 * Kim签到模块定义
 */
defined('IN_IA') or exit('Access Denied');
global $_GPC, $_W;
$_W['page']['title'] = "签到领红包啦";
//检查是否登录
checkauth();
$settings = getModulesSettings($this->modulename);
$times = intval($settings['times']) <= 0 ? 1 : intval($settings['times']);
$today_sign = getUserTodaySign($_W['member']['uid'], $times);
//今天签到数据
if (checksubmit('sign')) {
    list($qd_code, $qd_message) = doWebSign($settings);
    if ($qd_code === 1) {
        //签到成功
        //抽奖
        $prize_cls = new Prize();
        list($code, $message, $prize) = $prize_cls->lottery($_W['member']['uid'], $settings['prize_group']);
        if ($code && !empty($prize) && !empty($prize['code']) && intval($prize['record_id']) > 0) {
            //中奖
            $prize_item = array("prize_url" => $this->createMobileUrl('Prize', array('record_id' => $prize['record_id'])), "prize_name" => $prize['prize_name'], "code" => $prize['code']);
            unset($prize);
        }
    }
    $result = array("code" => $qd_code, "title" => $qd_code === 1 ? "签到成功!" : "签到失败", "message" => $qd_message, "prize" => $prize_item);
    header('Content-Type:text/json; charset=utf-8');
    exit(json_encode($result));
}