diff --git a/upload/source/class/table/table_common_card.php b/upload/source/class/table/table_common_card.php index 343108fb1dbacd4b7ae2aab1559ceb5b35646424..4aa0e4a134c57f1bb54f8fd5a8080581f84a9f24 100644 --- a/upload/source/class/table/table_common_card.php +++ b/upload/source/class/table/table_common_card.php @@ -40,6 +40,12 @@ class table_common_card extends discuz_table public function update_to_overdue($timestamp) { return ($timestamp = dintval($timestamp)) ? DB::query('UPDATE '.DB::table('common_card')." SET status = 9 WHERE status = '1' AND cleardateline <= '$timestamp'") : false; } + + public function update_to_used($id) { + global $_G; + return DB::query('UPDATE '.DB::table('common_card')." SET status = '2', uid = '".$_G['uid']."', useddateline = '".$_G['timestamp']."' WHERE id = '".daddslashes($id)."' AND status = '1'"); + } + } ?> \ No newline at end of file diff --git a/upload/source/include/spacecp/spacecp_credit_base.php b/upload/source/include/spacecp/spacecp_credit_base.php index 7f897e51c56f805af92aa0a13e817b1b8e5fa038..f927cb740363193f2a0f4b2d677ffda06911cf85 100644 --- a/upload/source/include/spacecp/spacecp_credit_base.php +++ b/upload/source/include/spacecp/spacecp_credit_base.php @@ -104,9 +104,12 @@ if($_GET['op'] == 'base') { if($card['cleardateline'] < TIMESTAMP) { showmessage('memcp_credits_card_msg_cleardateline_early', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true)); } - C::t('common_card')->update($card['id'], array('status' => 2, 'uid' => $_G['uid'], 'useddateline' => $_G['timestamp'])); - updatemembercount($_G[uid], array($card['extcreditskey'] => $card['extcreditsval']), true, 'CDC', 1); - showmessage('memcp_credits_card_msg_succeed', 'home.php?mod=spacecp&ac=credit&op=base', array('extcreditstitle' => $_G['setting']['extcredits'][$card['extcreditskey']]['title'], 'extcreditsval' => $card['extcreditsval']), array('showdialog' => 1, 'alert' => 'right', 'showmsg' => true, 'locationtime' => true)); + if(C::t('common_card')->update_to_used($card['id'])) { + updatemembercount($_G[uid], array($card['extcreditskey'] => $card['extcreditsval']), true, 'CDC', 1); + showmessage('memcp_credits_card_msg_succeed', 'home.php?mod=spacecp&ac=credit&op=base', array('extcreditstitle' => $_G['setting']['extcredits'][$card['extcreditskey']]['title'], 'extcreditsval' => $card['extcreditsval']), array('showdialog' => 1, 'alert' => 'right', 'showmsg' => true, 'locationtime' => true)); + } else { + showmessage('memcp_credits_card_msg_used', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true)); + } } } else { $amount = intval($_GET['addfundamount']); @@ -153,8 +156,8 @@ if($_GET['op'] == 'base') { dexit(); } } else { - if($_G['setting']['card']['open'] && $_G['setting']['seccodestatus'] & 16) { - $seccodecheck = 1; + if($_G['setting']['card']['open']) { + list($seccodecheck) = seccheck('card'); $secqaacheck = 0; } }