55 : void
56 {
57 $this[UserSettingsRepository::class] = fn(
$c): UserSettingsRepository =>
58 new UserSettingsRepository(
60 is_readable(CollectSettingsObjective::PATH())
61 ? include CollectSettingsObjective::PATH()
62 : []
63 );
64 $this[UserSettings::class] = fn(
$c): UserSettings =>
65 new UserSettingsImplementation(
71 $c[UserSettingsRepository::class]
72 );
73 $this[StartingPointRepository::class] = fn(
$c): StartingPointRepository =>
74 new StartingPointRepository(
82 $c[UserSettingsRepository::class]
83 );
84 $this[ProfileDataRepository::class] = fn(
$c): ProfileDataRepository =>
85 new ProfileDataRepository(
87 $DIC[
'resource_storage'],
88 $c[ProfileFieldsConfigurationRepository::class]
89 );
90 $this[ProfileFieldsConfigurationRepository::class] = fn(
$c): ProfileFieldsConfigurationRepository =>
91 new ProfileFieldsConfigurationRepository(
93 new UUIDFactory(),
94 is_readable(CollectTypesObjective::PATH())
95 ? include CollectTypesObjective::PATH()
96 : [],
97 array_filter([
98 new Standard\Alias(),
99 new Standard\FirstName(),
100 new Standard\LastName(),
101 new Standard\
Title(),
102 new Standard\Birthday(),
103 new Standard\Gender(),
104 new Standard\Avatar(
105 $DIC[
'resource_storage'],
107 $DIC[
'http']->wrapper()->post(),
110 ),
111 new Standard\Roles(),
112 new Standard\OrganisationalUnits(),
113 new Standard\Interests(
115 ),
116 new Standard\HelpOffered(
118 ),
119 new Standard\HelpLookedFor(
121 ),
122 new Standard\Institution(),
123 new Standard\Department(),
124 new Standard\Street(),
125 new Standard\ZipCode(),
126 new Standard\City(),
127 new Standard\Country(),
128 new Standard\PhoneOffice(),
129 new Standard\PhoneHome(),
130 new Standard\PhoneMobile(),
131 new Standard\Fax(),
132 new Standard\Email(),
133 new Standard\SecondEmail(),
134 new Standard\Hobby(),
135 new Standard\ReferralComment(),
136 new Standard\Matriculation(),
137 \
ilMapUtil::isActivated() ? new Standard\Location() : null
138 ])
139 );
140 $this[
'profile.fields.changelisteners'] = fn(
$c): array =>
141 is_readable(CollectListenersObjective::PATH())
142 ? include CollectListenersObjective::PATH()
143 : [];
144 $this[Profile::class] = fn(
$c): Profile =>
145 new ProfileImplementation(
147 $c[ProfileFieldsConfigurationRepository::class],
148 $c[ProfileDataRepository::class]
149 );
150 $this[NewAccountMailRepository::class] = fn(
$c): NewAccountMailRepository =>
151 new NewAccountMailRepository(
$DIC[
'ilDB']);
152 }