ILIAS  trunk Revision v11.0_alpha-1831-g8615d53dadb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ILIAS\Mail\Service\MailSignatureService Class Reference
+ Collaboration diagram for ILIAS\Mail\Service\MailSignatureService:

Public Member Functions

 __construct (private readonly ilMustacheFactory $mustacheFactory, private readonly ilIniFile $client_ini_file, private readonly ilLanguage $lng, private readonly ilSetting $settings)
 
 installation ()
 
 user (int $user_id)
 
 getPlaceholder (int $user_id=0)
 

Private Member Functions

 processSignature (Placeholder $placeholder, Signature $signature)
 

Detailed Description

Definition at line 37 of file MailSignatureService.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Mail\Service\MailSignatureService::__construct ( private readonly ilMustacheFactory  $mustacheFactory,
private readonly ilIniFile  $client_ini_file,
private readonly ilLanguage  $lng,
private readonly ilSetting  $settings 
)

Definition at line 39 of file MailSignatureService.php.

44  {
45  }

Member Function Documentation

◆ getPlaceholder()

ILIAS\Mail\Service\MailSignatureService::getPlaceholder ( int  $user_id = 0)

Definition at line 70 of file MailSignatureService.php.

References $user_id, and ILIAS\Repository\lng().

Referenced by ILIAS\Mail\Service\MailSignatureService\installation(), and ILIAS\Mail\Service\MailSignatureService\user().

70  : Placeholder
71  {
72  $ilias_url_ph = new MailSignatureIliasUrlPlaceholder($this->lng);
73  $installation_name_ph = new MailSignatureInstallationNamePlaceholder($this->lng, $this->client_ini_file);
74  $installation_description_ph = new MailSignatureInstallationDescriptionPlaceholder($this->lng);
75  $user_name_ph = new MailSignatureUserLoginPlaceholder($this->lng, $user_id);
76  $user_fullname_ph = new MailSignatureUserFullnamePlaceholder($this->lng, $user_id);
77  $ilias_url_ph
78  ->setNext($installation_name_ph)
79  ->setNext($installation_description_ph)
80  ->setNext($user_name_ph)
81  ->setNext($user_fullname_ph);
82 
83  return $ilias_url_ph;
84  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ installation()

ILIAS\Mail\Service\MailSignatureService::installation ( )

Definition at line 47 of file MailSignatureService.php.

References ILIAS\Mail\Service\MailSignatureService\getPlaceholder(), ILIAS\Mail\Service\MailSignatureService\processSignature(), and ILIAS\Repository\settings().

47  : string
48  {
49  return $this->processSignature(
50  $this->getPlaceholder(),
51  new MailInstallationSignature($this->settings)
52  );
53  }
processSignature(Placeholder $placeholder, Signature $signature)
+ Here is the call graph for this function:

◆ processSignature()

ILIAS\Mail\Service\MailSignatureService::processSignature ( Placeholder  $placeholder,
Signature  $signature 
)
private

Definition at line 63 of file MailSignatureService.php.

References ILIAS\Mail\Signature\Signature\getSignature(), and ILIAS\Mail\Placeholder\Placeholder\handle().

Referenced by ILIAS\Mail\Service\MailSignatureService\installation(), and ILIAS\Mail\Service\MailSignatureService\user().

63  : string
64  {
65  $placeholders = $placeholder->handle($signature);
66 
67  return "\n\n\n" . $this->mustacheFactory->getBasicEngine()->render($signature->getSignature(), $placeholders);
68  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ user()

ILIAS\Mail\Service\MailSignatureService::user ( int  $user_id)

Definition at line 55 of file MailSignatureService.php.

References ILIAS\Mail\Service\MailSignatureService\getPlaceholder(), ILIAS\Mail\Service\MailSignatureService\processSignature(), and ILIAS\Repository\settings().

55  : string
56  {
57  return $this->processSignature(
58  $this->getPlaceholder($user_id),
59  new MailUserSignature($this->settings)
60  );
61  }
processSignature(Placeholder $placeholder, Signature $signature)
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: