Restrict preload phrases to static exports only
[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;
cefdae5a 11use wcf\system\package\event\PackageListChanged;
cbb6cd3a 12use wcf\system\user\authentication\event\UserLoggedIn;
a87f05e3 13use wcf\system\WCF;
921a5a56 14
2bdb96d3 15return static function (): void {
a87f05e3
TD
16 WCF::getTPL()->assign(
17 'executeCronjobs',
18 CronjobScheduler::getInstance()->getNextExec() < TIME_NOW && \defined('OFFLINE') && !OFFLINE
19 );
cbb6cd3a
TD
20
21 EventHandler::getInstance()->register(UserLoggedIn::class, UserLoginCancelLostPasswordListener::class);
e25082fb 22 EventHandler::getInstance()->register(PackageListChanged::class, static function () {
cefdae5a 23 foreach (LanguageFactory::getInstance()->getLanguages() as $language) {
72b14b62 24 $command = new ResetPreloadCache($language);
cefdae5a
AE
25 $command();
26 }
27 });
e25082fb
AE
28 EventHandler::getInstance()->register(LanguageImported::class, static function (LanguageImported $event) {
29 $command = new ResetPreloadCache($event->language);
30 $command();
31 });
72b14b62 32 EventHandler::getInstance()->register(PhraseChanged::class, PhraseChangedPreloadListener::class);
921a5a56 33};