You are here

function pet_action_send_pet in Previewable email templates 8.3

Same name and namespace in other branches
  1. 8.4 pet.rules.inc \pet_action_send_pet()
  2. 8 pet.rules.inc \pet_action_send_pet()
  3. 7 pet.rules.inc \pet_action_send_pet()

Callback for eponymous rules action.

File

./pet.rules.inc, line 67
Rules integration for the Pet module.

Code

function pet_action_send_pet($pet_name, $to_text, $to_account, $account_subs, $node_subs, $settings) {

  // TODO: check $pet_name is (int).
  $pet = Pet::load($pet_name);

  // Resolve the recipient.
  if (isset($to_account)) {
    $pet_to = $to_account
      ->getEmail();
  }
  elseif (isset($to_text)) {
    $pet_to = $to_text;
  }
  else {
    \Drupal::logger('pet')
      ->error('Mail send using %name PET failed. No recipient provided.', [
      '%name' => $pet_name,
    ]);
    return;
  }
  $params = [
    'pet_from' => \Drupal::config()
      ->get('site_mail'),
    'pet_to' => $pet_to,
    'pet_uid' => isset($account_subs) ? $account_subs->uid : NULL,
    'pet_nid' => isset($node_subs) ? $node_subs->nid : NULL,
  ];
  PetHelper::sendSingleMail($pet, $params);
}