In the function function _get_upcoming_birthdays there are 2 database quieries that are not properly written and will fail if you have prefixed tables in your database. This will cause the module to not produce any output and appear as if it is not doing anything. The simple fix is to modify the two quiries as follows (in order of theri appearance in the function):

$query = 'SELECT d.uid, u.name, substring(birthday,6,2) as `month`, right(birthday, 2) as `day`';
$query .= 'FROM {dob} d, {users} u WHERE u.uid = d.uid AND DAYOFYEAR(birthday) >= DAYOFYEAR(curdate())';
$query .= 'order by month, day limit 0,' . $limit;

$query = 'SELECT d.uid, u.name, substring(birthday,6,2) as `month`, right(birthday, 2) as `day`';
$query .= 'FROM {dob} d, {users} u WHERE u.uid = d.uid AND DAYOFYEAR(birthday) >= 0 ';
$query .= 'order by month, day limit 0,' . ($limit - db_num_rows($result));

Comments

maartenvg’s picture

Status: Needs review » Fixed
Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.