X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-cash_coupon.php;h=7718abc36c28129a9caedd600ecc945f5b372ca2;hb=8202991f32bfb2056e94a11746c0b5308fe4a273;hp=2984ec788dcf755dd9cdcc11c4fc297514455573;hpb=1410e014d23f244e73d3a7916a61c2473416bab9;p=mailer.git diff --git a/inc/modules/member/what-cash_coupon.php b/inc/modules/member/what-cash_coupon.php index 2984ec788d..7718abc36c 100644 --- a/inc/modules/member/what-cash_coupon.php +++ b/inc/modules/member/what-cash_coupon.php @@ -1,7 +1,7 @@ UNIX_TIMESTAMP() +LIMIT 1", + array( + postRequestElement('coupon_code'), + getMemberId() + ), __FILE__, __LINE__); + + // Do we have an entry? + if (SQL_NUMROWS($result) == 1) { + // Load data + $content = SQL_FETCHARRAY($result); + + // Run pre-filter + $content = runFilterChain('pre_cash_coupon', $content); + + // Mark it as "cashed" + SQL_QUERY_ESC("UPDATE + `{?_MYSQL_PREFIX?}_user_coupons` +SET + `cashed_on`=NOW(), + `coupon_code`=NULL +WHERE + `coupon_code`='%s' AND + `userid`=%s +LIMIT 1", + array( + postRequestElement('coupon_code'), + getMemberId() + ), __FILE__, __LINE__); + + // Does it work? + if (SQL_HASZEROAFFECTED()) { + // Abort it here, it always must work + debug_report_bug(__FILE__, __LINE__, 'User coupon cannot be updated! coupon_id=' . $content['coupon_id']); + } // END - if + + // Update count as well + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_coupon_data` SET `total_cashed`=`total_cashed`+1 WHERE `id`=%s AND `total_cashed` < `total_created` LIMIT 1", + array(bigintval($content['coupon_id'])), __FILE__, __LINE__); + + // Does it work? + if (SQL_HASZEROAFFECTED()) { + // Abort it here, it always must work + debug_report_bug(__FILE__, __LINE__, 'Coupon data cannot be updated! coupon_id=' . $content['coupon_id']); + } // END - if + + // Run post filter chain + $content = runFilterChain('post_cash_coupon', $content); + + // Display message + displayMessage('{%message,MEMBER_COUPON_CODE_CASHED=' . $content['points'] . '%}'); + } else { + // No coupon found + displayMessage('{--MEMBER_COUPON_CODE_ALREADY_CASHED--}'); + } + + // Free the result + SQL_FREERESULT($result); + } else { + // No code entered! + displayMessage('{--MEMBER_COUPON_CODE_EMPTY--}'); + } +} elseif (isFormSent('change')) { + // Change receive status, depending on its current state + if (isUserDataEnabled('receiving_coupons')) { + // Unsubscribe from coupons + $message = '{--MEMBER_COUPON_RECEIVE_STATUS_UNSUBSCRIBED--}'; + $newStatus = 'N'; + } else { + // Subscribe to coupons + $message = '{--MEMBER_COUPON_RECEIVE_STATUS_SUBSCRIBED--}'; + $newStatus = 'Y'; + } + + // And change it in the database + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `receiving_coupons`='%s' WHERE `userid`=%s LIMIT 1", + array($newStatus, getMemberId()), __FILE__, __LINE__); + + // Did something change? + if (!SQL_HASZEROAFFECTED()) { + // Records have been updated + displayMessage($message); + } else { + // Nothing changed! + displayMessage('{--MEMBER_COUPON_RECEIVE_STATUS_UNCHANGED--}'); + } } else { // Load form template loadTemplate('member_cash_coupon', false);