diff options
author | Friendika <info@friendika.com> | 2011-02-06 22:41:07 -0800 |
---|---|---|
committer | Friendika <info@friendika.com> | 2011-02-06 22:41:07 -0800 |
commit | 0d9ed4873801a669ff9530a5fa434252a1be2a57 (patch) | |
tree | 92cd1941a1d21f334c1dccc474834994f0c539c7 /boot.php | |
parent | b96d6c015b8090ee2ec56f320821fe962f821c6f (diff) | |
download | volse-hubzilla-0d9ed4873801a669ff9530a5fa434252a1be2a57.tar.gz volse-hubzilla-0d9ed4873801a669ff9530a5fa434252a1be2a57.tar.bz2 volse-hubzilla-0d9ed4873801a669ff9530a5fa434252a1be2a57.zip |
functionise birthday
Diffstat (limited to 'boot.php')
-rw-r--r-- | boot.php | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -2323,3 +2323,46 @@ function current_theme_url() { }} +if(! function_exists('feed_birthday')) { +function feed_birthday($uid,$tz) { + + /** + * + * Determine the next birthday, but only if the birthday is published + * in the default profile. We _could_ also look for a private profile that the + * recipient can see, but somebody could get mad at us if they start getting + * public birthday greetings when they haven't made this info public. + * + * Assuming we are able to publish this info, we are then going to convert + * the start time from the owner's timezone to UTC. + * + * This will potentially solve the problem found with some social networks + * where birthdays are converted to the viewer's timezone and salutations from + * elsewhere in the world show up on the wrong day. We will convert it to the + * viewer's timezone also, but first we are going to convert it from the birthday + * person's timezone to GMT - so the viewer may find the birthday starting at + * 6:00PM the day before, but that will correspond to midnight to the birthday person. + * + */ + + $birthday = ''; + + $p = q("SELECT `dob` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1", + intval($uid) + ); + + if($p && count($p)) { + $tmp_dob = substr($p[0]['dob'],5); + if(intval($tmp_dob)) { + $y = datetime_convert($tz,$tz,'now','Y'); + $bd = $y . '-' . $tmp_dob . ' 00:00'; + $t_dob = strtotime($bd); + $now = strtotime(datetime_convert($tz,$tz,'now')); + if($t_dob < $now) + $bd = $y + 1 . '-' . $tmp_dob . ' 00:00'; + $birthday = datetime_convert($tz,'UTC',$bd,ATOM_TIME); + } + } + + return $birthday; +}}
\ No newline at end of file |