Merge branch '5.5'
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / bootstrap / com.woltlab.wcf.php
1 <?php
2
3 use wcf\system\cronjob\CronjobScheduler;
4 use wcf\system\event\EventHandler;
5 use wcf\system\event\listener\PhraseChangedPreloadListener;
6 use wcf\system\event\listener\PipSyncedPhrasePreloadListener;
7 use wcf\system\event\listener\PreloadPhrasesCollectingListener;
8 use wcf\system\event\listener\UserLoginCancelLostPasswordListener;
9 use wcf\system\language\event\LanguageImported;
10 use wcf\system\language\event\PhraseChanged;
11 use wcf\system\language\LanguageFactory;
12 use wcf\system\language\preload\command\ResetPreloadCache;
13 use wcf\system\language\preload\event\PreloadPhrasesCollecting;
14 use wcf\system\language\preload\PhrasePreloader;
15 use wcf\system\package\event\PackageInstallationPluginSynced;
16 use wcf\system\package\event\PackageListChanged;
17 use wcf\system\user\authentication\event\UserLoggedIn;
18 use wcf\system\WCF;
19 use wcf\system\worker\event\RebuildWorkerCollecting;
20
21 return static function (): void {
22 $eventHandler = EventHandler::getInstance();
23
24 WCF::getTPL()->assign(
25 'executeCronjobs',
26 CronjobScheduler::getInstance()->getNextExec() < TIME_NOW && \defined('OFFLINE') && !OFFLINE
27 );
28
29 $eventHandler->register(UserLoggedIn::class, UserLoginCancelLostPasswordListener::class);
30
31 $eventHandler->register(PackageListChanged::class, static function () {
32 foreach (LanguageFactory::getInstance()->getLanguages() as $language) {
33 $command = new ResetPreloadCache($language);
34 $command();
35 }
36 });
37 $eventHandler->register(LanguageImported::class, static function (LanguageImported $event) {
38 $command = new ResetPreloadCache($event->language);
39 $command();
40 });
41 $eventHandler->register(PhraseChanged::class, PhraseChangedPreloadListener::class);
42 $eventHandler->register(PackageInstallationPluginSynced::class, PipSyncedPhrasePreloadListener::class);
43 WCF::getTPL()->assign('phrasePreloader', new PhrasePreloader());
44 $eventHandler->register(PreloadPhrasesCollecting::class, PreloadPhrasesCollectingListener::class);
45
46 $eventHandler->register(RebuildWorkerCollecting::class, static function (RebuildWorkerCollecting $event) {
47 $event->register(\wcf\system\worker\LikeRebuildDataWorker::class, -100);
48 $event->register(\wcf\system\worker\ArticleRebuildDataWorker::class, 50);
49 $event->register(\wcf\system\worker\PageRebuildDataWorker::class, 50);
50 $event->register(\wcf\system\worker\PollRebuildDataWorker::class, 60);
51 $event->register(\wcf\system\worker\UserActivityPointUpdateEventsWorker::class, 65);
52 $event->register(\wcf\system\worker\UserRebuildDataWorker::class, 70);
53 $event->register(\wcf\system\worker\UserActivityPointItemsRebuildDataWorker::class, 75);
54 $event->register(\wcf\system\worker\CommentRebuildDataWorker::class, 120);
55 $event->register(\wcf\system\worker\CommentResponseRebuildDataWorker::class, 121);
56 $event->register(\wcf\system\worker\AttachmentRebuildDataWorker::class, 450);
57 $event->register(\wcf\system\worker\MediaRebuildDataWorker::class, 450);
58 $event->register(\wcf\system\worker\SitemapRebuildWorker::class, 500);
59 $event->register(\wcf\system\worker\StatDailyRebuildDataWorker::class, 800);
60 });
61 };