X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FUpdateContact.php;h=23eb5ff4bac37f32f5041ba56ee133a5985857f0;hb=75c4cc70c6f3a5a8e8ca1917975a1b5c949ebb1c;hp=55c2daf911689fa7441eb1f9ecc00efc1bc79bf4;hpb=1874a32728142f2c12724562eb122eb1cd1370fe;p=friendica.git diff --git a/src/Worker/UpdateContact.php b/src/Worker/UpdateContact.php index 55c2daf911..23eb5ff4ba 100644 --- a/src/Worker/UpdateContact.php +++ b/src/Worker/UpdateContact.php @@ -22,20 +22,49 @@ namespace Friendica\Worker; use Friendica\Core\Logger; +use Friendica\Core\Worker; use Friendica\Model\Contact; +use Friendica\Network\HTTPException\InternalServerErrorException; class UpdateContact { /** * Update contact data via probe * - * @param int $contact_id Contact ID + * @param int $contact_id Contact ID * @return void + * @throws InternalServerErrorException + * @throws \ImagickException */ public static function execute(int $contact_id) { + // Silently dropping the task if the contact is blocked + if (Contact::isBlocked($contact_id)) { + return; + } + $success = Contact::updateFromProbe($contact_id); Logger::info('Updated from probe', ['id' => $contact_id, 'success' => $success]); } + + /** + * @param array|int $run_parameters Priority constant or array of options described in Worker::add + * @param int $contact_id + * @return int + * @throws InternalServerErrorException + */ + public static function add($run_parameters, int $contact_id): int + { + if (!$contact_id) { + throw new \InvalidArgumentException('Invalid value provided for contact_id'); + } + + // Dropping the task if the contact is blocked + if (Contact::isBlocked($contact_id)) { + return 0; + } + + return Worker::add($run_parameters, 'UpdateContact', $contact_id); + } }