Don't archive "self" contacts
This commit is contained in:
parent
a4451c7c3d
commit
e5c2b7a243
2 changed files with 12 additions and 4 deletions
|
@ -1157,6 +1157,14 @@ function item_set_last_item($arr) {
|
||||||
Contact::unmarkForArchival($contact);
|
Contact::unmarkForArchival($contact);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Unarchive the contact if it is a toplevel posting
|
||||||
|
if ($arr["parent-uri"] === $arr["uri"]) {
|
||||||
|
$contact = dba::select('contact', [], ['id' => $arr["contact-id"]], ['limit' => 1]);
|
||||||
|
if ($contact['term-date'] > NULL_DATE) {
|
||||||
|
Contact::unmarkForArchival($contact);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$update = (!$arr['private'] && (($arr["author-link"] === $arr["owner-link"]) || ($arr["parent-uri"] === $arr["uri"])));
|
$update = (!$arr['private'] && (($arr["author-link"] === $arr["owner-link"]) || ($arr["parent-uri"] === $arr["uri"])));
|
||||||
|
|
||||||
// Is it a forum? Then we don't care about the rules from above
|
// Is it a forum? Then we don't care about the rules from above
|
||||||
|
|
|
@ -141,8 +141,8 @@ class Contact extends BaseObject
|
||||||
*/
|
*/
|
||||||
public static function markForArchival(array $contact)
|
public static function markForArchival(array $contact)
|
||||||
{
|
{
|
||||||
// Contact already archived, nothing to do
|
// Contact already archived or "self" contact? => nothing to do
|
||||||
if ($contact['archive']) {
|
if ($contact['archive'] || $contact['self']) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ class Contact extends BaseObject
|
||||||
dba::update('contact', array('term-date' => datetime_convert()), array('id' => $contact['id']));
|
dba::update('contact', array('term-date' => datetime_convert()), array('id' => $contact['id']));
|
||||||
|
|
||||||
if ($contact['url'] != '') {
|
if ($contact['url'] != '') {
|
||||||
dba::update('contact', array('term-date' => datetime_convert()), array('`nurl` = ? AND `term-date` <= ?', normalise_link($contact['url']), NULL_DATE));
|
dba::update('contact', array('term-date' => datetime_convert()), array('`nurl` = ? AND `term-date` <= ? AND NOT `self`', normalise_link($contact['url']), NULL_DATE));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* @todo
|
/* @todo
|
||||||
|
@ -169,7 +169,7 @@ class Contact extends BaseObject
|
||||||
dba::update('contact', array('archive' => 1), array('id' => $contact['id']));
|
dba::update('contact', array('archive' => 1), array('id' => $contact['id']));
|
||||||
|
|
||||||
if ($contact['url'] != '') {
|
if ($contact['url'] != '') {
|
||||||
dba::update('contact', array('archive' => 1), array('nurl' => normalise_link($contact['url'])));
|
dba::update('contact', array('archive' => 1), array('nurl' => normalise_link($contact['url']), 'self' => false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue