ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilTestSettingsGUI.php
Go to the documentation of this file.
1 <?php
2 
25 abstract class ilTestSettingsGUI
26 {
27  protected ilObjTest $testOBJ;
29 
30  public function __construct(ilObjTest $testOBJ)
31  {
32  $this->testOBJ = $testOBJ;
33 
34  $templateId = $this->testOBJ->getTemplate();
35 
36  if ($templateId) {
37  $this->settingsTemplate = new ilSettingsTemplate($templateId, ilObjAssessmentFolderGUI::getSettingsTemplateConfig());
38  }
39  }
40 
41  protected function getTemplateSettingValue($settingName)
42  {
43  if (!$this->settingsTemplate) {
44  return null;
45  }
46 
47  $templateSettings = $this->settingsTemplate->getSettings();
48 
49  if (!isset($templateSettings[$settingName])) {
50  return false;
51  }
52 
53  return $templateSettings[$settingName]['value'];
54  }
55 
56  protected function isHiddenFormItem($formFieldId): bool
57  {
58  if (!$this->settingsTemplate) {
59  return false;
60  }
61 
62  $settings = $this->settingsTemplate->getSettings();
63 
64  if (!isset($settings[$formFieldId])) {
65  return false;
66  }
67 
68  if (!$settings[$formFieldId]['hide']) {
69  return false;
70  }
71 
72  return true;
73  }
74 
75  protected function isSectionHeaderRequired($fields): bool
76  {
77  foreach ($fields as $field) {
78  if (!$this->isHiddenFormItem($field)) {
79  return true;
80  }
81  }
82 
83  return false;
84  }
85 
86  protected function formPropertyExists(ilPropertyFormGUI $form, $propertyId): bool
87  {
88  return $form->getItemByPostVar($propertyId) instanceof ilFormPropertyGUI;
89  }
90 
91  protected function removeHiddenItems(ilPropertyFormGUI $form)
92  {
93  if ($this->settingsTemplate) {
94  foreach ($this->settingsTemplate->getSettings() as $id => $item) {
95  if ($item["hide"]) {
96  $form->removeItemByPostVar($id);
97  }
98  }
99  }
100  }
101 }
array $settings
Setting values (LTI parameters, custom parameters and local parameters).
Definition: System.php:200
ilSettingsTemplate $settingsTemplate
getItemByPostVar(string $a_post_var)
removeItemByPostVar(string $a_post_var, bool $a_remove_unused_headers=false)
__construct(ilObjTest $testOBJ)
removeHiddenItems(ilPropertyFormGUI $form)
getTemplateSettingValue($settingName)
This class represents a property in a property form.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
formPropertyExists(ilPropertyFormGUI $form, $propertyId)
Settings template application class.