mirror of
https://github.com/friendica/friendica
synced 2025-05-15 01:44:14 +02:00
Constantly updating public contacts
This commit is contained in:
parent
5306622225
commit
857469d16a
3 changed files with 50 additions and 12 deletions
|
@ -13,16 +13,26 @@ use Friendica\Database\DBA;
|
|||
|
||||
class UpdateContact
|
||||
{
|
||||
public static function execute($contact_id)
|
||||
public static function execute($contact_id, $command = '')
|
||||
{
|
||||
$success = Contact::updateFromProbe($contact_id);
|
||||
// Update the "updated" field if the contact could be probed.
|
||||
// We don't do this in the function above, since we don't want to
|
||||
// update the contact whenever that function is called from anywhere.
|
||||
if ($success) {
|
||||
DBA::update('contact', ['updated' => DateTimeFormat::utcNow()], ['id' => $contact_id]);
|
||||
$force = ($command == "force");
|
||||
|
||||
$success = Contact::updateFromProbe($contact_id, '', $force);
|
||||
|
||||
Logger::info('Updated from probe', ['id' => $contact_id, 'force' => $force, 'success' => $success]);
|
||||
|
||||
// Update the update date fields only when we are forcing the update
|
||||
if (!$force) {
|
||||
return;
|
||||
}
|
||||
|
||||
Logger::info('Updated from probe', ['id' => $contact_id, 'success' => $success]);
|
||||
// Update the "last-update", "success_update" and "failure_update" field only when it is a public contact.
|
||||
// These fields are set in OnePoll for all non public contacts.
|
||||
$updated = DateTimeFormat::utcNow();
|
||||
if ($success) {
|
||||
DBA::update('contact', ['last-update' => $updated, 'success_update' => $updated], ['id' => $contact_id, 'uid' => 0]);
|
||||
} else {
|
||||
DBA::update('contact', ['last-update' => $updated, 'failure_update' => $updated], ['id' => $contact_id, 'uid' => 0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue