ILIAS  release_8 Revision v8.24
ilMailTemplatePlaceholderResolver Class Reference

Class ilMailTemplatePlaceholderResolver. More...

+ Collaboration diagram for ilMailTemplatePlaceholderResolver:

Public Member Functions

 __construct (ilMailTemplateContext $context, string $a_message)
 
 resolve (ilObjUser $user=null, array $contextParameters=[], bool $replaceEmptyPlaceholders=true)
 

Protected Attributes

ilMailTemplateContext $context
 
string $message = ''
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilMailTemplatePlaceholderResolver::__construct ( ilMailTemplateContext  $context,
string  $a_message 
)

Definition at line 30 of file class.ilMailTemplatePlaceholderResolver.php.

31 {
32 $this->context = $context;
33 $this->message = $a_message;
34 }

References $context.

Member Function Documentation

◆ resolve()

ilMailTemplatePlaceholderResolver::resolve ( ilObjUser  $user = null,
array  $contextParameters = [],
bool  $replaceEmptyPlaceholders = true 
)

Definition at line 36 of file class.ilMailTemplatePlaceholderResolver.php.

40 : string {
42
43 foreach ($this->context->getPlaceholders() as $key => $ph_definition) {
44 $result = $this->context->resolvePlaceholder($key, $contextParameters, $user);
45 if (!$replaceEmptyPlaceholders && $result === '') {
46 continue;
47 }
48
49 $startTag = '\[IF_' . strtoupper($key) . '\]';
50 $endTag = '\[\/IF_' . strtoupper($key) . '\]';
51
52 if ($result !== '') {
53 $message = str_replace('[' . $ph_definition['placeholder'] . ']', $result, $message);
54
55 if (array_key_exists('supportsCondition', $ph_definition) &&
56 $ph_definition['supportsCondition']
57 ) {
58 $message = preg_replace(
59 '/' . $startTag . '(.*?)' . $endTag . '/imsU',
60 '$1',
62 );
63 }
64 } else {
65 $message = preg_replace(
66 '/[[:space:]]\[' . $ph_definition['placeholder'] . '\][[:space:]]/ims',
67 ' ',
69 );
70 $message = preg_replace(
71 '/\[' . $ph_definition['placeholder'] . '\]/ims',
72 '',
74 );
75
76 if (array_key_exists('supportsCondition', $ph_definition) &&
77 $ph_definition['supportsCondition']
78 ) {
79 $message = preg_replace(
80 '/' . $startTag . '.*?' . $endTag . '/imsU',
81 '',
83 );
84 }
85 }
86 }
87
88 return $message;
89 }
string $key
Consumer key/client ID value.
Definition: System.php:193

References ILIAS\LTI\ToolProvider\$key, and $message.

Field Documentation

◆ $context

ilMailTemplateContext ilMailTemplatePlaceholderResolver::$context
protected

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

Referenced by __construct().

◆ $message

string ilMailTemplatePlaceholderResolver::$message = ''
protected

Definition at line 28 of file class.ilMailTemplatePlaceholderResolver.php.

Referenced by resolve().


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