$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']");
$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;
}
$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];
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Util\HTTPSignature;
+use Friendica\Core\Config;
/**
* ActivityPub Inbox
}
$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);
$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;
$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;
* @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);
* @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 = [];
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"]];