本文整理汇总了PHP中coupon::SignatureCard方法的典型用法代码示例。如果您正苦于以下问题:PHP coupon::SignatureCard方法的具体用法?PHP coupon::SignatureCard怎么用?PHP coupon::SignatureCard使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类coupon
的用法示例。
在下文中一共展示了coupon::SignatureCard方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: pay
//.........这里部分代码省略.........
}
$you = 0;
if ($pay['card']['switch'] == 2) {
if ($_W['card_permission'] == 1 && !empty($params['module'])) {
$cards = pdo_fetchall('SELECT a.id,a.card_id,a.cid,b.type,b.title,b.extra,b.is_display,b.status,b.date_info FROM ' . tablename('coupon_modules') . ' AS a LEFT JOIN ' . tablename('coupon') . ' AS b ON a.cid = b.id WHERE a.acid = :acid AND a.module = :modu AND b.is_display = 1 AND b.status = 3 ORDER BY a.id DESC', array(':acid' => $_W['acid'], ':modu' => $params['module']));
$flag = 0;
if (!empty($cards)) {
foreach ($cards as $temp) {
$temp['date_info'] = iunserializer($temp['date_info']);
if ($temp['date_info']['time_type'] == 1) {
$starttime = strtotime($temp['date_info']['time_limit_start']);
$endtime = strtotime($temp['date_info']['time_limit_end']);
if (TIMESTAMP < $starttime || TIMESTAMP > $endtime) {
continue;
} else {
$param = array(':acid' => $_W['acid'], ':openid' => $_W['openid'], ':card_id' => $temp['card_id']);
$num = pdo_fetchcolumn('SELECT COUNT(*) FROM ' . tablename('coupon_record') . ' WHERE acid = :acid AND openid = :openid AND card_id = :card_id AND status = 1', $param);
if ($num <= 0) {
continue;
} else {
$flag = 1;
$card = $temp;
break;
}
}
} else {
$deadline = intval($temp['date_info']['deadline']);
$limit = intval($temp['date_info']['limit']);
$param = array(':acid' => $_W['acid'], ':openid' => $_W['openid'], ':card_id' => $temp['card_id']);
$record = pdo_fetchall('SELECT addtime,id,code FROM ' . tablename('coupon_record') . ' WHERE acid = :acid AND openid = :openid AND card_id = :card_id AND status = 1', $param);
if (!empty($record)) {
foreach ($record as $li) {
$time = strtotime(date('Y-m-d', $li['addtime']));
$starttime = $time + $deadline * 86400;
$endtime = $time + $deadline * 86400 + $limit * 86400;
if (TIMESTAMP < $starttime || TIMESTAMP > $endtime) {
continue;
} else {
$flag = 1;
$card = $temp;
break;
}
}
}
if ($flag) {
break;
}
}
}
}
if ($flag) {
if ($card['type'] == 'discount') {
$you = 1;
$card['fee'] = sprintf("%.2f", $params['fee'] * ($card['extra'] / 100));
} elseif ($card['type'] == 'cash') {
$cash = iunserializer($card['extra']);
if ($params['fee'] >= $cash['least_cost']) {
$you = 1;
$card['fee'] = sprintf("%.2f", $params['fee'] - $cash['reduce_cost']);
}
}
load()->classs('coupon');
$acc = new coupon($_W['acid']);
$card_id = $card['card_id'];
$time = TIMESTAMP;
$randstr = random(8);
$sign = array($card_id, $time, $randstr, $acc->account['key']);
$signature = $acc->SignatureCard($sign);
if (is_error($signature)) {
$you = 0;
}
}
}
}
$we_you = 0;
if ($pay['card']['switch'] == 3) {
if (!empty($params['module'])) {
$cards = pdo_fetchall('SELECT a.id,a.couponid,b.type,b.title,b.discount,b.condition,b.starttime,b.endtime FROM ' . tablename('activity_coupon_modules') . ' AS a LEFT JOIN ' . tablename('activity_coupon') . ' AS b ON a.couponid = b.couponid WHERE a.uniacid = :uniacid AND a.module = :modu AND b.starttime <= :time AND b.endtime >= :time ORDER BY a.id DESC', array(':uniacid' => $_W['uniacid'], ':modu' => $params['module'], ':time' => TIMESTAMP));
if (!empty($cards) && $_W['member']['uid']) {
foreach ($cards as $card) {
$has = pdo_fetchcolumn('SELECT COUNT(*) FROM ' . tablename('activity_coupon_record') . ' WHERE uid = :uid AND uniacid = :aid AND couponid = :cid AND status = 1', array(':uid' => $_W['member']['uid'], ':aid' => $_W['uniacid'], ':cid' => $card['couponid']));
if ($has > 0) {
if ($card['type'] == '1') {
$we_you = 1;
$card['fee'] = sprintf("%.2f", $params['fee'] * $card['discount']);
break;
} elseif ($card['type'] == '2') {
if ($params['fee'] >= $cash['condition']) {
$we_you = 1;
$card['fee'] = sprintf("%.2f", $params['fee'] - $card['discount']);
break;
}
}
}
}
}
}
}
include $this->template('common/paycenter');
}