6 'autoloadManager' => DI\autowire(\
Elgg\AutoloadManager::class)->constructorParameter(
'cache', DI\
get(
'localFileCache')),
7 'accessCache' => DI\factory(
function (ContainerInterface $c) {
8 return $c->sessionCache->access;
10 'accessCollections' => DI\autowire(\
Elgg\Database\AccessCollections::class)->constructorParameter(
'cache', DI\
get(
'accessCache')),
11 'actions' => DI\autowire(\
Elgg\ActionsService::class),
12 'accounts' => DI\autowire(\
Elgg\Users\Accounts::class),
13 'adminNotices' => DI\autowire(\
Elgg\Database\AdminNotices::class),
14 'ajax' => DI\autowire(\
Elgg\Ajax\Service::class),
15 'amdConfig' => DI\factory(
function (ContainerInterface $c) {
16 $obj = new \Elgg\Amd\Config($c->events);
17 $obj->setBaseUrl($c->simpleCache->getRoot());
20 'annotationsTable' => DI\autowire(\
Elgg\Database\AnnotationsTable::class),
21 'apiUsersTable' => DI\autowire(\
Elgg\Database\ApiUsersTable::class),
22 'authentication' => DI\autowire(\
Elgg\AuthenticationService::class),
23 'autoParagraph' => DI\autowire(\
Elgg\Views\AutoParagraph::class),
24 'boot' => DI\autowire(\
Elgg\BootService::class)->constructorParameter(
'cache', DI\
get(
'bootCache')),
25 'bootCache' => DI\factory(
function (ContainerInterface $c) {
27 return new \Elgg\Cache\CompositeCache(
'elgg_boot', $c->config, $flags);
29 'cacheHandler' => DI\autowire(\
Elgg\Application\CacheHandler::class),
30 'cssCompiler' => DI\autowire(\
Elgg\Assets\CssCompiler::class),
31 'csrf' => DI\autowire(\
Elgg\Security\Csrf::class),
32 'classLoader' => DI\autowire(\
Elgg\ClassLoader::class),
33 'cli' => DI\autowire(\
Elgg\Cli::class)->constructorParameter(
'input', DI\
get(
'cli_input'))->constructorParameter(
'output', DI\
get(
'cli_output')),
34 'cli_input' => DI\factory(
function (ContainerInterface $c) {
35 return \Elgg\Application::getStdIn();
37 'cli_output' => DI\factory(
function (ContainerInterface $c) {
38 return \Elgg\Application::getStdOut();
40 'cli_progress' => DI\autowire(\
Elgg\Cli\Progress::class)->constructorParameter(
'output', DI\
get(
'cli_output')),
42 'configTable' => DI\autowire(\
Elgg\Database\ConfigTable::class),
43 'cron' => DI\autowire(\
Elgg\Cron::class),
44 'crypto' => DI\autowire(\
Elgg\Security\Crypto::class),
45 'dataCache' => DI\autowire(\
Elgg\Cache\DataCache::class),
46 'db' => DI\autowire(\
Elgg\Database::class),
48 'delayedEmailQueueTable' => DI\autowire(\
Elgg\Database\DelayedEmailQueueTable::class),
49 'delayedEmailService' => DI\autowire(\
Elgg\Email\DelayedEmailService::class),
50 'emails' => DI\autowire(\
Elgg\EmailService::class)->constructorParameter(
'mailer', DI\
get(
'mailer')),
51 'entityCache' => DI\factory(
function (ContainerInterface $c) {
52 return new \Elgg\Cache\EntityCache($c->sessionCache->entities);
54 'entity_capabilities' => DI\autowire(\
Elgg\EntityCapabilitiesService::class),
55 'entityPreloader' => DI\autowire(\
Elgg\EntityPreloader::class),
56 'entityTable' => DI\autowire(\
Elgg\Database\EntityTable::class),
57 'events' => DI\autowire(\
Elgg\EventsService::class),
58 'externalFiles' => DI\autowire(\
Elgg\Assets\ExternalFiles::class)->constructorParameter(
'serverCache', DI\
get(
'serverCache')),
59 'fields' => DI\autowire(\
Elgg\Forms\FieldsService::class),
60 'forms' => DI\autowire(\
Elgg\FormsService::class),
61 'fileCache' => DI\factory(
function (ContainerInterface $c) {
63 return new \Elgg\Cache\CompositeCache(
'elgg_system_cache', $c->config, $flags);
65 'filestore' => DI\factory(
function (ContainerInterface $c) {
66 return new \Elgg\Filesystem\Filestore\DiskFilestore($c->config->dataroot);
68 'gatekeeper' => DI\autowire(\
Elgg\Gatekeeper::class),
69 'group_tools' => DI\autowire(\
Elgg\Groups\Tools::class),
70 'handlers' => DI\autowire(\
Elgg\HandlersService::class),
71 'hmac' => DI\autowire(\
Elgg\Security\HmacFactory::class),
72 'hmacCacheTable' => DI\autowire(\
Elgg\Database\HMACCacheTable::class),
73 'html_formatter' => DI\autowire(\
Elgg\Views\HtmlFormatter::class),
74 'iconService' => DI\autowire(\
Elgg\EntityIconService::class),
75 'imageFetcher' => DI\autowire(\
Elgg\Assets\ImageFetcherService::class),
76 'imageService' => DI\autowire(\
Elgg\ImageService::class),
77 'invoker' => DI\autowire(\
Elgg\Invoker::class)->constructorParameter(
'dic',
function() {
return elgg(); }),
78 'locale' => DI\autowire(\
Elgg\I18n\LocaleService::class),
79 'localFileCache' => DI\factory(
function (ContainerInterface $c) {
81 return new \Elgg\Cache\CompositeCache(
'elgg_local_system_cache', $c->config, $flags);
83 'logger' => DI\factory(
function (ContainerInterface $c) {
86 $logger->setLevel($c->config->debug);
90 'mailer' => DI\factory(
function (ContainerInterface $c) {
91 switch ($c->config->emailer_transport) {
93 $transport = new \Laminas\Mail\Transport\Smtp();
94 $transportOptions = new \Laminas\Mail\Transport\SmtpOptions(
95 $c->config->emailer_smtp_settings
97 $transport->setOptions($transportOptions);
100 return new \Laminas\Mail\Transport\Sendmail($c->config->emailer_sendmail_settings);
103 'menus' => DI\autowire(\
Elgg\Menu\Service::class),
104 'metadataCache' => DI\factory(
function (ContainerInterface $c) {
105 $cache = $c->dataCache->metadata;
106 return new \Elgg\Cache\MetadataCache($cache);
108 'metadataTable' => DI\autowire(\
Elgg\Database\MetadataTable::class),
109 'mimetype' => DI\autowire(\
Elgg\Filesystem\MimeTypeService::class),
110 'mutex' => DI\autowire(\
Elgg\Database\Mutex::class),
111 'notifications' => DI\autowire(\
Elgg\Notifications\NotificationsService::class)->constructorParameter(
'queue', DI\
get(
'notificationsQueue')),
112 'notificationsQueue' => DI\autowire(\
Elgg\Notifications\NotificationsQueue::class)->constructorParameter(
'name', \
Elgg\Notifications\NotificationsQueue::QUEUE_NAME),
113 'pageOwner' => DI\autowire(\
Elgg\Page\PageOwnerService::class),
114 'passwords' => DI\autowire(\
Elgg\PasswordService::class),
115 'passwordGenerator' => DI\autowire(\
Elgg\Security\PasswordGeneratorService::class),
116 'persistentLogin' => DI\autowire(\
Elgg\PersistentLoginService::class),
117 'plugins' => DI\autowire(\
Elgg\Database\Plugins::class)->constructorParameter(
'cache', DI\
get(
'pluginsCache')),
118 'pluginsCache' => DI\factory(
function (ContainerInterface $c) {
121 'publicDb' => DI\autowire(\
Elgg\Application\Database::class),
122 'queryCache' => DI\factory(
function (ContainerInterface $c) {
123 $config_disabled = $c->config->db_disable_query_cache ===
true;
124 return new \Elgg\Cache\QueryCache($c->config->db_query_cache_limit, $config_disabled);
126 'redirects' => DI\autowire(\
Elgg\RedirectService::class),
127 'relationshipsTable' => DI\autowire(\
Elgg\Database\RelationshipsTable::class),
128 'request' => DI\factory(
function (ContainerInterface $c) {
130 $request = \Elgg\Http\Request::createFromGlobals();
134 if ($CONFIG instanceof \
Elgg\Config) {
135 $request->initializeTrustedProxyConfiguration($CONFIG);
141 'requestContext' => DI\factory(
function (ContainerInterface $c) {
142 $context = new \Elgg\Router\RequestContext();
143 return $context->fromRequest($c->request);
145 'responseFactory' => DI\autowire(\
Elgg\Http\ResponseFactory::class),
146 'riverTable' => DI\autowire(\
Elgg\Database\RiverTable::class),
147 'routeCollection' => DI\autowire(\
Elgg\Router\RouteCollection::class),
148 'routes' => DI\autowire(\
Elgg\Router\RouteRegistrationService::class),
149 'router' => DI\autowire(\
Elgg\Router::class),
150 'search' => DI\autowire(\
Elgg\Search\SearchService::class),
151 'seeder' => DI\autowire(\
Elgg\Database\Seeder::class),
152 'serveFileHandler' => DI\autowire(\
Elgg\Application\ServeFileHandler::class),
153 'session' => DI\factory(
function (ContainerInterface $c) {
154 return \ElggSession::fromDatabase($c->config, $c->db);
156 'sessionCache' => DI\autowire(\
Elgg\Cache\SessionCache::class),
157 'session_manager' => DI\autowire(\
Elgg\SessionManagerService::class),
158 'simpleCache' => DI\autowire(\
Elgg\Cache\SimpleCache::class),
159 'siteSecret' => DI\autowire(\
Elgg\Security\SiteSecret::class),
160 'stickyForms' => DI\autowire(\
Elgg\Forms\StickyForms::class),
161 'systemCache' => DI\autowire(\
Elgg\Cache\SystemCache::class)->constructorParameter(
'cache', DI\
get(
'fileCache')),
162 'serverCache' => DI\autowire(\
Elgg\Cache\SystemCache::class)->constructorParameter(
'cache', DI\
get(
'localFileCache')),
163 'subscriptions' => DI\autowire(\
Elgg\Notifications\SubscriptionsService::class),
164 'system_messages' => DI\autowire(\
Elgg\SystemMessagesService::class),
165 'table_columns' => DI\autowire(\
Elgg\Views\TableColumn\ColumnFactory::class),
166 'temp_filestore' => DI\autowire(\
Elgg\Filesystem\Filestore\TempDiskFilestore::class),
167 'timer' => DI\autowire(\
Elgg\Timer::class),
168 'translator' => DI\autowire(\
Elgg\I18n\Translator::class),
169 'uploads' => DI\autowire(\
Elgg\UploadService::class),
170 'upgrades' => DI\autowire(\
Elgg\UpgradeService::class),
171 'urlGenerator' => DI\factory(
function (ContainerInterface $c) {
172 return new \Elgg\Router\UrlGenerator($c->routeCollection, $c->requestContext);
174 'urlMatcher' => DI\factory(
function (ContainerInterface $c) {
175 return new \Elgg\Router\UrlMatcher($c->routeCollection, $c->requestContext);
177 'urlSigner' => DI\autowire(\
Elgg\Security\UrlSigner::class),
178 'urls' => DI\autowire(\
Elgg\Http\Urls::class),
179 'userCapabilities' => DI\autowire(\
Elgg\UserCapabilities::class),
180 'usersApiSessionsTable' => DI\autowire(\
Elgg\Database\UsersApiSessionsTable::class),
181 'users_remember_me_cookies_table' => DI\autowire(\
Elgg\Database\UsersRememberMeCookiesTable::class),
182 'upgradeLocator' => DI\autowire(\
Elgg\Upgrade\Locator::class),
183 'views' => DI\autowire(\
Elgg\ViewsService::class),
184 'viewCacher' => DI\autowire(\
Elgg\Cache\ViewCacher::class),
185 'widgets' => DI\autowire(\
Elgg\WidgetsService::class),
188 \ElggSession::class => DI\get(
'session'),
189 \Elgg\ActionsService::class => DI\get(
'actions'),
190 \Elgg\Ajax\Service::class => DI\get(
'ajax'),
191 \Elgg\Amd\Config::class => DI\get(
'amdConfig'),
192 \Elgg\Application\CacheHandler::class => DI\get(
'cacheHandler'),
193 \Elgg\Application\Database::class => DI\get(
'publicDb'),
194 \Elgg\Application\ServeFileHandler::class => DI\get(
'serveFileHandler'),
195 \Elgg\Assets\CssCompiler::class => DI\get(
'cssCompiler'),
196 \Elgg\Assets\ExternalFiles::class => DI\get(
'externalFiles'),
197 \Elgg\Assets\ImageFetcherService::class => DI\get(
'imageFetcher'),
198 \Elgg\AuthenticationService::class => DI\get(
'authentication'),
199 \Elgg\AutoloadManager::class => DI\get(
'autoloadManager'),
200 \Elgg\BootService::class => DI\get(
'boot'),
201 \Elgg\Cache\DataCache::class => DI\get(
'dataCache'),
202 \Elgg\Cache\EntityCache::class => DI\get(
'entityCache'),
203 \Elgg\Cache\MetadataCache::class => DI\get(
'metadataCache'),
204 \Elgg\Cache\QueryCache::class => DI\get(
'queryCache'),
205 \Elgg\Cache\SessionCache::class => DI\get(
'sessionCache'),
206 \Elgg\Cache\SimpleCache::class => DI\get(
'simpleCache'),
207 \Elgg\Cache\SystemCache::class => DI\get(
'systemCache'),
208 \Elgg\Cache\ViewCacher::class => DI\get(
'viewCacher'),
209 \Elgg\ClassLoader::class => DI\get(
'classLoader'),
210 \Elgg\Cli::class => DI\get(
'cli'),
211 \Elgg\Cli\Progress::class => DI\get(
'cli_progress'),
212 \Elgg\Config::class => DI\get(
'config'),
213 \Elgg\Cron::class => DI\get(
'cron'),
214 \Elgg\Database::class => DI\get(
'db'),
215 \Elgg\Database\AccessCollections::class => DI\get(
'accessCollections'),
216 \Elgg\Database\AdminNotices::class => DI\get(
'adminNotices'),
217 \Elgg\Database\AnnotationsTable::class => DI\get(
'annotationsTable'),
218 \Elgg\Database\ApiUsersTable::class => DI\get(
'apiUsersTable'),
219 \Elgg\Database\ConfigTable::class => DI\get(
'configTable'),
220 \Elgg\Database\DbConfig::class => DI\get(
'dbConfig'),
221 \Elgg\Database\DelayedEmailQueueTable::class => DI\get(
'delayedEmailQueueTable'),
222 \Elgg\Database\EntityTable::class => DI\get(
'entityTable'),
223 \Elgg\Database\HMACCacheTable::class => DI\get(
'hmacCacheTable'),
224 \Elgg\Database\MetadataTable::class => DI\get(
'metadataTable'),
225 \Elgg\Database\Mutex::class => DI\get(
'mutex'),
226 \Elgg\Database\Plugins::class => DI\get(
'plugins'),
227 \Elgg\Database\RelationshipsTable::class => DI\get(
'relationshipsTable'),
228 \Elgg\Database\RiverTable::class => DI\get(
'riverTable'),
229 \Elgg\Database\Seeder::class => DI\get(
'seeder'),
230 \Elgg\Database\UsersApiSessionsTable::class => DI\get(
'usersApiSessionsTable'),
231 \Elgg\Database\UsersRememberMeCookiesTable::class => DI\get(
'users_remember_me_cookies_table'),
232 \Elgg\EntityPreloader::class => DI\get(
'entityPreloader'),
233 \Elgg\EmailService::class => DI\get(
'emails'),
234 \Elgg\Email\DelayedEmailService::class => DI\get(
'delayedEmailService'),
235 \Elgg\EntityIconService::class => DI\get(
'iconService'),
236 \Elgg\EventsService::class => DI\get(
'events'),
237 \Elgg\Filesystem\Filestore\DiskFilestore::class => DI\get(
'filestore'),
238 \Elgg\Filesystem\Filestore\TempDiskFilestore::class => DI\get(
'temp_filestore'),
239 \Elgg\Filesystem\MimeTypeService::class => DI\get(
'mimetype'),
240 \Elgg\FormsService::class => DI\get(
'forms'),
241 \Elgg\Forms\FieldsService::class => DI\get(
'fields'),
242 \Elgg\Forms\StickyForms::class => DI\get(
'stickyForms'),
243 \Elgg\Gatekeeper::class => DI\get(
'gatekeeper'),
244 \Elgg\Groups\Tools::class => DI\get(
'group_tools'),
245 \Elgg\HandlersService::class => DI\get(
'handlers'),
246 \Elgg\Http\Request::class => DI\get(
'request'),
247 \Elgg\Http\ResponseFactory::class => DI\get(
'responseFactory'),
248 \Elgg\Http\Urls::class => DI\get(
'urls'),
249 \Elgg\I18n\LocaleService::class => DI\get(
'locale'),
250 \Elgg\I18n\Translator::class => DI\get(
'translator'),
251 \Elgg\ImageService::class => DI\get(
'imageService'),
252 \Elgg\Invoker::class => DI\get(
'invoker'),
253 \Elgg\Logger::class => DI\get(
'logger'),
254 \Elgg\Menu\Service::class => DI\get(
'menus'),
255 \Elgg\Notifications\NotificationsService::class => DI\get(
'notifications'),
256 \Elgg\Notifications\NotificationsQueue::class => DI\get(
'notificationsQueue'),
257 \Elgg\Notifications\SubscriptionsService::class => DI\get(
'subscriptions'),
258 \Elgg\Page\PageOwnerService::class => DI\get(
'pageOwner'),
259 \Elgg\PasswordService::class => DI\get(
'passwords'),
260 \Elgg\PersistentLoginService::class => DI\get(
'persistentLogin'),
261 \Elgg\RedirectService::class => DI\get(
'redirects'),
262 \Elgg\Router::class => DI\get(
'router'),
263 \Elgg\Router\RequestContext::class => DI\get(
'requestContext'),
264 \Elgg\Router\RouteCollection::class => DI\get(
'routeCollection'),
265 \Elgg\Router\RouteRegistrationService::class => DI\get(
'routes'),
266 \Elgg\Router\UrlGenerator::class => DI\get(
'urlGenerator'),
267 \Elgg\Router\UrlMatcher::class => DI\get(
'urlMatcher'),
268 \Elgg\Search\SearchService::class => DI\get(
'search'),
269 \Elgg\Security\Crypto::class => DI\get(
'crypto'),
270 \Elgg\Security\Csrf::class => DI\get(
'csrf'),
271 \Elgg\Security\HmacFactory::class => DI\get(
'hmac'),
272 \Elgg\Security\PasswordGeneratorService::class => DI\get(
'passwordGenerator'),
273 \Elgg\Security\SiteSecret::class => DI\get(
'siteSecret'),
274 \Elgg\Security\UrlSigner::class => DI\get(
'urlSigner'),
275 \Elgg\SessionManagerService::class => DI\get(
'session_manager'),
276 \Elgg\SystemMessagesService::class => DI\get(
'system_messages'),
277 \Elgg\Timer::class => DI\get(
'timer'),
278 \Elgg\UpgradeService::class => DI\get(
'upgrades'),
279 \Elgg\Upgrade\Locator::class => DI\get(
'upgradeLocator'),
280 \Elgg\UploadService::class => DI\get(
'uploads'),
281 \Elgg\UserCapabilities::class => DI\get(
'userCapabilities'),
282 \Elgg\Users\Accounts::class => DI\get(
'accounts'),
283 \Elgg\ViewsService::class => DI\get(
'views'),
284 \Elgg\Views\AutoParagraph::class => DI\get(
'autoParagraph'),
285 \Elgg\Views\HtmlFormatter::class => DI\get(
'html_formatter'),
286 \Elgg\Views\TableColumn\ColumnFactory::class => DI\get(
'table_columns'),
287 \Elgg\WidgetsService::class => DI\get(
'widgets'),
static factory(InputInterface $input=null, OutputInterface $output=null)
Build a new logger.
const ELGG_CACHE_LOCALFILESYSTEM
const ELGG_CACHE_PERSISTENT
const ELGG_CACHE_FILESYSTEM