63 : void
64 {
65 $this[UserSettingsConfigurationRepository::class] = fn(
$c): UserSettingsConfigurationRepository =>
66 new DatatabaseUserSettingsConfigurationRepository(
68 is_readable(CollectSettingsObjective::PATH())
69 ? include CollectSettingsObjective::PATH()
70 : []
71 );
72 $this[UserSettings::class] = fn(
$c): UserSettings =>
73 new UserSettingsImplementation(
78 $c[UserSettingsConfigurationRepository::class],
79 $c[UserSettingsDataRepository::class]
80 );
81 $this[StartingPointRepository::class] = fn(
$c): StartingPointRepository =>
82 new StartingPointRepository(
90 $c[UserSettingsConfigurationRepository::class]
91 );
92 $this[UserSettingsDataRepository::class] = fn(
$c): UserSettingsDataRepository =>
93 new DatatabaseUserSettingsDataRepository(
95 );
96 $this[ProfileDataRepository::class] = fn(
$c): ProfileDataRepository =>
97 new DatabaseProfileDataRepository(
99 $DIC[
'resource_storage'],
100 $c[ProfileFieldsConfigurationRepository::class]
101 );
102 $this[ProfileFieldsConfigurationRepository::class] = fn(
$c): ProfileFieldsConfigurationRepository =>
103 new DatabaseProfileFieldsConfigurationRepository(
105 new UUIDFactory(),
106 is_readable(CollectTypesObjective::PATH())
107 ? include CollectTypesObjective::PATH()
108 : [],
109 array_filter([
110 new Standard\Alias(),
111 new Standard\FirstName(),
112 new Standard\LastName(),
113 new Standard\
Title(),
114 new Standard\Birthday(),
115 new Standard\Gender(),
116 new Standard\Avatar(
117 $DIC[
'resource_storage'],
119 $DIC[
'http']->wrapper()->post(),
122 ),
123 new Standard\Roles(
124 $DIC[
'ilObjDataCache']
125 ),
126 new Standard\OrganisationalUnits(),
127 new Standard\Interests(
129 ),
130 new Standard\HelpOffered(
132 ),
133 new Standard\HelpLookedFor(
135 ),
136 new Standard\Institution(),
137 new Standard\Department(),
138 new Standard\Street(),
139 new Standard\ZipCode(),
140 new Standard\City(),
141 new Standard\Country(),
142 new Standard\PhoneOffice(),
143 new Standard\PhoneHome(),
144 new Standard\PhoneMobile(),
145 new Standard\Fax(),
146 new Standard\Email(),
147 new Standard\SecondEmail(),
148 new Standard\Hobby(),
149 new Standard\ReferralComment(),
150 new Standard\Matriculation(),
151 new Standard\ClientIP(),
152 \
ilMapUtil::isActivated() ? new Standard\Location() : null
153 ])
154 );
155 $this[
'profile.fields.changelisteners'] = fn(
$c): array =>
156 is_readable(CollectListenersObjective::PATH())
157 ? include CollectListenersObjective::PATH()
158 : [];
159 $this[Profile::class] = fn(
$c): Profile =>
160 new ProfileImplementation(
162 $c[ProfileFieldsConfigurationRepository::class],
163 $c[ProfileDataRepository::class]
164 );
165 $this[EndpointFactory::class] = fn(
$c): EndpointFactory =>
166 new EndpointFactory(
167 $c[ProfileFieldsConfigurationRepository::class],
168 $c[ProfileDataRepository::class],
169 $c[UserSettingsDataRepository::class],
170 $DIC[
'user']->getLoggedInUser(),
174 new DataFactory()
175 );
176 $this[Search::class] = fn(
$c): Search => new Search(
178 $c[EndpointFactory::class]
179 );
180 $this[NewAccountMailRepository::class] = fn(
$c): NewAccountMailRepository =>
181 new NewAccountMailRepository(
$DIC[
'ilDB']);
182 }