mirror of
https://github.com/friendica/friendica
synced 2025-04-22 11:10:11 +00:00
The boot.php had been cleared of most functions
This commit is contained in:
parent
4989d1fa99
commit
63da4a75e9
37 changed files with 279 additions and 401 deletions
|
@ -413,6 +413,48 @@ class DFRN
|
|||
return $root;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
private static function determineNextBirthday($uid, $tz)
|
||||
{
|
||||
$birthday = '';
|
||||
|
||||
if (!strlen($tz)) {
|
||||
$tz = 'UTC';
|
||||
}
|
||||
|
||||
$profile = DBA::selectFirst('profile', ['dob'], ['uid' => $uid]);
|
||||
if (DBA::isResult($profile)) {
|
||||
$tmp_dob = substr($profile['dob'], 5);
|
||||
if (intval($tmp_dob)) {
|
||||
$y = DateTimeFormat::timezoneNow($tz, 'Y');
|
||||
$bd = $y . '-' . $tmp_dob . ' 00:00';
|
||||
$t_dob = strtotime($bd);
|
||||
$now = strtotime(DateTimeFormat::timezoneNow($tz));
|
||||
if ($t_dob < $now) {
|
||||
$bd = $y + 1 . '-' . $tmp_dob . ' 00:00';
|
||||
}
|
||||
$birthday = DateTimeFormat::convert($bd, 'UTC', $tz, DateTimeFormat::ATOM);
|
||||
}
|
||||
}
|
||||
|
||||
return $birthday;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the author element in the header for the DFRN protocol
|
||||
*
|
||||
|
@ -467,7 +509,7 @@ class DFRN
|
|||
return $author;
|
||||
}
|
||||
|
||||
$birthday = feed_birthday($owner['uid'], $owner['timezone']);
|
||||
$birthday = self::determineNextBirthday($owner['uid'], $owner['timezone']);
|
||||
|
||||
if ($birthday) {
|
||||
XML::addElement($doc, $author, "dfrn:birthday", $birthday);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue