ILIAS  release_7 Revision v7.30-3-g800a261c036
ilMailTemplateContext Class Reference

Class ilMailTemplateContext. More...

+ Inheritance diagram for ilMailTemplateContext:
+ Collaboration diagram for ilMailTemplateContext:

Public Member Functions

 __construct (OrgUnitUserService $orgUnitUserService=null, ilMailEnvironmentHelper $envHelper=null, ilMailUserHelper $usernameHelper=null, ilMailLanguageHelper $languageHelper=null)
 ilMailTemplateContext constructor. More...
 
 getLanguage ()
 
 getId ()
 Returns a unique (in the context of mail template contexts) id. More...
 
 getTitle ()
 Returns a translated title (depending on the current language) which is displayed in the user interface. More...
 
 getDescription ()
 Returns a translated description (depending on the current language) which is displayed in the user interface. More...
 
 getPlaceholders ()
 Return an array of placeholders. More...
 
 getSpecificPlaceholders ()
 Return an array of placeholders. More...
 
 resolveSpecificPlaceholder (string $placeholder_id, array $context_parameters, ilObjUser $recipient=null, bool $html_markup=false)
 
 resolvePlaceholder (string $placeholder_id, array $context_parameters, ilObjUser $recipient=null, bool $html_markup=false)
 

Protected Member Functions

 initLanguage (ilObjUser $user)
 
 initLanguageByIso2Code (string $isoCode)
 

Protected Attributes

 $language
 
 $envHelper
 
 $languageHelper
 
 $userHelper
 
 $orgUnitUserService
 

Private Member Functions

 getGenericPlaceholders ()
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilMailTemplateContext::__construct ( OrgUnitUserService  $orgUnitUserService = null,
ilMailEnvironmentHelper  $envHelper = null,
ilMailUserHelper  $usernameHelper = null,
ilMailLanguageHelper  $languageHelper = null 
)

ilMailTemplateContext constructor.

Parameters
OrgUnitUserService | null$orgUnitUserService
ilMailEnvironmentHelper | null$envHelper
ilMailUserHelper | null$usernameHelper
ilMailLanguageHelper | null$languageHelper

Reimplemented in ilExcMailTemplateGradeReminderContext, ilExcMailTemplatePeerReminderContext, ilExcMailTemplateSubmitReminderContext, ilStudyProgrammeMailTemplateContext, and ilSurveyMailTemplateReminderContext.

Definition at line 39 of file class.ilMailTemplateContext.php.

44 {
45 if (null === $orgUnitUserService) {
47 }
48 $this->orgUnitUserService = $orgUnitUserService;
49
50 if (null === $envHelper) {
52 }
53 $this->envHelper = $envHelper;
54
55 if (null === $usernameHelper) {
56 $usernameHelper = new ilMailUserHelper();
57 }
58 $this->userHelper = $usernameHelper;
59
60 if (null === $languageHelper) {
62 }
63 $this->languageHelper = $languageHelper;
64 }
Class ilMailEnvironmentHelper.
Class ilMailLanguageHelper.
Class ilMailUserHelper.

References $envHelper, $languageHelper, and $orgUnitUserService.

Member Function Documentation

◆ getDescription()

◆ getGenericPlaceholders()

ilMailTemplateContext::getGenericPlaceholders ( )
private
Returns
array

Definition at line 95 of file class.ilMailTemplateContext.php.

95 : array
96 {
97 return [
98 'mail_salutation' => [
99 'placeholder' => 'MAIL_SALUTATION',
100 'label' => $this->getLanguage()->txt('mail_nacc_salutation')
101 ],
102 'first_name' => [
103 'placeholder' => 'FIRST_NAME',
104 'label' => $this->getLanguage()->txt('firstname')
105 ],
106 'last_name' => [
107 'placeholder' => 'LAST_NAME',
108 'label' => $this->getLanguage()->txt('lastname')
109 ],
110 'login' => [
111 'placeholder' => 'LOGIN',
112 'label' => $this->getLanguage()->txt('mail_nacc_login')
113 ],
114 'title' => [
115 'placeholder' => 'TITLE',
116 'label' => $this->getLanguage()->txt('mail_nacc_title'),
117 'supportsCondition' => true
118 ],
119 'firstname_last_name_superior' => [
120 'placeholder' => 'FIRSTNAME_LASTNAME_SUPERIOR',
121 'label' => $this->getLanguage()->txt('mail_firstname_last_name_superior')
122 ],
123 'ilias_url' => [
124 'placeholder' => 'ILIAS_URL',
125 'label' => $this->getLanguage()->txt('mail_nacc_ilias_url')
126 ],
127 'client_name' => [
128 'placeholder' => 'CLIENT_NAME',
129 'label' => $this->getLanguage()->txt('mail_nacc_client_name')
130 ],
131 ];
132 }
return true
Flag indicating whether or not HTTP headers will be sent when outputting captcha image/audio.

References getLanguage(), and true.

Referenced by getPlaceholders().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getId()

◆ getLanguage()

ilMailTemplateContext::getLanguage ( )
Returns
ilLanguage

Definition at line 69 of file class.ilMailTemplateContext.php.

70 {
71 return $this->language ? $this->language : $this->languageHelper->getCurrentLanguage();
72 }
language handling
language()
Definition: language.php:2

References language().

Referenced by ilMailTemplateGenericContext\getDescription(), getGenericPlaceholders(), and ilMailTemplateGenericContext\getTitle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPlaceholders()

ilMailTemplateContext::getPlaceholders ( )
final

Return an array of placeholders.

Returns
array

Definition at line 138 of file class.ilMailTemplateContext.php.

138 : array
139 {
140 $placeholders = $this->getGenericPlaceholders();
141 $specific = $this->getSpecificPlaceholders();
142
143 return $placeholders + $specific;
144 }
getSpecificPlaceholders()
Return an array of placeholders.

References getGenericPlaceholders(), and getSpecificPlaceholders().

+ Here is the call graph for this function:

◆ getSpecificPlaceholders()

ilMailTemplateContext::getSpecificPlaceholders ( )
abstract

Return an array of placeholders.

Returns
array

Reimplemented in ilExcMailTemplateGradeReminderContext, ilExcMailTemplatePeerReminderContext, ilExcMailTemplateSubmitReminderContext, ilStudyProgrammeMailTemplateContext, and ilMailTemplateGenericContext.

Referenced by getPlaceholders().

+ Here is the caller graph for this function:

◆ getTitle()

◆ initLanguage()

ilMailTemplateContext::initLanguage ( ilObjUser  $user)
protected
Parameters
ilObjUser$user

Definition at line 264 of file class.ilMailTemplateContext.php.

264 : void
265 {
266 $this->initLanguageByIso2Code((string) $user->getLanguage());
267 }
getLanguage()
returns a 2char-language-string @access public

References ilObjUser\getLanguage().

Referenced by resolvePlaceholder().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initLanguageByIso2Code()

ilMailTemplateContext::initLanguageByIso2Code ( string  $isoCode)
protected
Parameters
string$isoCode

Definition at line 272 of file class.ilMailTemplateContext.php.

272 : void
273 {
274 $this->language = $this->languageHelper->getLanguageByIsoCode($isoCode);
275 $this->language->loadLanguageModule('mail');
276 }

References language().

+ Here is the call graph for this function:

◆ resolvePlaceholder()

ilMailTemplateContext::resolvePlaceholder ( string  $placeholder_id,
array  $context_parameters,
ilObjUser  $recipient = null,
bool  $html_markup = false 
)
Parameters
string$placeholder_idThe unique (in the context of your class) placeholder id
array$context_parametersThe context parameters given by the mail system (array of key/value pairs)
ilObjUser | null$recipientThe recipient for this mail
bool$html_markupA flag whether or not the return value may contain HTML markup
Returns
string

Definition at line 173 of file class.ilMailTemplateContext.php.

178 : string {
179 if ($recipient !== null) {
180 $this->initLanguage($recipient);
181 }
182
183 $resolved = '';
184
185 switch (true) {
186 case ('mail_salutation' === $placeholder_id && $recipient !== null):
187 $resolved = $this->getLanguage()->txt('mail_salutation_n');
188 switch ($recipient->getGender()) {
189 case 'f':
190 $resolved = $this->getLanguage()->txt('mail_salutation_f');
191 break;
192
193 case 'm':
194 $resolved = $this->getLanguage()->txt('mail_salutation_m');
195 break;
196
197 case 'n':
198 $resolved = $this->getLanguage()->txt('mail_salutation_n');
199 break;
200 }
201 break;
202
203 case ('first_name' === $placeholder_id && $recipient !== null):
204 $resolved = $recipient->getFirstname();
205 break;
206
207 case ('last_name' === $placeholder_id && $recipient !== null):
208 $resolved = $recipient->getLastname();
209 break;
210
211 case ('login' === $placeholder_id && $recipient !== null):
212 $resolved = $recipient->getLogin();
213 break;
214
215 case ('title' === $placeholder_id && $recipient !== null):
216 $resolved = $recipient->getUTitle();
217 break;
218
219 case 'ilias_url' === $placeholder_id:
220 $resolved = $this->envHelper->getHttpPath() . '/login.php?client_id=' . $this->envHelper->getClientId();
221 break;
222
223 case 'client_name' === $placeholder_id:
224 $resolved = $this->envHelper->getClientId();
225 break;
226
227 case 'firstname_last_name_superior' === $placeholder_id && $recipient !== null:
228 $ouUsers = $this->orgUnitUserService->getUsers([$recipient->getId()], true);
229 foreach ($ouUsers as $ouUser) {
230 $superiors = $ouUser->getSuperiors();
231
232 $superiorUsrIds = array_map(function (ilOrgUnitUser $ouUser) {
233 return $ouUser->getUserId();
234 }, $superiors);
235
236 $usrIdByNameMap = $this->userHelper->getUsernameMapForIds($superiorUsrIds);
237
238 $resolved = implode(', ', $usrIdByNameMap);
239 break;
240 }
241 break;
242
243 case !in_array($placeholder_id, array_keys($this->getGenericPlaceholders())):
244 $datePresentationLanguage = ilDatePresentation::getLanguage();
246
247 $resolved = $this->resolveSpecificPlaceholder(
248 $placeholder_id,
249 $context_parameters,
250 $recipient,
251 $html_markup
252 );
253
254 ilDatePresentation::setLanguage($datePresentationLanguage);
255 break;
256 }
257
258 return (string) $resolved;
259 }
Class for date presentation.
static setLanguage($a_lng)
set language
resolveSpecificPlaceholder(string $placeholder_id, array $context_parameters, ilObjUser $recipient=null, bool $html_markup=false)
getLastname()
get lastname @access public
getUTitle()
get user title (note: don't mix up this method with getTitle() that is derived from ilObject and gets...
getFirstname()
get firstname @access public
getLogin()
get login / username @access public
getGender()
get gender @access public
getId()
get object id @access public

References initLanguage().

+ Here is the call graph for this function:

◆ resolveSpecificPlaceholder()

ilMailTemplateContext::resolveSpecificPlaceholder ( string  $placeholder_id,
array  $context_parameters,
ilObjUser  $recipient = null,
bool  $html_markup = false 
)
abstract
Parameters
string$placeholder_id
array$context_parameters
ilObjUser | null$recipient
bool$html_markup
Returns
string

Reimplemented in ilExcMailTemplateGradeReminderContext, ilExcMailTemplatePeerReminderContext, ilExcMailTemplateSubmitReminderContext, ilSessionMailTemplateParticipantContext, and ilMailTemplateGenericContext.

Field Documentation

◆ $envHelper

◆ $language

ilMailTemplateContext::$language
protected

Definition at line 18 of file class.ilMailTemplateContext.php.

◆ $languageHelper

◆ $orgUnitUserService

◆ $userHelper

ilMailTemplateContext::$userHelper
protected

Definition at line 27 of file class.ilMailTemplateContext.php.


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