Merge pull request #7919 from annando/mail-update
Mail contacts: Update public via user contact / display owner's posts
This commit is contained in:
commit
da7c06764f
1 changed files with 15 additions and 4 deletions
|
@ -1458,15 +1458,26 @@ class Contact extends BaseObject
|
||||||
if (DBA::isResult($contact)) {
|
if (DBA::isResult($contact)) {
|
||||||
$contact_id = $contact["id"];
|
$contact_id = $contact["id"];
|
||||||
|
|
||||||
// Update the contact every 7 days
|
// Update the contact every 7 days (Don't update mail or feed contacts)
|
||||||
if (in_array($contact['network'], Protocol::NATIVE_SUPPORT)) {
|
if (in_array($contact['network'], Protocol::FEDERATED)) {
|
||||||
$update_contact = ($contact['updated'] < DateTimeFormat::utc('now -7 days'));
|
$update_contact = ($contact['updated'] < DateTimeFormat::utc('now -7 days'));
|
||||||
|
|
||||||
// We force the update if the avatar is empty
|
// We force the update if the avatar is empty
|
||||||
if (empty($contact['avatar'])) {
|
if (empty($contact['avatar'])) {
|
||||||
$update_contact = true;
|
$update_contact = true;
|
||||||
}
|
}
|
||||||
} else {
|
} elseif (empty($default) && in_array($contact['network'], [Protocol::MAIL, Protocol::PHANTOM]) && ($uid == 0)) {
|
||||||
|
// Update public mail accounts via their user's accounts
|
||||||
|
$fields = ['network', 'addr', 'name', 'nick', 'avatar', 'photo', 'thumb', 'micro'];
|
||||||
|
$mailcontact = DBA::selectFirst('contact', $fields, ["`addr` = ? AND `network` = ? AND `uid` != 0", $url, Protocol::MAIL]);
|
||||||
|
if (!DBA::isResult($mailcontact)) {
|
||||||
|
$mailcontact = DBA::selectFirst('contact', $fields, ["`nurl` = ? AND `network` = ? AND `uid` != 0", $url, Protocol::MAIL]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DBA::isResult($mailcontact)) {
|
||||||
|
DBA::update('contact', $mailcontact, ['id' => $contact_id]);
|
||||||
|
}
|
||||||
|
|
||||||
$update_contact = false;
|
$update_contact = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1743,7 +1754,7 @@ class Contact extends BaseObject
|
||||||
$sql = "`item`.`uid` = ?";
|
$sql = "`item`.`uid` = ?";
|
||||||
}
|
}
|
||||||
|
|
||||||
$contact_field = ($contact["contact-type"] == self::TYPE_COMMUNITY ? 'owner-id' : 'author-id');
|
$contact_field = ((($contact["contact-type"] == self::TYPE_COMMUNITY) || ($contact['network'] == Protocol::MAIL)) ? 'owner-id' : 'author-id');
|
||||||
|
|
||||||
if ($thread_mode) {
|
if ($thread_mode) {
|
||||||
$condition = ["`$contact_field` = ? AND `gravity` = ? AND " . $sql,
|
$condition = ["`$contact_field` = ? AND `gravity` = ? AND " . $sql,
|
||||||
|
|
Loading…
Reference in a new issue