if (SQL_NUMROWS($result_birthday) > 0) {
// Start sending out birthday mails
- while (list($uid, $email, $byear) = SQL_FETCHROW($result_birthday)) {
+ while ($content = SQL_FETCHARRAY($result_birthday)) {
// Calculate own timestamp for birthday and today
- $BD = $byear + 12 * $MONTH + 365 * $DAY;
+ $BD = $content['birth_year'] + 12 * $MONTH + 365 * $DAY;
$NOW = $YEAR + 12 * $MONTH + 365 * $DAY;
// Simply subtract both values and you got the age... :)
$AGE = $NOW - $BD;
if (getConfig('birthday_points') > 0) {
- // Prepare array for loading template
- $content = array(
- 'age' => $AGE,
- 'points' => TRANSLATE_COMMA(getConfig('birthday_points')),
- 'check' => "",
- );
+ // Add more entries to the array
+ $content['age'] = $AGE;
+ $content['points'] = TRANSLATE_COMMA(getConfig('birthday_points'));
+ $content['check'] = "";
+ // @TODO 4 is hard-coded here, should we move it out in config?
for ($idx = 0; $idx < 4; $idx++) {
- $content['check'] .= generateRandomCodde("8", mt_rand(0, "$MONTH$DAY"), $uid, ($AGE*($idx+1)));
+ $content['check'] .= generateRandomCodde("8", mt_rand(0, "$MONTH$DAY"), $content['userid'], ($AGE*($idx+1)));
}
// Insert row into database
SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_user_birthday` (userid, points, chk_value) VALUES ('%s','%s','%s' )",
- array(bigintval($uid), getConfig('birthday_points'), $content['check']), __FILE__, __LINE__);
+ array(bigintval($content['userid']), getConfig('birthday_points'), $content['check']), __FILE__, __LINE__);
// Load email template with confirmation link
- $msg = LOAD_EMAIL_TEMPLATE("member_birthday_confirm", $content, bigintval($uid));
+ $msg = LOAD_EMAIL_TEMPLATE("member_birthday_confirm", $content, bigintval($content['userid']));
} else {
// Load default email template and fill in the age
- $msg = LOAD_EMAIL_TEMPLATE("member_birthday", $AGE, $uid);
+ $msg = LOAD_EMAIL_TEMPLATE("member_birthday", $AGE, $content['userid']);
}
// Send email
- SEND_EMAIL($uid, HAPPY_BIRTHDAY, $msg);
+ SEND_EMAIL($content['email'], getMessage('HAPPY_BIRTHDAY'), $msg);
// Remember him that he has received a birthday mail
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET birthday_sent=UNIX_TIMESTAMP() WHERE userid=%s LIMIT 1",
- array(bigintval($uid)), __FILE__, __LINE__);
- }
+ array(bigintval($content['userid'])), __FILE__, __LINE__);
+ } // END - while
// Free memory
SQL_FREERESULT($result);