Try this code in iaddressbook/functions/module_birthday.php, line 30, to fix end-of-year bug:
$sql = "SELECT * FROM ".$db_config['dbtable_ab']. $sql .= " WHERE ((MONTH(birthdate) = MONTH(NOW()) OR MONTH(birthdate) = MONTH(NOW()) + 1) AND MONTH(NOW()) != 12)"; $sql .= " OR ((MONTH(birthdate) = 12 OR MONTH(birthdate) = 1) AND MONTH(NOW()) = 12)"; $sql .= " ORDER BY DAYOFYEAR(birthdate) ASC LIMIT 100";
This code exports LDIF to Mozilla Thunderbird, in a format which uses names, instead of numbers.
iaddressbook/functions/module_ldif.php line 85:
$line[] .= rtrim('dn: cn='. ldif_escape($contact->firstname).' '.ldif_escape($contact->lastname).', mail='.ldif_escape($workMail)); // $line[] .= rtrim('dn: cn='. ldif_escape($contact->id).', '.$base, ", "); $line[] .= 'objectClass: inetOrgPerson'; $line[] .= 'objectClass: person'; $line[] .= 'objectClass: top'; $line[] .= 'cn: '.ldif_escape($contact->firstname).' '.ldif_escape($contact->lastname); // $line[] .= 'cn: '. ldif_escape($contact->name()); // $line[] .= 'cn: '. ldif_escape($contact->id);