19 declare(strict_types=1);
22 require_once __DIR__ .
'/class.ilUserDefinedFields.php';
40 $this->
lng = $DIC->language();
41 $this->component_repository = $DIC[
'component.repository'];
42 $this->component_factory = $DIC[
'component.factory'];
47 if (self::$instance) {
48 return self::$instance;
50 return self::$instance =
new self();
64 $types[$plugin->getDefinitionType()] = $plugin->getDefinitionTypeName();
75 if ($plugin->getDefinitionType() === $type) {
96 bool $changeable =
true,
97 string $default_value =
'' 101 switch ($definition[
'field_type']) {
104 $definition[
'field_name'],
105 'udf_' . $definition[
'field_id']
108 $fprop->setValue($default_value);
110 $fprop->setMaxLength(255);
111 $fprop->setRequired((
bool) $definition[
'required']);
112 if (!$changeable && (!$definition[
'required'] || $default_value !==
'')) {
113 $fprop->setDisabled(
true);
119 $definition[
'field_name'],
120 'udf_' . $definition[
'field_id']
123 $fprop->setValue($default_value);
124 $fprop->setUseRte(
true);
125 $fprop->setRequired((
bool) $definition[
'required']);
126 if (!$changeable && (!$definition[
'required'] || $default_value !==
'')) {
127 $fprop->setDisabled(
true);
133 $definition[
'field_name'],
134 'udf_' . $definition[
'field_id']
139 $fprop->setOptions($user_defined_fields->fieldValuesToSelectArray($definition[
'field_values']));
140 $fprop->setValue($default_value);
141 $fprop->setRequired((
bool) $definition[
'required']);
142 if (!$changeable && (!$definition[
'required'] || $default_value !==
'')) {
143 $fprop->setDisabled(
true);
150 if ($plugin->getDefinitionType() == $definition[
'field_type']) {
151 $fprop = $plugin->getFormPropertyForDefinition(
getPluginForType(int $type)
Get plugin for udf type.
Readable part of repository interface to ilComponentDataDB.
ilComponentFactory $component_factory
getFormPropertyForDefinition(array $definition, bool $changeable=true, string $default_value='')
Get form property for definition.
ilComponentRepository $component_repository
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getActivePlugins()
Get plugins for fields.
const UDF_TYPE_TEXT
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a text area property in a property form.
static ilCustomUserFieldsHelper $instance