You are here

public static function SendActivityDestinationBase::getSendUserIdsByFrequency in Open Social 10.3.x

Same name and namespace in other branches
  1. 10.0.x modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::getSendUserIdsByFrequency()
  2. 10.1.x modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::getSendUserIdsByFrequency()
  3. 10.2.x modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::getSendUserIdsByFrequency()

Get user IDs for given frequency.

Parameters

string $destination: The destination of notification.

array $account_ids: The array of array ids.

string $frequency: The frequency for which we need to check.

string $message_template_id: The machine name of message template.

Return value

mixed The array of user ids.

1 call to SendActivityDestinationBase::getSendUserIdsByFrequency()
EmailActivityDestination::getSendEmailUsersIdsByFrequency in modules/custom/activity_send/modules/activity_send_email/src/Plugin/ActivityDestination/EmailActivityDestination.php

File

modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php, line 97

Class

SendActivityDestinationBase
Base class for Activity send destination plugins.

Namespace

Drupal\activity_send\Plugin

Code

public static function getSendUserIdsByFrequency(string $destination, array $account_ids, string $frequency, string $message_template_id) {
  $query = \Drupal::database()
    ->select('user_activity_send', 'uas');
  $query
    ->fields('uas', [
    'uid',
  ]);
  $query
    ->condition('uas.uid', $account_ids, 'IN');
  $query
    ->condition('uas.frequency', $frequency);
  $query
    ->condition('uas.destination', $destination);
  $query
    ->condition('uas.message_template', $message_template_id);
  $query
    ->distinct();
  return $query
    ->execute()
    ->fetchAllKeyed(0, 0);
}