ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilExercisePlaceholderDescription.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
25 {
28  private array $placeholder;
29 
30  public function __construct(
31  ?ilDefaultPlaceholderDescription $defaultPlaceholderDescriptionObject = null,
32  ?ilLanguage $language = null,
33  ?ilUserDefinedFieldsPlaceholderDescription $userDefinedFieldPlaceHolderDescriptionObject = null
34  ) {
35  global $DIC;
36 
37  if (null === $language) {
38  $language = $DIC->language();
39  $language->loadLanguageModule('certificate');
40  }
41  $this->language = $language;
42 
43  if (null === $defaultPlaceholderDescriptionObject) {
44  $defaultPlaceholderDescriptionObject = new ilDefaultPlaceholderDescription(
45  $language,
46  $userDefinedFieldPlaceHolderDescriptionObject
47  );
48  }
49  $this->defaultPlaceHolderDescriptionObject = $defaultPlaceholderDescriptionObject;
50 
51  $this->placeholder = $this->defaultPlaceHolderDescriptionObject->getPlaceholderDescriptions();
52 
53  $this->placeholder['RESULT_PASSED'] = ilLegacyFormElementsUtil::prepareFormOutput(
54  $language->txt('certificate_var_result_passed')
55  );
56  $this->placeholder['RESULT_MARK'] = ilLegacyFormElementsUtil::prepareFormOutput(
57  $language->txt('certificate_var_result_mark_short')
58  );
59  $this->placeholder['EXERCISE_TITLE'] = ilLegacyFormElementsUtil::prepareFormOutput(
60  $language->txt('certificate_ph_exercisetitle')
61  );
62  $this->placeholder['DATE_COMPLETED'] = ilLegacyFormElementsUtil::prepareFormOutput(
63  $language->txt('certificate_ph_datetime_completed')
64  );
65  $this->placeholder['DATETIME_COMPLETED'] = ilLegacyFormElementsUtil::prepareFormOutput(
66  $language->txt('certificate_ph_datetime_completed')
67  );
68  }
69 
76  public function createPlaceholderHtmlDescription(?ilTemplate $template = null): string
77  {
78  if (null === $template) {
79  $template = new ilTemplate('tpl.default_description.html', true, true, 'Services/Certificate');
80  }
81 
82  $template->setVariable('PLACEHOLDER_INTRODUCTION', $this->language->txt('certificate_ph_introduction'));
83 
84  $template->setCurrentBlock('items');
85  foreach ($this->placeholder as $id => $caption) {
86  $template->setVariable('ID', $id);
87  $template->setVariable('TXT', $caption);
88  $template->parseCurrentBlock();
89  }
90 
91  return $template->get();
92  }
93 
99  public function getPlaceholderDescriptions(): array
100  {
101  return $this->placeholder;
102  }
103 }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
loadLanguageModule(string $a_module)
Load language module.
static prepareFormOutput($a_str, bool $a_strip=false)
global $DIC
Definition: feed.php:28
createPlaceholderHtmlDescription(?ilTemplate $template=null)
This methods MUST return an array containing an array with the the description as array value...
getPlaceholderDescriptions()
This method MUST return an array containing an array with the the description as array value...
__construct(?ilDefaultPlaceholderDescription $defaultPlaceholderDescriptionObject=null, ?ilLanguage $language=null, ?ilUserDefinedFieldsPlaceholderDescription $userDefinedFieldPlaceHolderDescriptionObject=null)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
Collection of basic placeholder values that can be used.
ilDefaultPlaceholderDescription $defaultPlaceHolderDescriptionObject