====== NotificationService ======
**Layer:** ''Service'' · **Source:** ''lib/service/NotificationService.php:21'' (lines 21–419)
----
class NotificationService
NotificationService Class
Service for sending email notifications using Symfony Mailer
Supports SMTP configuration for various email providers
======= Docblock Metadata =======
^ Tag ^ Value ^
| ''@category'' | Service Class |
| ''@author'' | Scriptlog |
| ''@license'' | MIT |
| ''@version'' | 1.0 |
| ''@since'' | Since Release 1.0 |
======= Inheritance =======
//No parent, interface or trait. This is a root type.//
======= Constants (0) =======
//None.//
======= Properties (4) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | ''(untyped)'' | ''$dsn'' | | 27 |
| ''private'' | ''(untyped)'' | ''$fromEmail'' | | 33 |
| ''private'' | ''(untyped)'' | ''$fromName'' | | 39 |
| ''private'' | ''(untyped)'' | ''$configService'' | | 45 |
======= Methods (11) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | Constructor | 52 |
| private | ''loadConfiguration()'' | Load mail configuration | 63 |
| public | ''send()'' | Send email notification | 137 |
| protected | ''getMailer()'' | Get Mailer instance | 166 |
| protected | ''createEmail()'' | Create Email instance | 181 |
| private | ''applyEmailOptions()'' | Apply additional options to email | 201 |
| public | ''sendDataRequestConfirmation()'' | Send GDPR data request confirmation email to user | 228 |
| public | ''sendAdminNotification()'' | Send notification to admin about new data request | 278 |
| public | ''sendRequestCompleted()'' | Send data request completion email | 325 |
| public | ''sendProfileDeletionConfirmation()'' | Send profile deletion confirmation | 369 |
| public | ''getSmtpConfig()'' | Get SMTP configuration (for admin settings page) | 409 |
======== __construct() ========
public function __construct(?ConfigurationService $configService = null)
//lines 52–56 (5)//
Constructor
Load SMTP configuration from database or config.php
^ Parameter ^ Type ^ Default ^ Description ^
| ''$configService'' | [[scriptlog:lib:service:configurationservice|''?ConfigurationService'']] | ''null'' | //none// |
======== loadConfiguration() ========
private function loadConfiguration()
//lines 63–126 (64)//
Load mail configuration
//Takes no parameters.//
**Returns:** ''(none declared)'' — void
======== send() ========
public function send($to, $subject, $body, $options = [])
//lines 137–157 (21)//
Send email notification
^ Parameter ^ Type ^ Default ^ Description ^
| ''$to'' | ''(untyped)'' | //required// | Email address to send to |
| ''$subject'' | ''(untyped)'' | //required// | Email subject |
| ''$body'' | ''(untyped)'' | //required// | Email body (HTML or plain text) |
| ''$options'' | ''(untyped)'' | ''[]'' | Additional options |
**Returns:** ''(none declared)'' — bool
======== getMailer() ========
protected function getMailer()
//lines 166–170 (5)//
Get Mailer instance
Protected to allow mocking in tests
//Takes no parameters.//
**Returns:** ''(none declared)'' — \Symfony\Component\Mailer\MailerInterface
======== createEmail() ========
protected function createEmail($to, $subject, $body, $isHtml = true)
//lines 181–196 (16)//
Create Email instance
^ Parameter ^ Type ^ Default ^ Description ^
| ''$to'' | ''(untyped)'' | //required// | //none// |
| ''$subject'' | ''(untyped)'' | //required// | //none// |
| ''$body'' | ''(untyped)'' | //required// | //none// |
| ''$isHtml'' | ''(untyped)'' | ''true'' | //none// |
**Returns:** ''(none declared)'' — \Symfony\Component\Mime\Email
======== applyEmailOptions() ========
private function applyEmailOptions($email, $Cc, $Bcc, $replyTo)
//lines 201–218 (18)//
Apply additional options to email
^ Parameter ^ Type ^ Default ^ Description ^
| ''$email'' | ''(untyped)'' | //required// | //none// |
| ''$Cc'' | ''(untyped)'' | //required// | //none// |
| ''$Bcc'' | ''(untyped)'' | //required// | //none// |
| ''$replyTo'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== sendDataRequestConfirmation() ========
public function sendDataRequestConfirmation($email, $requestType, $requestId)
//lines 228–267 (40)//
Send GDPR data request confirmation email to user
^ Parameter ^ Type ^ Default ^ Description ^
| ''$email'' | ''(untyped)'' | //required// | User's email address |
| ''$requestType'' | ''(untyped)'' | //required// | Type of request (export/deletion) |
| ''$requestId'' | ''(untyped)'' | //required// | Request ID |
**Returns:** ''(none declared)'' — bool
======== sendAdminNotification() ========
public function sendAdminNotification($adminEmail, $userEmail, $requestType, $requestId)
//lines 278–316 (39)//
Send notification to admin about new data request
^ Parameter ^ Type ^ Default ^ Description ^
| ''$adminEmail'' | ''(untyped)'' | //required// | Admin email address |
| ''$userEmail'' | ''(untyped)'' | //required// | User's email address |
| ''$requestType'' | ''(untyped)'' | //required// | Type of request |
| ''$requestId'' | ''(untyped)'' | //required// | Request ID |
**Returns:** ''(none declared)'' — bool
======== sendRequestCompleted() ========
public function sendRequestCompleted($email, $requestType)
//lines 325–361 (37)//
Send data request completion email
^ Parameter ^ Type ^ Default ^ Description ^
| ''$email'' | ''(untyped)'' | //required// | User's email address |
| ''$requestType'' | ''(untyped)'' | //required// | Type of request |
**Returns:** ''(none declared)'' — bool
======== sendProfileDeletionConfirmation() ========
public function sendProfileDeletionConfirmation($email)
//lines 369–402 (34)//
Send profile deletion confirmation
^ Parameter ^ Type ^ Default ^ Description ^
| ''$email'' | ''(untyped)'' | //required// | User's email address |
**Returns:** ''(none declared)'' — bool
======== getSmtpConfig() ========
public function getSmtpConfig()
//lines 409–418 (10)//
Get SMTP configuration (for admin settings page)
//Takes no parameters.//
**Returns:** ''(none declared)'' — array
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//