Move the URL handling of the phrase preloader into the bootstrap script
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / bootstrap / com.woltlab.wcf.php
CommitLineData
921a5a56
TD
1<?php
2
a87f05e3 3use wcf\system\cronjob\CronjobScheduler;
cbb6cd3a 4use wcf\system\event\EventHandler;
72b14b62 5use wcf\system\event\listener\PhraseChangedPreloadListener;
cbb6cd3a 6use wcf\system\event\listener\UserLoginCancelLostPasswordListener;
e25082fb 7use wcf\system\language\event\LanguageImported;
72b14b62 8use wcf\system\language\event\PhraseChanged;
cefdae5a 9use wcf\system\language\LanguageFactory;
72b14b62 10use wcf\system\language\preload\command\ResetPreloadCache;
cbad026e 11use wcf\system\language\preload\PhrasePreloadCache;
cefdae5a 12use wcf\system\package\event\PackageListChanged;
cbb6cd3a 13use wcf\system\user\authentication\event\UserLoggedIn;
a87f05e3 14use wcf\system\WCF;
921a5a56 15
2bdb96d3 16return static function (): void {
a87f05e3
TD
17 WCF::getTPL()->assign(
18 'executeCronjobs',
19 CronjobScheduler::getInstance()->getNextExec() < TIME_NOW && \defined('OFFLINE') && !OFFLINE
20 );
cbb6cd3a
TD
21
22 EventHandler::getInstance()->register(UserLoggedIn::class, UserLoginCancelLostPasswordListener::class);
cbad026e 23
e25082fb 24 EventHandler::getInstance()->register(PackageListChanged::class, static function () {
cefdae5a 25 foreach (LanguageFactory::getInstance()->getLanguages() as $language) {
72b14b62 26 $command = new ResetPreloadCache($language);
cefdae5a
AE
27 $command();
28 }
29 });
e25082fb
AE
30 EventHandler::getInstance()->register(LanguageImported::class, static function (LanguageImported $event) {
31 $command = new ResetPreloadCache($event->language);
32 $command();
33 });
72b14b62 34 EventHandler::getInstance()->register(PhraseChanged::class, PhraseChangedPreloadListener::class);
cbad026e 35 WCF::getTPL()->assign('__phrasePreloadCacheUrl', PhrasePreloadCache::getUrl(WCF::getLanguage()));
921a5a56 36};