/** * 签到 */ 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); }
<?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)); }