ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
class.ilStudyProgrammePlaceholderDescription.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 {
24  private readonly ilLanguage $language;
25  private array $placeholder;
26 
27  public function __construct(
28  ?ilDefaultPlaceholderDescription $defaultPlaceholderDescriptionObject = null,
29  ?ilLanguage $language = null,
30  ?ilUserDefinedFieldsPlaceholderDescription $userDefinedFieldPlaceHolderDescriptionObject = null
31  ) {
32  global $DIC;
33 
34  if (null === $language) {
35  $language = $DIC->language();
36  $language->loadLanguageModule('certificate');
37  }
38  $this->language = $language;
39 
40  if (null === $defaultPlaceholderDescriptionObject) {
41  $defaultPlaceholderDescriptionObject = new ilDefaultPlaceholderDescription(
42  $language,
43  $userDefinedFieldPlaceHolderDescriptionObject
44  );
45  }
46  $this->defaultPlaceHolderDescriptionObject = $defaultPlaceholderDescriptionObject;
47 
48  $this->placeholder = $this->defaultPlaceHolderDescriptionObject->getPlaceholderDescriptions();
49  $this->placeholder['PRG_TITLE'] = $this->language->txt('sp_certificate_title');
50  $this->placeholder['PRG_DESCRIPTION'] = $this->language->txt('sp_certificate_description');
51  $this->placeholder['PRG_TYPE'] = $this->language->txt('sp_certificate_type');
52  $this->placeholder['PRG_POINTS'] = $this->language->txt('sp_certificate_points');
53  $this->placeholder['PRG_COMPLETION_DATE'] = $this->language->txt('sp_certificate_completion_date');
54  $this->placeholder['PRG_EXPIRES_AT'] = $this->language->txt('sp_certificate_progress_expires_at');
55  }
56 
61  public function createPlaceholderHtmlDescription(?ilTemplate $template = null): string
62  {
63  if (null === $template) {
64  $template = new ilTemplate('tpl.default_description.html', true, true, 'Services/Certificate');
65  }
66 
67  $template->setVariable("PLACEHOLDER_INTRODUCTION", $this->language->txt('certificate_ph_introduction'));
68 
69  $template->setCurrentBlock("items");
70  foreach ($this->placeholder as $id => $caption) {
71  $template->setVariable("ID", $id);
72  $template->setVariable("TXT", $caption);
73  $template->parseCurrentBlock();
74  }
75 
76  return $template->get();
77  }
78 
84  public function getPlaceholderDescriptions(): array
85  {
86  return $this->placeholder;
87  }
88 }
readonly ilDefaultPlaceholderDescription $defaultPlaceHolderDescriptionObject
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...
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
getPlaceholderDescriptions()
This method MUST return an array containing an array with the the description as array value...
Collection of basic placeholder values that can be used.
__construct(?ilDefaultPlaceholderDescription $defaultPlaceholderDescriptionObject=null, ?ilLanguage $language=null, ?ilUserDefinedFieldsPlaceholderDescription $userDefinedFieldPlaceHolderDescriptionObject=null)