You are here

public static function SendActivityDestinationBase::getSendAllUsersSetting 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::getSendAllUsersSetting()
  2. 10.1.x modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::getSendAllUsersSetting()
  3. 10.2.x modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::getSendAllUsersSetting()

Get notification settings of all given user IDs.

Parameters

string $destination: The destination of notification.

array $account_ids: The array of account ids for which the settings are needed.

string $message_template_id: The machine name of message template.

Return value

mixed Array of the uids and frequencies, keyed by uid.

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

File

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

Class

SendActivityDestinationBase
Base class for Activity send destination plugins.

Namespace

Drupal\activity_send\Plugin

Code

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