aboutsummaryrefslogtreecommitdiffstats
path: root/boot.php
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2011-02-06 22:41:07 -0800
committerFriendika <info@friendika.com>2011-02-06 22:41:07 -0800
commit0d9ed4873801a669ff9530a5fa434252a1be2a57 (patch)
tree92cd1941a1d21f334c1dccc474834994f0c539c7 /boot.php
parentb96d6c015b8090ee2ec56f320821fe962f821c6f (diff)
downloadvolse-hubzilla-0d9ed4873801a669ff9530a5fa434252a1be2a57.tar.gz
volse-hubzilla-0d9ed4873801a669ff9530a5fa434252a1be2a57.tar.bz2
volse-hubzilla-0d9ed4873801a669ff9530a5fa434252a1be2a57.zip
functionise birthday
Diffstat (limited to 'boot.php')
-rw-r--r--boot.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/boot.php b/boot.php
index 5327688dd..4dcd6db66 100644
--- a/boot.php
+++ b/boot.php
@@ -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