UNIX_TIMESTAMP() LIMIT 1", array( postRequestParameter('coupon_code'), getMemberId() ), __FILE__, __LINE__); // Do we have an entry? if (SQL_NUMROWS($result) == 1) { // Load data $content = SQL_FETCHARRAY($result); // 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( postRequestParameter('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 // Now we just need to book that points on the user's account addPointsThroughReferalSystem('coupon_cashed', getMemberId(), $content['points'], false, 0, getPaymentMethodFromExtensionName('coupon')); // Subtract points from member account if the admin has selected one if (isValidUserId(getConfig('coupon_userid'))) { // Subtract from this account subtractPoints('cashed_coupon', getConfig('coupon_userid'), $content['points']); } // END - if // Translate some data $content['coupon_expired'] = generateDateTime($content['coupon_expired'], '0'); $content['coupon_created'] = generateDateTime($content['coupon_created'], '0'); // Send admin notification sendAdminNotification('{--ADMIN_COUPON_CASHED_SUBJECT--}', 'admin_coupon_cashed', $content, getMemberId()); // 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); } // [EOF] ?>