Better handling of blocked contacts in OStatus
This commit is contained in:
parent
1470e8e747
commit
a8a7f4a76d
|
@ -78,6 +78,9 @@ class ostatus {
|
|||
|
||||
if (dbm::is_result($r)) {
|
||||
$found = true;
|
||||
if ($r['blocked']) {
|
||||
$r['id'] = -1;
|
||||
}
|
||||
$contact = $r;
|
||||
$author["contact-id"] = $r["id"];
|
||||
$author["author-link"] = $r["url"];
|
||||
|
@ -90,6 +93,9 @@ class ostatus {
|
|||
$r = dba::select('contact', array(), $condition, array('limit' => 1));
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
if ($r['blocked']) {
|
||||
$r['id'] = -1;
|
||||
}
|
||||
$contact = $r;
|
||||
$author["contact-id"] = $r["id"];
|
||||
$author["author-link"] = $r["url"];
|
||||
|
@ -128,7 +134,7 @@ class ostatus {
|
|||
$author["owner-avatar"] = $author["author-avatar"];
|
||||
|
||||
// Only update the contacts if it is an OStatus contact
|
||||
if ($r && !$onlyfetch && ($contact["network"] == NETWORK_OSTATUS)) {
|
||||
if ($r && ($r['id'] > 0) && !$onlyfetch && ($contact["network"] == NETWORK_OSTATUS)) {
|
||||
|
||||
// Update contact data
|
||||
|
||||
|
@ -483,6 +489,8 @@ class ostatus {
|
|||
$found = dba::exists('item', array('uid' => $importer["uid"], 'uri' => $item["uri"]));
|
||||
if ($found) {
|
||||
logger("Item with uri ".$item["uri"]." for user ".$importer["uid"]." already exists.", LOGGER_DEBUG);
|
||||
} elseif ($item['contact-id'] < 0) {
|
||||
logger("Item with uri ".$item["uri"]." is from a blocked contact.", LOGGER_DEBUG);
|
||||
} else {
|
||||
// We are having duplicated entries. Hopefully this solves it.
|
||||
if (Lock::set('ostatus_process_item_store')) {
|
||||
|
|
Loading…
Reference in a new issue