class ActivitySendEmailWorker in Open Social 8
Same name and namespace in other branches
- 8.9 modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 8.2 modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 8.3 modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 8.4 modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 8.5 modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 8.6 modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 8.7 modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 8.8 modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 10.3.x modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 10.0.x modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 10.1.x modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- 10.2.x modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
An activity send email worker.
@QueueWorker( id = "activity_send_email_worker", title = @Translation("Process activity_send_email queue."), cron = {"time" = 60} )
This QueueWorker is responsible for sending emails from the queue
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Queue\QueueWorkerBase implements QueueWorkerInterface
- class \Drupal\activity_send\Plugin\QueueWorker\ActivitySendWorkerBase
- class \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker
- class \Drupal\activity_send\Plugin\QueueWorker\ActivitySendWorkerBase
- class \Drupal\Core\Queue\QueueWorkerBase implements QueueWorkerInterface
Expanded class hierarchy of ActivitySendEmailWorker
File
- modules/
custom/ activity_send/ modules/ activity_send_email/ src/ Plugin/ QueueWorker/ ActivitySendEmailWorker.php, line 22
Namespace
Drupal\activity_send_email\Plugin\QueueWorkerView source
class ActivitySendEmailWorker extends ActivitySendWorkerBase {
/**
* {@inheritdoc}
*/
public function processItem($data) {
// First make sure it's an actual Activity entity.
if (!empty($data['entity_id']) && ($activity = Activity::load($data['entity_id']))) {
// Get target account.
$target_account = EmailActivityDestination::getSendTargetUser($activity);
if ($target_account instanceof User) {
// Get Message Template id.
$message = Message::load($activity->field_activity_message->target_id);
$message_template_id = $message
->getTemplate()
->id();
// Retrieve the users email settings.
$user_email_settings = EmailActivityDestination::getSendEmailUserSettings($target_account);
// Determine email frequency to use, defaults to immediately.
// @todo make these frequency constants?
$frequency = 'immediately';
if (!empty($user_email_settings[$message_template_id])) {
$frequency = $user_email_settings[$message_template_id];
}
// Send item to EmailFrequency instance.
// @todo use dependency injection for this.
$emailfrequencymanager = \Drupal::service('plugin.manager.emailfrequency');
$instance = $emailfrequencymanager
->createInstance($frequency);
$instance
->processItem($activity, $message, $target_account);
}
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ActivitySendEmailWorker:: |
public | function |
Works on a single queue item. Overrides QueueWorkerInterface:: |
|
ActivitySendWorkerBase:: |
protected | function | Create queue item. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 92 |