Merge pull request #3772 from annando/relocate-ignore
Process "relocate" messages even if we are ignoring a contact
This commit is contained in:
commit
4c75c59039
|
@ -2829,13 +2829,6 @@ class dfrn {
|
||||||
return 400;
|
return 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($importer["readonly"]) {
|
|
||||||
// We aren't receiving stuff from this person. But we will quietly ignore them
|
|
||||||
// rather than a blatant "go away" message.
|
|
||||||
logger('ignoring contact '.$importer["id"]);
|
|
||||||
return 403;
|
|
||||||
}
|
|
||||||
|
|
||||||
$doc = new DOMDocument();
|
$doc = new DOMDocument();
|
||||||
@$doc->loadXML($xml);
|
@$doc->loadXML($xml);
|
||||||
|
|
||||||
|
@ -2878,11 +2871,7 @@ class dfrn {
|
||||||
$accounttype = intval($xpath->evaluate("/atom:feed/dfrn:account_type/text()", $context)->item(0)->nodeValue);
|
$accounttype = intval($xpath->evaluate("/atom:feed/dfrn:account_type/text()", $context)->item(0)->nodeValue);
|
||||||
|
|
||||||
if ($accounttype != $importer["contact-type"]) {
|
if ($accounttype != $importer["contact-type"]) {
|
||||||
/// @TODO this way is the norm or putting ); at the end of the line?
|
dba::update('contact', array('contact-type' => $accounttype), array('id' => $importer["id"]));
|
||||||
q("UPDATE `contact` SET `contact-type` = %d WHERE `id` = %d",
|
|
||||||
intval($accounttype),
|
|
||||||
intval($importer["id"])
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2891,10 +2880,21 @@ class dfrn {
|
||||||
$forum = intval($xpath->evaluate("/atom:feed/dfrn:community/text()", $context)->item(0)->nodeValue);
|
$forum = intval($xpath->evaluate("/atom:feed/dfrn:community/text()", $context)->item(0)->nodeValue);
|
||||||
|
|
||||||
if ($forum != $importer["forum"]) {
|
if ($forum != $importer["forum"]) {
|
||||||
q("UPDATE `contact` SET `forum` = %d WHERE `forum` != %d AND `id` = %d",
|
$condition = array('`forum` != ? AND `id` = ?', $forum, $importer["id"]);
|
||||||
intval($forum), intval($forum),
|
dba::update('contact', array('forum' => $forum), $condition);
|
||||||
intval($importer["id"])
|
}
|
||||||
);
|
|
||||||
|
// We are processing relocations even if we are ignoring a contact
|
||||||
|
$relocations = $xpath->query("/atom:feed/dfrn:relocate");
|
||||||
|
foreach ($relocations AS $relocation) {
|
||||||
|
self::process_relocation($xpath, $relocation, $importer);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($importer["readonly"]) {
|
||||||
|
// We aren't receiving stuff from this person. But we will quietly ignore them
|
||||||
|
// rather than a blatant "go away" message.
|
||||||
|
logger('ignoring contact '.$importer["id"]);
|
||||||
|
return 403;
|
||||||
}
|
}
|
||||||
|
|
||||||
$mails = $xpath->query("/atom:feed/dfrn:mail");
|
$mails = $xpath->query("/atom:feed/dfrn:mail");
|
||||||
|
@ -2907,11 +2907,6 @@ class dfrn {
|
||||||
self::process_suggestion($xpath, $suggestion, $importer);
|
self::process_suggestion($xpath, $suggestion, $importer);
|
||||||
}
|
}
|
||||||
|
|
||||||
$relocations = $xpath->query("/atom:feed/dfrn:relocate");
|
|
||||||
foreach ($relocations AS $relocation) {
|
|
||||||
self::process_relocation($xpath, $relocation, $importer);
|
|
||||||
}
|
|
||||||
|
|
||||||
$deletions = $xpath->query("/atom:feed/at:deleted-entry");
|
$deletions = $xpath->query("/atom:feed/at:deleted-entry");
|
||||||
foreach ($deletions AS $deletion) {
|
foreach ($deletions AS $deletion) {
|
||||||
self::process_deletion($xpath, $deletion, $importer);
|
self::process_deletion($xpath, $deletion, $importer);
|
||||||
|
|
Loading…
Reference in a new issue