CRM_Event_WorkflowMessage_ParticipantConfirm
extends GenericWorkflowMessage
in package
uses
CRM_Event_WorkflowMessage_ParticipantTrait
Notification that a registration has been cancelled.
Tags
Table of Contents
Constants
- WORKFLOW = 'participant_confirm'
Properties
- $currentParticipant : array<string|int, mixed>
- The current participant (if there are multiple this is the one being emailed).
- $eventID : int
- $isPrimary : bool
- Is this the primary participant.
- $isShowParticipantCount : bool
- Should a participant count column be shown.
- $participant : array<string|int, mixed>|null
- The participant record.
- $participantCount : bool
- What is the participant count, if 'specifically configured'.
- $participantID : int
- $participants : array<string|int, mixed>
- Line items indexed by the participant.
- $_extras : array<string|int, mixed>
- The extras are an open-ended list of fields that will be passed-through to tpl, tokenContext, etc. This is the storage of last-resort for imported values that cannot be stored by other means.
- $bcc : string|null
- Additional recipients (multiple addresses).
- $cc : string|null
- Additional recipients (multiple addresses).
- $contact : array<string|int, mixed>|null
- $contactID : int|null
- The contact receiving this message.
- $from : string|null
- The email sender (single address).
- $isTest : bool
- $locale : string|null
- $participantContacts : array<string|int, mixed>
- Details of the participant contacts.
- $replyTo : string|null
- The email sender's Reply-To (single address).
- $requestedLocale : string|null
- The language that was requested to be rendered.
- $template : array<string|int, mixed>|null
- The content of the message-template.
- $templateId : int|null
- $to : string|null
- The primary email recipient (single address).
- $userEnteredHTML : string
- Additional html to include in the receipt.
- $userEnteredText : string
- Additional text to include in the receipt.
Methods
- __call() : static|mixed
- Magic function to provide getters/setters.
- __construct() : mixed
- WorkflowMessage constructor.
- addBcc() : $this
- Add another "BCC:" address.
- addCc() : $this
- Add another "CC:" address.
- assertValid() : mixed
- export() : array<string|int, mixed>|null
- getBcc() : array<string|int, mixed>|string
- Get the list of "Bcc:" addresses.
- getCc() : array<string|int, mixed>|string
- Get the list of "Cc:" addresses.
- getContact() : array<string|int, mixed>|null
- getContactID() : int|null
- getCurrentParticipant() : array<string|int, mixed>
- Get the line items and tax information indexed by participant.
- getFields() : array<string|int, mixed>
- getFrom() : array<string|int, mixed>|string
- Get the "From:" address.
- getGroupName() : string|null
- getIsPrimary() : bool
- Is the participant the primary participant.
- getIsShowParticipantCount() : bool
- It is a good idea to show the participant count column.
- getLocale() : string
- getParticipant() : array<string|int, mixed>
- Get the participant record.
- getParticipantCount() : mixed
- Get the count of participants, where count is used in the line items.
- getParticipants() : array<string|int, mixed>
- Get the line items and tax information indexed by participant.
- getPrimaryParticipantID() : int
- getReplyTo() : array<string|int, mixed>|string
- Get the "Reply-To:" address.
- getRequestedLocale() : string
- Get the requested locale.
- getTo() : array<string|int, mixed>|string
- Get the list of "To:" addresses.
- getUserEnteredHTML() : string|null
- getUserEnteredText() : string|null
- getWorkflowName() : string|null
- import() : mixed
- renderTemplate() : array<string|int, mixed>
- resolveContent() : array<string|int, mixed>
- sendTemplate() : array<string|int, mixed>
- setBcc() : $this
- Set the "BCC:" list.
- setCc() : $this
- Set the "CC:" list.
- setContact() : $this
- setContactID() : $this
- setEventID() : CRM_Event_WorkflowMessage_ParticipantTrait
- setFrom() : $this
- setLocale() : $this
- setParticipant() : $this
- Set participant object.
- setParticipantContacts() : CRM_Event_WorkflowMessage_ParticipantTrait
- setParticipantID() : mixed
- setReplyTo() : $this
- setRequestedLocale() : $this
- Set the requested locale.
- setTo() : $this
- setUserEnteredHTML() : $this
- setUserEnteredText() : $this
- validate() : array<string|int, mixed>
- Determine if the data for this workflow message is complete/well-formed.
- exportExtraEnvelope() : void
- Get a list of key-value pairs to include the Smarty template context.
- exportExtraEnvelope_toAddress() : void
- Plugin to `WorkflowMessageInterface::export()` and handle toEmail/toName.
- exportExtraModelProps() : void
- Get a list of key-value pairs to include the array-coded version of the class.
- exportExtraTokenContext() : void
- Define tokens to be exported as smarty values.
- exportExtraTplParams() : void
- Get a list of key-value pairs to include the Smarty template context.
- getFieldsByFormat() : array<string|int, mixed>|null
- getFieldsToLoadForParticipant() : array<string|int, mixed>
- Get the participant fields we need to load.
- getMagicProperties() : array<string|int, mixed>
- Get a list of class properties for which magic methods are supported.
- importExtraEnvelope() : void
- Given an import-array (in the envelope-format), pull out any interesting values.
- importExtraEnvelope_toAddress() : void
- Plugin to `WorkflowMessageInterface::import()` and handle toEmail/toName.
- importExtraModelProps() : void
- Given an import-array (in the class-format), pull out any interesting values.
- importExtraTokenContext() : void
- Given an import-array (in the token-context-format), pull out any interesting values.
- importExtraTplParams() : void
- Given an import-array (in the tpl-format), pull out any interesting values.
- validateExtra_contact() : mixed
- Must provide either 'int $contactId' or 'array $contact'
- validateExtra_localization() : mixed
- formatAddress() : array<string|int, mixed>|string|null
- Convert an address to the desired format.
- getParticipantContact() : mixed
- isCiviContributeEnabled() : bool
Constants
WORKFLOW
public
mixed
WORKFLOW
= 'participant_confirm'
Properties
$currentParticipant
The current participant (if there are multiple this is the one being emailed).
public
array<string|int, mixed>
$currentParticipant
This uses the same format as the participants array.
Tags
$eventID
public
int
$eventID
Tags
$isPrimary
Is this the primary participant.
public
bool
$isPrimary
Tags
$isShowParticipantCount
Should a participant count column be shown.
public
bool
$isShowParticipantCount
This would be true if there is a line item on the receipt with more than one participant in it. Otherwise it's confusing to show.
Tags
$participant
The participant record.
public
array<string|int, mixed>|null
$participant
Tags
$participantCount
What is the participant count, if 'specifically configured'.
public
bool
$participantCount
See getter notes.
Tags
$participantID
public
int
$participantID
Tags
$participants
Line items indexed by the participant.
public
array<string|int, mixed>
$participants
The format is otherwise the same as lineItems which is also available on the template. The by-participant re-keying permits only including the current participant for non-primary participants and creating a by-participant table for the primary participant.
Tags
$_extras
The extras are an open-ended list of fields that will be passed-through to tpl, tokenContext, etc. This is the storage of last-resort for imported values that cannot be stored by other means.
protected
array<string|int, mixed>
$_extras
= []
Ex: ['tplParams' => ['assigned_value' => 'A', 'other_value' => 'B']]
$bcc
Additional recipients (multiple addresses).
protected
string|null
$bcc
Ex: '"Foo Bar" foo.bar@example.com, "Whiz Bang" whiz.bang@example.com' Ex: [['name' => 'Foo Bar', 'email' => 'foo.bar@example.com'], ['name' => 'Whiz Bang', 'email' => 'whiz.bang@example.com']]
Tags
$cc
Additional recipients (multiple addresses).
protected
string|null
$cc
Ex: '"Foo Bar" foo.bar@example.com, "Whiz Bang" whiz.bang@example.com' Ex: [['name' => 'Foo Bar', 'email' => 'foo.bar@example.com'], ['name' => 'Whiz Bang', 'email' => 'whiz.bang@example.com']]
Tags
$contact
protected
array<string|int, mixed>|null
$contact
Tags
$contactID
The contact receiving this message.
protected
int|null
$contactID
Tags
$from
The email sender (single address).
protected
string|null
$from
Ex: '"Foo Bar" foo.bar@example.com'
Tags
$isTest
protected
bool
$isTest
Tags
$locale
protected
string|null
$locale
Tags
$participantContacts
Details of the participant contacts.
protected
array<string|int, mixed>
$participantContacts
This would normally be loaded but exists to allow the example to set them.
$replyTo
The email sender's Reply-To (single address).
protected
string|null
$replyTo
Ex: '"Foo Bar" foo.bar@example.com'
Tags
$requestedLocale
The language that was requested to be rendered.
protected
string|null
$requestedLocale
This may not be the rendered locale - as the requested language might be available. This is primarily for extensions to use in custom workflow messages.
The use-case is a bit like this:
- Your organization serves many similar locales (eg es_MX+es_CR+es_HN or en_GB+en_US+en_NZ).
- You want to write one message (es_MX) for several locales (es_MX+es_CR+es_HN)
- You want to include some conditional content that adapts the recipient's requested locale (es_CR) -- even though the template was stored as es_MX. For example your front end website has more nuanced translations than your workflow messages and you wish to redirect the user to a page on your website.
Tags
$template
The content of the message-template.
protected
array<string|int, mixed>|null
$template
Ex: [ 'msg_subject' => 'Hello {contact.first_name}', 'msg_html' => '
Greetings and salutations, {contact.display_name}!
' ]Tags
$templateId
protected
int|null
$templateId
Tags
$to
The primary email recipient (single address).
protected
string|null
$to
Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => "Foo Bar", "email" => "foo.bar@example.com"]
The "To:" address is mapped to the "envelope" scope. The existing envelope format treats this as a pair of fields [toName,toEmail]. Consequently, we only support one "To:" address, and it uses a special import/export method.
$userEnteredHTML
Additional html to include in the receipt.
protected
string
$userEnteredHTML
Tags
$userEnteredText
Additional text to include in the receipt.
protected
string
$userEnteredText
Tags
Methods
__call()
Magic function to provide getters/setters.
public
__call(string $method, array<string|int, mixed> $arguments) : static|mixed
Parameters
- $method : string
- $arguments : array<string|int, mixed>
Tags
Return values
static|mixed__construct()
WorkflowMessage constructor.
public
__construct([array<string|int, mixed> $imports = [] ]) : mixed
Parameters
- $imports : array<string|int, mixed> = []
-
List of values to import. Ex: ['tplParams' => [...tplValues...], 'tokenContext' => [...tokenData...]] Ex: ['modelProps' => [...classProperties...]]
addBcc()
Add another "BCC:" address.
public
addBcc(string|array<string|int, mixed> $address) : $this
Parameters
- $address : string|array<string|int, mixed>
-
Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => "Foo Bar", "email" => "foo.bar@example.com"] Ex: [['email' => 'first@example.com'], ['email' => 'second@example.com']]
Return values
$thisaddCc()
Add another "CC:" address.
public
addCc(string|array<string|int, mixed> $address) : $this
Parameters
- $address : string|array<string|int, mixed>
-
Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => "Foo Bar", "email" => "foo.bar@example.com"] Ex: [['email' => 'first@example.com'], ['email' => 'second@example.com']]
Return values
$thisassertValid()
public
final assertValid([mixed $strict = FALSE ]) : mixed
Parameters
- $strict : mixed = FALSE
Tags
export()
public
export([string|null $format = NULL ]) : array<string|int, mixed>|null
Parameters
- $format : string|null = NULL
Tags
Return values
array<string|int, mixed>|nullgetBcc()
Get the list of "Bcc:" addresses.
public
getBcc([string $format = ADDRESS_EXPORT_FMT ]) : array<string|int, mixed>|string
Parameters
- $format : string = ADDRESS_EXPORT_FMT
-
Ex: 'rfc822', 'records', 'record'
Return values
array<string|int, mixed>|string —List of addresses. Ex: 'First first@example.com, second@example.com' Ex: [['name' => 'First', 'email' => 'first@example.com'], ['email' => 'second@example.com']]
getCc()
Get the list of "Cc:" addresses.
public
getCc([string $format = ADDRESS_EXPORT_FMT ]) : array<string|int, mixed>|string
Parameters
- $format : string = ADDRESS_EXPORT_FMT
-
Ex: 'rfc822', 'records', 'record'
Return values
array<string|int, mixed>|string —List of addresses. Ex: 'First first@example.com, second@example.com' Ex: [['name' => 'First', 'email' => 'first@example.com'], ['email' => 'second@example.com']]
getContact()
public
getContact() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|nullgetContactID()
public
getContactID() : int|null
Return values
int|nullgetCurrentParticipant()
Get the line items and tax information indexed by participant.
public
getCurrentParticipant() : array<string|int, mixed>
We will likely add profile data to this too. This is so we can iterate through participants as the primary participant needs to show them all (and the others need to be able to filter).
Tags
Return values
array<string|int, mixed>getFields()
public
getFields() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>getFrom()
Get the "From:" address.
public
getFrom([string $format = ADDRESS_EXPORT_FMT ]) : array<string|int, mixed>|string
Parameters
- $format : string = ADDRESS_EXPORT_FMT
-
Ex: 'rfc822', 'records', 'record'
Return values
array<string|int, mixed>|string —The "From" address. If none set, this will be empty ([]). Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => 'Foo Bar', 'email' => 'foo.bar@example.com']
getGroupName()
public
getGroupName() : string|null
It is not recommended that new things depend on the group-name. However, the plumbing still passes-through the group-name.
Return values
string|nullgetIsPrimary()
Is the participant the primary participant.
public
getIsPrimary() : bool
Tags
Return values
boolgetIsShowParticipantCount()
It is a good idea to show the participant count column.
public
getIsShowParticipantCount() : bool
This would be true if there is a line item on the receipt with more than one participant in it. Otherwise it's confusing to show.
Tags
Return values
boolgetLocale()
public
getLocale() : string
Return values
stringgetParticipant()
Get the participant record.
public
getParticipant() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>getParticipantCount()
Get the count of participants, where count is used in the line items.
public
getParticipantCount() : mixed
This might be the case where a line item represents a table of 6 people.
Where the price field value does not record the participant count we ignore.
This lack of specifying it is a bit unclear but seems to be 'presumed 1'. From the templates point of view it is not information to present if not configured.
Tags
getParticipants()
Get the line items and tax information indexed by participant.
public
getParticipants() : array<string|int, mixed>
We will likely add profile data to this too. This is so we can iterate through participants as the primary participant needs to show them all (and the others need to be able to filter).
Tags
Return values
array<string|int, mixed>getPrimaryParticipantID()
public
getPrimaryParticipantID() : int
Return values
intgetReplyTo()
Get the "Reply-To:" address.
public
getReplyTo([string $format = ADDRESS_EXPORT_FMT ]) : array<string|int, mixed>|string
Parameters
- $format : string = ADDRESS_EXPORT_FMT
-
Ex: 'rfc822', 'records', 'record'
Return values
array<string|int, mixed>|string —The "From" address. If none set, this will be empty ([]). Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => 'Foo Bar', 'email' => 'foo.bar@example.com']
getRequestedLocale()
Get the requested locale.
public
getRequestedLocale() : string
This may differ from the rendered locale (e.g. if a translation is not available). It is not used in core but extensions may leverage this information.
Return values
stringgetTo()
Get the list of "To:" addresses.
public
getTo([string $format = ADDRESS_EXPORT_FMT ]) : array<string|int, mixed>|string
Note: This returns only
Parameters
- $format : string = ADDRESS_EXPORT_FMT
-
Ex: 'rfc822', 'records', 'record'
Return values
array<string|int, mixed>|string —Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => 'Foo Bar', 'email' => 'foo.bar@example.com']
getUserEnteredHTML()
public
getUserEnteredHTML() : string|null
Return values
string|nullgetUserEnteredText()
public
getUserEnteredText() : string|null
Return values
string|nullgetWorkflowName()
public
getWorkflowName() : string|null
Return values
string|nullimport()
public
import(string $format, array<string|int, mixed> $values) : mixed
Parameters
- $format : string
- $values : array<string|int, mixed>
Tags
renderTemplate()
public
final renderTemplate([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
Tags
Return values
array<string|int, mixed>resolveContent()
public
resolveContent() : array<string|int, mixed>
Return values
array<string|int, mixed>sendTemplate()
public
final sendTemplate([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
Tags
Return values
array<string|int, mixed>setBcc()
Set the "BCC:" list.
public
setBcc(string|array<string|int, mixed> $address) : $this
Parameters
- $address : string|array<string|int, mixed>
-
Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => "Foo Bar", "email" => "foo.bar@example.com"] Ex: [['email' => 'first@example.com'], ['email' => 'second@example.com']]
Return values
$thissetCc()
Set the "CC:" list.
public
setCc(string|array<string|int, mixed> $address) : $this
Parameters
- $address : string|array<string|int, mixed>
-
Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => "Foo Bar", "email" => "foo.bar@example.com"] Ex: [['email' => 'first@example.com'], ['email' => 'second@example.com']]
Return values
$thissetContact()
public
setContact([array<string|int, mixed>|null $contact = ]) : $this
Parameters
- $contact : array<string|int, mixed>|null =
Return values
$thissetContactID()
public
setContactID([int|null $contactID = ]) : $this
Parameters
- $contactID : int|null =
Return values
$thissetEventID()
public
setEventID(int $eventID) : CRM_Event_WorkflowMessage_ParticipantTrait
Parameters
- $eventID : int
Return values
CRM_Event_WorkflowMessage_ParticipantTraitsetFrom()
public
setFrom(string|array<string|int, mixed> $address) : $this
Parameters
- $address : string|array<string|int, mixed>
-
Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => "Foo Bar", "email" => "foo.bar@example.com"]
Return values
$thissetLocale()
public
setLocale(string|null $locale) : $this
Parameters
- $locale : string|null
Return values
$thissetParticipant()
Set participant object.
public
setParticipant(array<string|int, mixed> $participant) : $this
Parameters
- $participant : array<string|int, mixed>
Return values
$thissetParticipantContacts()
public
setParticipantContacts(array<string|int, mixed> $participantContacts) : CRM_Event_WorkflowMessage_ParticipantTrait
Parameters
- $participantContacts : array<string|int, mixed>
Return values
CRM_Event_WorkflowMessage_ParticipantTraitsetParticipantID()
public
setParticipantID(int $participantID) : mixed
Parameters
- $participantID : int
Tags
setReplyTo()
public
setReplyTo(string|array<string|int, mixed> $address) : $this
Parameters
- $address : string|array<string|int, mixed>
-
Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => "Foo Bar", "email" => "foo.bar@example.com"]
Return values
$thissetRequestedLocale()
Set the requested locale.
public
setRequestedLocale(string|null $requestedLocale) : $this
Parameters
- $requestedLocale : string|null
Return values
$thissetTo()
public
setTo(string|array<string|int, mixed> $address) : $this
Parameters
- $address : string|array<string|int, mixed>
-
Ex: '"Foo Bar" foo.bar@example.com' Ex: ['name' => "Foo Bar", "email" => "foo.bar@example.com"]
Return values
$thissetUserEnteredHTML()
public
setUserEnteredHTML([string $html = ]) : $this
Parameters
- $html : string =
Return values
$thissetUserEnteredText()
public
setUserEnteredText([string $text = ]) : $this
Parameters
- $text : string =
Return values
$thisvalidate()
Determine if the data for this workflow message is complete/well-formed.
public
validate() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —A list of errors and warnings. Each record defines
- severity: string, 'error' or 'warning'
- fields: string[], list of fields implicated in the error
- name: string, symbolic name of the error/warning
- message: string, printable message describing the problem
exportExtraEnvelope()
Get a list of key-value pairs to include the Smarty template context.
protected
exportExtraEnvelope(array<string|int, mixed> &$export) : void
Parameters
- $export : array<string|int, mixed>
-
Modifiable list of export-values.
exportExtraEnvelope_toAddress()
Plugin to `WorkflowMessageInterface::export()` and handle toEmail/toName.
protected
exportExtraEnvelope_toAddress(array<string|int, mixed> &$values) : void
Parameters
- $values : array<string|int, mixed>
Tags
exportExtraModelProps()
Get a list of key-value pairs to include the array-coded version of the class.
protected
exportExtraModelProps(array<string|int, mixed> &$export) : void
Parameters
- $export : array<string|int, mixed>
-
Modifiable list of export-values.
exportExtraTokenContext()
Define tokens to be exported as smarty values.
protected
exportExtraTokenContext(array<string|int, mixed> &$export) : void
Parameters
- $export : array<string|int, mixed>
exportExtraTplParams()
Get a list of key-value pairs to include the Smarty template context.
protected
exportExtraTplParams(array<string|int, mixed> &$export) : void
Values returned here will override any defaults.
Parameters
- $export : array<string|int, mixed>
-
Modifiable list of export-values.
getFieldsByFormat()
protected
getFieldsByFormat(mixed $format) : array<string|int, mixed>|null
Parameters
- $format : mixed
Return values
array<string|int, mixed>|nullgetFieldsToLoadForParticipant()
Get the participant fields we need to load.
protected
getFieldsToLoadForParticipant() : array<string|int, mixed>
Return values
array<string|int, mixed>getMagicProperties()
Get a list of class properties for which magic methods are supported.
protected
static getMagicProperties() : array<string|int, mixed>
Return values
array<string|int, mixed> —List of supported properties, keyed by property name. Array(string $propertyName => bool $true).
importExtraEnvelope()
Given an import-array (in the envelope-format), pull out any interesting values.
protected
importExtraEnvelope(array<string|int, mixed> &$values) : void
Parameters
- $values : array<string|int, mixed>
-
List of import-values. Optionally, unset values that you have handled or blocked.
importExtraEnvelope_toAddress()
Plugin to `WorkflowMessageInterface::import()` and handle toEmail/toName.
protected
importExtraEnvelope_toAddress(array<string|int, mixed> &$values) : void
Parameters
- $values : array<string|int, mixed>
Tags
importExtraModelProps()
Given an import-array (in the class-format), pull out any interesting values.
protected
importExtraModelProps(array<string|int, mixed> &$values) : void
Parameters
- $values : array<string|int, mixed>
-
List of import-values. Optionally, unset values that you have handled or blocked.
importExtraTokenContext()
Given an import-array (in the token-context-format), pull out any interesting values.
protected
importExtraTokenContext(array<string|int, mixed> &$values) : void
Parameters
- $values : array<string|int, mixed>
-
List of import-values. Optionally, unset values that you have handled or blocked.
importExtraTplParams()
Given an import-array (in the tpl-format), pull out any interesting values.
protected
importExtraTplParams(array<string|int, mixed> &$values) : void
Parameters
- $values : array<string|int, mixed>
-
List of import-values. Optionally, unset values that you have handled or blocked.
validateExtra_contact()
Must provide either 'int $contactId' or 'array $contact'
protected
validateExtra_contact(array<string|int, mixed> &$errors) : mixed
Parameters
- $errors : array<string|int, mixed>
Tags
validateExtra_localization()
protected
validateExtra_localization(mixed &$errors) : mixed
Parameters
- $errors : mixed
formatAddress()
Convert an address to the desired format.
private
formatAddress(string $newFormat, array<string|int, mixed>|string $mixed) : array<string|int, mixed>|string|null
Parameters
- $newFormat : string
-
Ex: 'rfc822', 'records', 'record'
- $mixed : array<string|int, mixed>|string
Return values
array<string|int, mixed>|string|nullgetParticipantContact()
private
getParticipantContact([mixed $participantID = NULL ]) : mixed
Parameters
- $participantID : mixed = NULL
Tags
isCiviContributeEnabled()
private
isCiviContributeEnabled() : bool