From 0fdab4ed10af43d25a8a4a8f1d7d0fd9f9d18eaa Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 23 Jan 2019 21:54:20 +0000 Subject: [PATCH] Fix for several fatal errors --- src/Content/OEmbed.php | 6 ++---- src/Content/Widget/ContactBlock.php | 6 +++--- src/Module/Inbox.php | 1 + src/Protocol/DFRN.php | 6 +++--- src/Protocol/OStatus.php | 4 ++-- src/Worker/Notifier.php | 2 +- 6 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/Content/OEmbed.php b/src/Content/OEmbed.php index 7adff89086..0093ba11af 100644 --- a/src/Content/OEmbed.php +++ b/src/Content/OEmbed.php @@ -86,8 +86,7 @@ class OEmbed $redirects = 0; $html_text = Network::fetchUrl($embedurl, false, $redirects, 15, 'text/*'); if ($html_text) { - $dom = new DOMDocument(); - $dom->loadHTML($html_text); + $dom = @DOMDocument::loadHTML($html_text); if ($dom) { $xpath = new DOMXPath($dom); $entries = $xpath->query("//link[@type='application/json+oembed']"); @@ -275,8 +274,7 @@ class OEmbed $html_text = mb_convert_encoding($text, 'HTML-ENTITIES', mb_detect_encoding($text)); // If it doesn't parse at all, just return the text. - $dom = new DOMDocument(); - $dom->loadHTML($html_text); + $dom = @DOMDocument::loadHTML($html_text); if (!$dom) { return $text; } diff --git a/src/Content/Widget/ContactBlock.php b/src/Content/Widget/ContactBlock.php index 33f72af40e..fdc7a470f7 100644 --- a/src/Content/Widget/ContactBlock.php +++ b/src/Content/Widget/ContactBlock.php @@ -57,9 +57,9 @@ class ContactBlock $contacts_title = L10n::t('No contacts'); - if (!$total) { - $micropro = []; - } else { + $micropro = []; + + if ($total) { // Only show followed for personal accounts, followers for pages if (defaults($profile, 'account-type', User::ACCOUNT_TYPE_PERSON) == User::ACCOUNT_TYPE_PERSON) { $rel = [Contact::FOLLOWER, Contact::FRIEND]; diff --git a/src/Module/Inbox.php b/src/Module/Inbox.php index 8842c66bcb..c075dd6a63 100644 --- a/src/Module/Inbox.php +++ b/src/Module/Inbox.php @@ -10,6 +10,7 @@ use Friendica\Protocol\ActivityPub; use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\Util\HTTPSignature; +use Friendica\Core\Config; /** * ActivityPub Inbox diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index 5e6c733e21..52790d46dd 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -2512,7 +2512,7 @@ class DFRN } $notice_info = $xpath->query("statusnet:notice_info", $entry); - if ($notice_info && ($notice_info->length > 0)) { + if ($notice_info && ($notice_info->length > 0) && !empty($notice_info->item)) { foreach ($notice_info->item[0]->attributes as $attributes) { if ($attributes->name == "source") { $item["app"] = strip_tags($attributes->textContent); @@ -2588,7 +2588,7 @@ class DFRN $item['conversation-uri'] = XML::getFirstNodeValue($xpath, 'ostatus:conversation/text()', $entry); $conv = $xpath->query('ostatus:conversation', $entry); - if (is_object($conv->item[0])) { + if (!empty($conv->item[0])) { foreach ($conv->item[0]->attributes as $attributes) { if ($attributes->name == "ref") { $item['conversation-uri'] = $attributes->textContent; @@ -2603,7 +2603,7 @@ class DFRN $item["parent-uri"] = $item["uri"]; $inreplyto = $xpath->query("thr:in-reply-to", $entry); - if (is_object($inreplyto->item[0])) { + if (!empty($inreplyto->item[0])) { foreach ($inreplyto->item[0]->attributes as $attributes) { if ($attributes->name == "ref") { $item["parent-uri"] = $attributes->textContent; diff --git a/src/Protocol/OStatus.php b/src/Protocol/OStatus.php index b2d0004c06..051c0d6c8c 100644 --- a/src/Protocol/OStatus.php +++ b/src/Protocol/OStatus.php @@ -53,7 +53,7 @@ class OStatus * @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \ImagickException */ - private static function fetchAuthor(DOMXPath $xpath, $context, array $importer, array &$contact, $onlyfetch) + private static function fetchAuthor(DOMXPath $xpath, $context, array $importer, &$contact, $onlyfetch) { $author = []; $author["author-link"] = XML::getFirstNodeValue($xpath, 'atom:author/atom:uri/text()', $context); @@ -322,7 +322,7 @@ class OStatus * @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \ImagickException */ - private static function process($xml, array $importer, array &$contact, &$hub, $stored = false, $initialize = true) + private static function process($xml, array $importer, &$contact, &$hub, $stored = false, $initialize = true) { if ($initialize) { self::$itemlist = []; diff --git a/src/Worker/Notifier.php b/src/Worker/Notifier.php index 9e5430e8fa..ef4e882492 100644 --- a/src/Worker/Notifier.php +++ b/src/Worker/Notifier.php @@ -152,7 +152,7 @@ class Notifier if (!empty($target_item) && !empty($items)) { $parent = $items[0]; - $delivery_queue_count += self::activityPubDelivery($cmd, $target_item, $parent, $a->queue['priority'], $a->query_string['created']); + $delivery_queue_count += self::activityPubDelivery($cmd, $target_item, $parent, $a->queue['priority'], defaults($a->query_string, 'created', '')); $fields = ['network', 'author-id', 'owner-id']; $condition = ['uri' => $target_item["thr-parent"], 'uid' => $target_item["uid"]];