Preload the phrase for relative timestamps
[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;
5492c8f9 11use wcf\system\language\preload\event\PreloadPhrasesCollecting;
67dd12f1 12use wcf\system\language\preload\PhrasePreloader;
cefdae5a 13use wcf\system\package\event\PackageListChanged;
cbb6cd3a 14use wcf\system\user\authentication\event\UserLoggedIn;
a87f05e3 15use wcf\system\WCF;
921a5a56 16
2bdb96d3 17return static function (): void {
a87f05e3
TD
18 WCF::getTPL()->assign(
19 'executeCronjobs',
20 CronjobScheduler::getInstance()->getNextExec() < TIME_NOW && \defined('OFFLINE') && !OFFLINE
21 );
cbb6cd3a
TD
22
23 EventHandler::getInstance()->register(UserLoggedIn::class, UserLoginCancelLostPasswordListener::class);
cbad026e 24
e25082fb 25 EventHandler::getInstance()->register(PackageListChanged::class, static function () {
cefdae5a 26 foreach (LanguageFactory::getInstance()->getLanguages() as $language) {
72b14b62 27 $command = new ResetPreloadCache($language);
cefdae5a
AE
28 $command();
29 }
30 });
e25082fb
AE
31 EventHandler::getInstance()->register(LanguageImported::class, static function (LanguageImported $event) {
32 $command = new ResetPreloadCache($event->language);
33 $command();
34 });
72b14b62 35 EventHandler::getInstance()->register(PhraseChanged::class, PhraseChangedPreloadListener::class);
67dd12f1 36 WCF::getTPL()->assign('phrasePreloader', new PhrasePreloader());
5492c8f9
AE
37
38 EventHandler::getInstance()->register(PreloadPhrasesCollecting::class, static function (PreloadPhrasesCollecting $event) {
39 $event->preload('wcf.date.relative.now');
40 });
921a5a56 41};