86 lines
1.7 KiB
PHP
86 lines
1.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file mail/EmailData.php
|
|
*
|
|
* Copyright (c) 2014-2022 Simon Fraser University
|
|
* Copyright (c) 2000-2022 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class EmailData
|
|
*
|
|
* @ingroup mail
|
|
*
|
|
* @brief A class to hold data received from common request parameters. Used
|
|
* with the Composer UI component.
|
|
*/
|
|
|
|
namespace PKP\mail;
|
|
|
|
class EmailData
|
|
{
|
|
/**
|
|
* User IDs for the recipients of the email
|
|
*
|
|
* @var int[] $recipients
|
|
*/
|
|
public array $recipients = [];
|
|
|
|
/**
|
|
* The body of the email
|
|
*/
|
|
public string $body;
|
|
|
|
/**
|
|
* The subject of the email
|
|
*/
|
|
public string $subject;
|
|
|
|
/**
|
|
* The bcc recipients of this email
|
|
*/
|
|
public array $bcc = [];
|
|
|
|
/**
|
|
* The cc recipients of this email
|
|
*/
|
|
public array $cc = [];
|
|
|
|
/**
|
|
* Attachments for the email
|
|
*
|
|
* Each attachment is an array with id and name properties.
|
|
* The id key must be one of the Mailable::ATTACHMENT_TEMPORARY_FILE
|
|
* constants.
|
|
*
|
|
* Example:
|
|
*
|
|
* [
|
|
* ['temporaryFileId' => 1, 'name' => 'example.docx']
|
|
* ['submissionFileId' => 2, 'name' => 'other.pdf']
|
|
* ]
|
|
*
|
|
* @param array[]
|
|
*/
|
|
public array $attachments = [];
|
|
|
|
/**
|
|
* The locale of the email
|
|
*/
|
|
public ?string $locale = null;
|
|
|
|
/**
|
|
* Instantiate an object from an assoc array of request data
|
|
*
|
|
* @param array $args [
|
|
*/
|
|
public function __construct(array $args = [])
|
|
{
|
|
foreach ($args as $key => $value) {
|
|
if (property_exists(EmailData::class, $key)) {
|
|
$this->{$key} = $value;
|
|
}
|
|
}
|
|
}
|
|
}
|