return false;
}
+ $fetched_contact = false;
+
if (empty($update)) {
if (is_null($update)) {
$ref_update = DateTimeFormat::utc('now - 1 month');
if (!is_null($update)) {
return DBA::isResult($apcontact) ? $apcontact : false;
}
+
+ if (DBA::isResult($apcontact)) {
+ $fetched_contact = $apcontact;
+ }
}
if (empty(parse_url($url, PHP_URL_SCHEME))) {
$url = self::addrToUrl($url);
if (empty($url)) {
- return false;
+ return $fetched_contact;
}
}
$data = ActivityPub::fetchContent($url);
if (empty($data)) {
- return false;
+ return $fetched_contact;
}
$compacted = JsonLD::compact($data);
if (empty($compacted['@id'])) {
- return false;
+ return $fetched_contact;
}
$apcontact = [];
// Quit if none of the basic values are set
if (empty($apcontact['url']) || empty($apcontact['inbox']) || empty($apcontact['type'])) {
- return false;
+ return $fetched_contact;
}
// Quit if this doesn't seem to be an account at all
if (!in_array($apcontact['type'], ActivityPub::ACCOUNT_TYPES)) {
- return false;
+ return $fetched_contact;
}
$parts = parse_url($apcontact['url']);
public static function sendActivity($activity, $target, $uid, $id = '')
{
$profile = APContact::getByURL($target);
+ if (empty($profile['inbox'])) {
+ Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]);
+ return;
+ }
$owner = User::getOwnerDataById($uid);
public static function sendFollowObject($object, $target, $uid = 0)
{
$profile = APContact::getByURL($target);
+ if (empty($profile['inbox'])) {
+ Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]);
+ return;
+ }
if (empty($uid)) {
// Fetch the list of administrators
public static function sendContactAccept($target, $id, $uid)
{
$profile = APContact::getByURL($target);
+ if (empty($profile['inbox'])) {
+ Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]);
+ return;
+ }
$owner = User::getOwnerDataById($uid);
$data = ['@context' => ActivityPub::CONTEXT,
public static function sendContactReject($target, $id, $uid)
{
$profile = APContact::getByURL($target);
+ if (empty($profile['inbox'])) {
+ Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]);
+ return;
+ }
$owner = User::getOwnerDataById($uid);
$data = ['@context' => ActivityPub::CONTEXT,
public static function sendContactUndo($target, $cid, $uid)
{
$profile = APContact::getByURL($target);
+ if (empty($profile['inbox'])) {
+ Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]);
+ return;
+ }
$object_id = self::activityIDFromContact($cid);
if (empty($object_id)) {