XF 2.0 Todays birthday list empty

jOOc

Active member
I have imported my forum from vBulletin a few month ago and just noticed that my "today birthday" list was empty.
I see in the database that the dob_ keys are populated. If I look at users I know have a birthday today I see the date is populated in the user information.

Do I need to do anything manually to update the cache or what can be the issue?
 

Chris D

XenForo developer
Staff member
In the xf_user_profile table, what values do those users have for show_dob_date and show_dob_year?

If show_dob_date is 0 for these users, then it won't show their birthday. Worth checking if all users have that set to 0 or if some have it set to 1. If some have it set to 1 then we must have imported that based on some equivalent option in vBulletin.

If they're all set to 0, then it could well be intentional as it may mean there's no equivalent option in vB. Or perhaps if they're all set to 0 and that is unexpected, there could be a bug.

Was the import done via XF1 then upgraded to XF2 or just straight import into XF2?

EDIT: In the vBulletin to XF2 importer it seems we do attempt to handle an equivalent option in VB:
PHP:
switch ($user['showbirthday'])
{
   case 0:
      $import->show_dob_year = 0;
      $import->show_dob_date = 0;
      break;
   case 1:
      $import->show_dob_year = 1;
      $import->show_dob_date = 0;
      break;
   case 2:
      $import->show_dob_year = 1;
      $import->show_dob_date = 1;
      break;
   case 3:
      $import->show_dob_year = 0;
      $import->show_dob_date = 1;
      break;
}
If you still have your VB database it might be worth trying to figure out whether the values in the showbirthday field tally with what has been imported to xF.
 

jOOc

Active member
In the xf_user_profile table, what values do those users have for show_dob_date and show_dob_year?
Those values are not in the xf_user_profile table, I see them in the xf_user_option table, and they is set to 1.
In the xf_user_profile table I see the dob_day/month/year columns.

Was the import done via XF1 then upgraded to XF2 or just straight import into XF2?
It was done via XF1 and then upgraded to XF2
 

jOOc

Active member
I created a new user with todays birthday and now after a while it showed up.
But I still dont see the other ones.
Can it be a cron/cache issue?
 

Chris D

XenForo developer
Staff member
There is a cache involved but I’m not sure why it would show only that one user.

You can switch the cache off under Admin > Users > Member statistics > Today’s birthdays

Uncheck the cache checkbox and see if that helps.

Which version of XF2 are you running?
 

Chris D

XenForo developer
Staff member
Is this forum available somewhere that I can access? And can you enable debug mode temporarily, and keep the cache off for a bit?

If the forum needs any sort of username and password to access it, or the URL is private, please submit a ticket with the details and I'll take a look.
 

jOOc

Active member
I did a test to a user with the birtday today.
I changed the last login for that user to today and after that the user shows up on todays birthday list.

Update: And when I changed it back to the value it had the user disappeared from the list again.
 
Last edited:

Chris D

XenForo developer
Staff member
I replied to your ticket over an hour ago.
I just remembered an important detail - have the other birthday users been active within the last six months?

It looks like we put a limit on this so that only users who have been recently active on the forum are shown there.
 

jOOc

Active member
Is there a easy way to change this?
Maybe have this in an option.

I just figured if a user is inactive for more then 6 month and then his/hers birthday is coming up and people starts to congratulates them maybe they get a notice and encourage them to returns back to the forum :D
 

Chris D

XenForo developer
Staff member
Well something I had been considering is having recently active in this context be 365 days rather than 180.

So in that case, any user who hasn’t visited since their last birthday wouldn’t show. Maybe that’s a reasonable compromise.

I think there’s a suggestion to have this value generally configurable. We use the same period of 180 days for other things too, such as user auto complete such as when you mention a user in a post, but changing it to 365 just for this context might be reasonable.
 
Top