0) { // Convert timestamp selections $expirationTime = time() + createEpocheTimeFromSelections('coupon_default_time', postRequestArray()); // Insert coupon data SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_coupon_data` (`coupon_expired`,`total_created`,`points`,`coupon_description`) VALUES ('{%%pipe,SQL_EPOCHE_TO_TIMESTAMP=%s%%}', %s,%s,'%s')", array( $expirationTime, SQL_NUMROWS($result), bigintval(postRequestParameter('points')), postRequestParameter('coupon_description') ), __FILE__, __LINE__ ); // Get the insert id from the table $couponId = SQL_INSERTID(); // Load entry while (list($userid) = SQL_FETCHROW($result)) { // By default no code is unique $isUnique = false; $couponCode = ''; // Look for a unique id while (!$isUnique) { /** * Add a coupon for this user, first we need to create a * table-unique "id". The function generatePassword() can do * this job for us but we want to exclude some characters. */ $couponCode = generatePassword(30, array('-','+','_','/','.')); // Is it really unique? $isUnique = (countSumTotalData($couponCode, 'user_coupons', 'id', 'coupon_code', true) == 0); } // END - while // The above loop should always set $couponCode, so we can now insert it SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_coupons` (`coupon_id`,`userid`,`coupon_code`) VALUES (%s,%s,'%s')", array($couponId, $userid, $couponCode), __FILE__, __LINE__); // Fill array with all required data $content = array( 'coupon_id' => $couponId, 'userid' => $userid, 'points' => bigintval(postRequestParameter('points')), 'coupon_code' => $couponCode, 'coupon_expired' => generateDateTime($expirationTime, '0') ); // Load member email template $mailText = loadEmailTemplate('member_coupon_code', $content, $userid); // And deliver it sendEmail($userid, '{--MEMBER_COUPON_SUBJECT--}', $mailText); // Rember this user for the admin email $adminUserids[] = $userid; } // END - while // Prepare content for template $content = array( 'userids' => implode(',', $adminUserids), 'userid_count' => count($adminUserids), 'coupon_id' => $couponId, 'points' => bigintval(postRequestParameter('points')), 'coupon_description' => postRequestParameter('coupon_description'), 'coupon_expired' => generateDateTime($expirationTime, '0') ); // Send admin notification sendAdminNotification('{--ADMIN_COUPON_SUBJECT--}', 'admin_coupon_code', $content); // Coupon has been sent displayMessage('{--ADMIN_SEND_COUPON_DONE--}'); } else { // No user was found displayMessage('{--ADMIN_SEND_COUPON_USER_404--}'); } // Free result SQL_FREERESULT($result); } } else { // Prepare some template data $content['coupon_default_time_selection'] = createConfigurationTimeSelections('coupon_default_time', 'WDh'); // Load template loadTemplate('admin_send_coupon', false, $content); } // [EOF] ?>