* -------------------------------------------------------------------- *
* Kurzbeschreibung : Versendet Geburtstagsmails beim Reset *
* -------------------------------------------------------------------- *
- * $Revision:: $ *
- * $Date:: $ *
- * $Tag:: 0.2.1-FINAL $ *
- * $Author:: $ *
- * -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team *
* For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
- // Do not execute when script is in CSS mode
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
+ // Do not execute when script is in non-HTML mode
return;
} elseif (!isExtensionActive('birthday')) {
// Extension not active/installed
- logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension ext-birthday disabled');
+ if (isDebugModeEnabled()) logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension ext-birthday disabled.');
return;
}
// Debug line
-//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Daily reset started');
+//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Daily reset started.');
// Get current day (01 to 31), month (01 to 12) and year (4-digits year)
$day = getDay();
$month = getMonth();
$year = getYear();
-// Init variable
+// Init variables
$lastOnline = '';
+$excludeSql = '';
// Shall I include only active members?
+// @TODO Move this out to an extension
if ((getConfig('birthday_active') == 'Y') && (isExtensionActive('autopurge')) && ((getApInactiveSince() > 0))) {
- $add = ' AND (UNIX_TIMESTAMP() - `last_online`) < {?ap_inactive_since?}';
+ $excludeSql = ' AND (UNIX_TIMESTAMP() - `d`.`last_online`) < {?ap_inactive_since?}';
} // END - if
// Only confirmed members shall receive birthday mails...
-$result_birthday = SQL_QUERY_ESC("SELECT
- `userid`,
- `email`,
- `birth_year`
+$result_birthday = sqlQueryEscaped("SELECT
+ `d`.`userid`,
+ `d`.`email`,
+ `d`.`birth_year`
FROM
- `{?_MYSQL_PREFIX?}_user_data`
+ `{?_MYSQL_PREFIX?}_user_data` AS `d`
WHERE
- `status`='CONFIRMED'
- " . runFilterChain('user_exclusion_sql', ' ') . " AND
- `birth_day`=%s AND
- `birth_month`=%s AND
- `birthday_sent` < (UNIX_TIMESTAMP() - ({?ONE_DAY?} * 364))
- ".$lastOnline."
+ `d`.`status`='CONFIRMED'
+ " . runFilterChain('user_exclusion_sql', ' ' . $excludeSql) . " AND
+ `d`.`birth_day`=%s AND
+ `d`.`birth_month`=%s AND
+ `d`.`birthday_sent` < (UNIX_TIMESTAMP() - ({?ONE_DAY?} * 364))
+ " . $lastOnline . "
ORDER BY
- `userid` ASC",
+ `d`.`userid` ASC",
array($day, $month), __FILE__, __LINE__);
-if (!SQL_HASZERONUMS($result_birthday)) {
+if (!ifSqlHasZeroNums($result_birthday)) {
// Start sending out birthday mails
- while ($content = SQL_FETCHARRAY($result_birthday)) {
+ while ($content = sqlFetchArray($result_birthday)) {
// Calculate own timestamp for birthday and today
$bd = $content['birth_year'] + 12 * $month + 365 * $day;
$now = $year + 12 * $month + 365 * $day;
$content['age'] = $age;
$content['check'] = '';
- // @TODO 4 is hard-coded here, should we move it out in config?
+ // Generate long random code
for ($idx = 0; $idx < 4; $idx++) {
$content['check'] .= generateRandomCode('8', mt_rand(0, $month . $day), $content['userid'], ($age * ($idx + 1)));
} // END - for
// Insert row into database
- SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_birthday` (`userid`, `points`, `chk_value`) VALUES (%s,{?birthday_points?},'%s' )",
+ sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_user_birthday` (`userid`, `points`, `chk_value`) VALUES (%s,{?birthday_points?},'%s' )",
array(
bigintval($content['userid']),
$content['check']
sendEmail($content['userid'], '{--MEMBER_HAPPY_BIRTHDAY_SUBJECT--}', $message);
// 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",
+ sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `birthday_sent`=UNIX_TIMESTAMP() WHERE `userid`=%s LIMIT 1",
array(bigintval($content['userid'])), __FILE__, __LINE__);
} // END - while
// Free memory
- SQL_FREERESULT($result_birthday);
+ sqlFreeResult($result_birthday);
} // END - if
// Debug line
-//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Daily reset ended');
+//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Daily reset ended.');
// [EOF]
?>