ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilMailTemplateContext Class Reference

Class ilMailTemplateContext. More...

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

Public Member Functions

 getLanguage ()
 
 setLanguage ($language)
 
 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 ($placeholder_id, array $context_parameters, ilObjUser $recipient=null, $html_markup=false)
 
 resolvePlaceholder ($placeholder_id, array $context_parameters, ilObjUser $recipient=null, $html_markup=false)
 

Protected Member Functions

 initLanguage (ilObjUser $user)
 
 initLanguageByIso2Code ($a_code)
 Init language by ISO2 code. More...
 

Protected Attributes

 $language
 

Static Private Member Functions

static getGenericPlaceholders ()
 

Detailed Description

Member Function Documentation

◆ getDescription()

ilMailTemplateContext::getDescription ( )
abstract

Returns a translated description (depending on the current language) which is displayed in the user interface.

Returns
string

Referenced by setLanguage().

+ Here is the caller graph for this function:

◆ getGenericPlaceholders()

static ilMailTemplateContext::getGenericPlaceholders ( )
staticfinalprivate
Returns
array

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

References $DIC.

58  {
59  global $DIC;
60 
61  return array(
62  'mail_salutation' => array(
63  'placeholder' => 'MAIL_SALUTATION',
64  'label' => $DIC->language()->txt('mail_nacc_salutation')
65  ),
66  'first_name' => array(
67  'placeholder' => 'FIRST_NAME',
68  'label' => $DIC->language()->txt('firstname')
69  ),
70  'last_name' => array(
71  'placeholder' => 'LAST_NAME',
72  'label' => $DIC->language()->txt('lastname')
73  ),
74  'login' => array(
75  'placeholder' => 'LOGIN',
76  'label' => $DIC->language()->txt('mail_nacc_login')
77  ),
78  'title' => array(
79  'placeholder' => 'TITLE',
80  'label' => $DIC->language()->txt('mail_nacc_title'),
81  'supportsCondition' => true
82  ),
83  'ilias_url' => array(
84  'placeholder' => 'ILIAS_URL',
85  'label' => $DIC->language()->txt('mail_nacc_ilias_url')
86  ),
87  'client_name' => array(
88  'placeholder' => 'CLIENT_NAME',
89  'label' => $DIC->language()->txt('mail_nacc_client_name')
90  )
91  );
92  }
global $DIC
Definition: saml.php:7

◆ getId()

ilMailTemplateContext::getId ( )
abstract

Returns a unique (in the context of mail template contexts) id.

Returns
string

Referenced by ilMailTemplateContextService\createEntry(), and setLanguage().

+ Here is the caller graph for this function:

◆ getLanguage()

ilMailTemplateContext::getLanguage ( )
Returns
ilLanguage|null

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

References $DIC.

Referenced by ilScormMailTemplateLPContext\getDescription(), ilCourseMailTemplateTutorContext\getDescription(), and resolvePlaceholder().

22  {
23  global $DIC;
24 
25  return $this->language ? $this->language : $DIC->language();
26  }
global $DIC
Definition: saml.php:7
+ Here is the caller graph for this function:

◆ getPlaceholders()

ilMailTemplateContext::getPlaceholders ( )
final

Return an array of placeholders.

Returns
array

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

References getSpecificPlaceholders(), and resolveSpecificPlaceholder().

99  {
100  $placeholders = self::getGenericPlaceholders();
101  $specific = $this->getSpecificPlaceholders();
102 
103  return $placeholders + $specific;
104  }
getSpecificPlaceholders()
Return an array of placeholders.
+ Here is the call graph for this function:

◆ getSpecificPlaceholders()

ilMailTemplateContext::getSpecificPlaceholders ( )
abstract

◆ getTitle()

ilMailTemplateContext::getTitle ( )
abstract

Returns a translated title (depending on the current language) which is displayed in the user interface.

Returns
string

Referenced by setLanguage().

+ Here is the caller graph for this function:

◆ initLanguage()

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

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

References ilObjUser\getLanguage(), and initLanguageByIso2Code().

Referenced by resolvePlaceholder().

197  {
198  $this->initLanguageByIso2Code($user->getLanguage());
199  }
initLanguageByIso2Code($a_code)
Init language by ISO2 code.
getLanguage()
returns a 2char-language-string public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initLanguageByIso2Code()

ilMailTemplateContext::initLanguageByIso2Code (   $a_code)
protected

Init language by ISO2 code.

Parameters
string$a_code

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

References ilLanguageFactory\_getLanguage().

Referenced by initLanguage().

206  {
207  $this->language = ilLanguageFactory::_getLanguage($a_code);
208  $this->language->loadLanguageModule('mail');
209  }
static _getLanguage($a_lang_key='')
Get langauge object.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resolvePlaceholder()

ilMailTemplateContext::resolvePlaceholder (   $placeholder_id,
array  $context_parameters,
ilObjUser  $recipient = null,
  $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 128 of file class.ilMailTemplateContext.php.

References getLanguage(), ilDatePresentation\getLanguage(), initLanguage(), resolveSpecificPlaceholder(), and ilDatePresentation\setLanguage().

129  {
130  if ($recipient !== null) {
131  $this->initLanguage($recipient);
132  }
133 
134  $old_lang = ilDatePresentation::getLanguage();
136 
137  $resolved = '';
138 
139  switch (true) {
140  case ('mail_salutation' == $placeholder_id && $recipient !== null):
141  switch ($recipient->getGender()) {
142  case 'f':
143  $resolved = $this->getLanguage()->txt('mail_salutation_f');
144  break;
145 
146  case 'm':
147  $resolved = $this->getLanguage()->txt('mail_salutation_m');
148  break;
149 
150  case 'n':
151  $resolved = $this->getLanguage()->txt('mail_salutation_n');
152  break;
153 
154  default:
155  $resolved = $this->getLanguage()->txt('mail_salutation_n');
156  }
157  break;
158 
159  case ('first_name' == $placeholder_id && $recipient !== null):
160  $resolved = $recipient->getFirstname();
161  break;
162 
163  case ('last_name' == $placeholder_id && $recipient !== null):
164  $resolved = $recipient->getLastname();
165  break;
166 
167  case ('login' == $placeholder_id && $recipient !== null):
168  $resolved = $recipient->getLogin();
169  break;
170 
171  case ('title' == $placeholder_id && $recipient !== null):
172  $resolved = $recipient->getUTitle();
173  break;
174 
175  case 'ilias_url' == $placeholder_id:
176  $resolved = ILIAS_HTTP_PATH . '/login.php?client_id=' . CLIENT_ID;
177  break;
178 
179  case 'client_name' == $placeholder_id:
180  $resolved = CLIENT_NAME;
181  break;
182 
183  case !in_array($placeholder_id, array_keys(self::getGenericPlaceholders())):
184  $resolved = $this->resolveSpecificPlaceholder($placeholder_id, $context_parameters, $recipient, $html_markup);
185  break;
186  }
187 
189 
190  return $resolved;
191  }
getLogin()
get login / username public
getFirstname()
get firstname public
resolveSpecificPlaceholder($placeholder_id, array $context_parameters, ilObjUser $recipient=null, $html_markup=false)
static setLanguage($a_lng)
set language
getLastname()
get lastname public
getUTitle()
get user title (note: don't mix up this method with getTitle() that is derived from ilObject and gets...
static getLanguage()
set language
getGender()
get gender public
+ Here is the call graph for this function:

◆ resolveSpecificPlaceholder()

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

Referenced by ilScormMailTemplateLPContext\getDescription(), ilCourseMailTemplateTutorContext\getDescription(), ilCourseMailTemplateMemberContext\getDescription(), ilSurveyMailTemplateReminderContext\getDescription(), getPlaceholders(), and resolvePlaceholder().

+ Here is the caller graph for this function:

◆ setLanguage()

ilMailTemplateContext::setLanguage (   $language)
Parameters
ilLanguage | null$language

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

References $language, getDescription(), getId(), and getTitle().

+ Here is the call graph for this function:

Field Documentation

◆ $language

ilMailTemplateContext::$language
protected

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

Referenced by setLanguage().


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