Jump to content


Photo

Member feed block where born today pulling early


[attachment=38831:birthday.png]

This is a members feed block where born today is yes...

The block is cached for 60 minutes, and set to not display if there is no content. My timezone is CST, board default timezone is CST, the server timezone is EST (It's in Orlando).

I don't know exactly when it pulled the data and populated the block... That time is just when I noticed it... I can understand caching keeping it present for a little longer, that's fine... But it shouldn't be pulling early...

I just keep having all of these relative date issues. :(

Status: Fixed
Version: 2.3.1
Fixed In: 2.3.2


5 Comments

This is pretty difficult to reproduce as you can imagine. If you want to test a potential patch,

admin/applications/members/extensions/content/feed_blocks/members.php

Find
if( $config['filters']['filter_bday_day'] )
                {
                    $_whereMembers[]    = "m.bday_day=" . date('j') . " AND m.bday_month=" . date('n');
                }
        
                if( $config['filters']['filter_bday_mon'] )
                {
                    $_whereMembers[]    = "m.bday_month=" . date('n');
                }

change to

if( $config['filters']['filter_bday_day'] )
                {
                    $_whereMembers[]    = "m.bday_day=" . date('j', IPS_UNIX_TIME_NOW + $this->registry->class_localization->getTimeOffset() ) . " AND m.bday_month=" . date('n', IPS_UNIX_TIME_NOW + $this->registry->class_localization->getTimeOffset() );
                }
        
                if( $config['filters']['filter_bday_mon'] )
                {
                    $_whereMembers[]    = "m.bday_month=" . date('n', IPS_UNIX_TIME_NOW + $this->registry->class_localization->getTimeOffset() );
                }

That should apply your local (or, for guests, the board default) time zone offset to the current time when determining what day/month it is for this purpose.

If you test the patch, let me know if it resolves the issue for you.
Oh, I know how irritating it is to reproduce this.

Applying the patch now... I'll set up a test account with a birthday tomorrow and let you know what I find this evening.
Patch tested and confirmed it works... Switched from 4/18 to 4/19 birthday members right @ midnight for my set timezone...

Did some further testing too... Changed my timezone back a couple hours to make it 'yesterday' again and it switched back to 4/18 members as it should.

Thanks Brandon!
Thanks for confirming :)
Great, and yes thanks for confirming. :)