The boot.php had been cleared of most functions

This commit is contained in:
Michael 2021-11-04 20:29:59 +00:00
parent 4989d1fa99
commit 63da4a75e9
37 changed files with 279 additions and 401 deletions

View file

@ -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);

View file

@ -37,9 +37,15 @@ use Friendica\Util\Strings;
/**
* Base class for relay handling
* @see https://github.com/jaywink/social-relay
* @see https://wiki.diasporafoundation.org/Relay_servers_for_public_posts
*/
class Relay
{
const SCOPE_NONE = '';
const SCOPE_ALL = 'all';
const SCOPE_TAGS = 'tags';
/**
* Check if a post is wanted
*
@ -55,7 +61,7 @@ class Relay
$scope = $config->get('system', 'relay_scope');
if ($scope == SR_SCOPE_NONE) {
if ($scope == self::SCOPE_NONE) {
Logger::info('Server does not accept relay posts - rejected', ['network' => $network, 'url' => $url]);
return false;
}
@ -74,7 +80,7 @@ class Relay
$userTags = [];
$denyTags = [];
if ($scope == SR_SCOPE_TAGS) {
if ($scope == self::SCOPE_TAGS) {
$server_tags = $config->get('system', 'relay_server_tags');
$tagitems = explode(',', mb_strtolower($server_tags));
foreach ($tagitems as $tag) {
@ -119,7 +125,7 @@ class Relay
}
}
if ($scope == SR_SCOPE_ALL) {
if ($scope == self::SCOPE_ALL) {
Logger::info('Server accept all posts - accepted', ['network' => $network, 'url' => $url]);
return true;
}