Fix for several fatal errors

This commit is contained in:
Michael 2019-01-23 21:54:20 +00:00
parent 08da1ed038
commit 0fdab4ed10
6 changed files with 12 additions and 13 deletions

View file

@ -86,8 +86,7 @@ class OEmbed
$redirects = 0; $redirects = 0;
$html_text = Network::fetchUrl($embedurl, false, $redirects, 15, 'text/*'); $html_text = Network::fetchUrl($embedurl, false, $redirects, 15, 'text/*');
if ($html_text) { if ($html_text) {
$dom = new DOMDocument(); $dom = @DOMDocument::loadHTML($html_text);
$dom->loadHTML($html_text);
if ($dom) { if ($dom) {
$xpath = new DOMXPath($dom); $xpath = new DOMXPath($dom);
$entries = $xpath->query("//link[@type='application/json+oembed']"); $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)); $html_text = mb_convert_encoding($text, 'HTML-ENTITIES', mb_detect_encoding($text));
// If it doesn't parse at all, just return the text. // If it doesn't parse at all, just return the text.
$dom = new DOMDocument(); $dom = @DOMDocument::loadHTML($html_text);
$dom->loadHTML($html_text);
if (!$dom) { if (!$dom) {
return $text; return $text;
} }

View file

@ -57,9 +57,9 @@ class ContactBlock
$contacts_title = L10n::t('No contacts'); $contacts_title = L10n::t('No contacts');
if (!$total) { $micropro = [];
$micropro = [];
} else { if ($total) {
// Only show followed for personal accounts, followers for pages // Only show followed for personal accounts, followers for pages
if (defaults($profile, 'account-type', User::ACCOUNT_TYPE_PERSON) == User::ACCOUNT_TYPE_PERSON) { if (defaults($profile, 'account-type', User::ACCOUNT_TYPE_PERSON) == User::ACCOUNT_TYPE_PERSON) {
$rel = [Contact::FOLLOWER, Contact::FRIEND]; $rel = [Contact::FOLLOWER, Contact::FRIEND];

View file

@ -10,6 +10,7 @@ use Friendica\Protocol\ActivityPub;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\Util\HTTPSignature; use Friendica\Util\HTTPSignature;
use Friendica\Core\Config;
/** /**
* ActivityPub Inbox * ActivityPub Inbox

View file

@ -2512,7 +2512,7 @@ class DFRN
} }
$notice_info = $xpath->query("statusnet:notice_info", $entry); $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) { foreach ($notice_info->item[0]->attributes as $attributes) {
if ($attributes->name == "source") { if ($attributes->name == "source") {
$item["app"] = strip_tags($attributes->textContent); $item["app"] = strip_tags($attributes->textContent);
@ -2588,7 +2588,7 @@ class DFRN
$item['conversation-uri'] = XML::getFirstNodeValue($xpath, 'ostatus:conversation/text()', $entry); $item['conversation-uri'] = XML::getFirstNodeValue($xpath, 'ostatus:conversation/text()', $entry);
$conv = $xpath->query('ostatus:conversation', $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) { foreach ($conv->item[0]->attributes as $attributes) {
if ($attributes->name == "ref") { if ($attributes->name == "ref") {
$item['conversation-uri'] = $attributes->textContent; $item['conversation-uri'] = $attributes->textContent;
@ -2603,7 +2603,7 @@ class DFRN
$item["parent-uri"] = $item["uri"]; $item["parent-uri"] = $item["uri"];
$inreplyto = $xpath->query("thr:in-reply-to", $entry); $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) { foreach ($inreplyto->item[0]->attributes as $attributes) {
if ($attributes->name == "ref") { if ($attributes->name == "ref") {
$item["parent-uri"] = $attributes->textContent; $item["parent-uri"] = $attributes->textContent;

View file

@ -53,7 +53,7 @@ class OStatus
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @throws \ImagickException * @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["author-link"] = XML::getFirstNodeValue($xpath, 'atom:author/atom:uri/text()', $context); $author["author-link"] = XML::getFirstNodeValue($xpath, 'atom:author/atom:uri/text()', $context);
@ -322,7 +322,7 @@ class OStatus
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @throws \ImagickException * @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) { if ($initialize) {
self::$itemlist = []; self::$itemlist = [];

View file

@ -152,7 +152,7 @@ class Notifier
if (!empty($target_item) && !empty($items)) { if (!empty($target_item) && !empty($items)) {
$parent = $items[0]; $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']; $fields = ['network', 'author-id', 'owner-id'];
$condition = ['uri' => $target_item["thr-parent"], 'uid' => $target_item["uid"]]; $condition = ['uri' => $target_item["thr-parent"], 'uid' => $target_item["uid"]];