$author["contact-id"] = $contact["id"];
$contact = null;
+
+/*
+ This here would be better, but we would get problems with contacts from the statusnet addon
+ This is kept here as a reminder for the future
+
+ $cid = Contact::getIdForURL($author["author-link"], $importer["uid"]);
+ if ($cid) {
+ $contact = DBA::selectFirst('contact', [], ['id' => $cid]);
+ }
+*/
if ($aliaslink != '') {
$condition = ["`uid` = ? AND `alias` = ? AND `network` != ? AND `rel` IN (?, ?)",
$importer["uid"], $aliaslink, Protocol::STATUSNET,
$gcid = GContact::update($contact);
GContact::link($gcid, $contact["uid"], $contact["id"]);
- } else {
+ } elseif ($contact["network"] != Protocol::DFRN) {
$contact = null;
}
self::$conv_list = [];
}
- logger("Import OStatus message", LOGGER_DEBUG);
+ logger('Import OStatus message for user ' . $importer['uid'], LOGGER_DEBUG);
if ($xml == "") {
return false;
$header["origin"] = 0;
$header["gravity"] = GRAVITY_COMMENT;
- if (!is_object($doc->firstChild)) {
+ if (!is_object($doc->firstChild) || empty($doc->firstChild->tagName)) {
return false;
}
}
if (!DBA::isResult($r)) {
- $r = q(
- "SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
- DBA::escape(normalise_link($url))
- );
+ $gcontact = DBA::selectFirst('gcontact', [], ['nurl' => normalise_link($url)]);
if (DBA::isResult($r)) {
- $contact = $r[0];
+ $contact = $gcontact;
$contact["uid"] = -1;
$contact["success_update"] = $contact["updated"];
}
$item['follow'] = $contact['alias'];
}
- $r = q(
- "SELECT `id` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s'",
- intval($owner['uid']),
- DBA::escape(normalise_link($contact["url"]))
- );
+ $condition = ['uid' => $owner['uid'], 'nurl' => normalise_link($contact["url"])];
+ $user_contact = DBA::selectFirst('contact', ['id'], $condition);
- if (DBA::isResult($r)) {
- $connect_id = $r[0]['id'];
+ if (DBA::isResult($user_contact)) {
+ $connect_id = $user_contact['id'];
} else {
$connect_id = 0;
}