UPDATE: If the cache gets inadvertently cleared for some reason, shouldn't there be a check in the code that says if the cache value is NULL set to the current date? When I looked at my cache yesterday, the cell was empty. I assume that's because the cache was cleared. Your fix prevents the cache from being cleared, but if it were ever possible to set it to empty again, the problem would reoccur, would it not?
the cache item is the day number. the code checks if the day number in the table = the current day number of today.
- if it does match, then affected_rows() is 0. the birthday email is NOT sent.
- if it does not match, then affected_rows() is 1. the birthday email is sent.
a "no match" could be "2 vs 1" or "2 vs NULL". doesnt matter. if the data gets updated from what it was before, that is a "no match."
the fix in my post above, requires that both files be updated.
/admin/doclearcache.php is when an admin manually clears the forum cache.
/scripts/mycookies.inc.php covers for when you have your forum in debugging mode and are actively attempting to troubleshoot a problem either as a user or as a guest account. with debugging enabled, it displays to everyone; certain aspects of your server, code, your database name, database username, and any table name that failed connecting to. certain other aspects such as bypassing cache are also performed when debugging is enabled. for security and overall forum performance, it should remain off unless you are actively troubleshooting an issue.