Make use of the license API in the first time setup
[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;
3476fff9 6use wcf\system\event\listener\PipSyncedPhrasePreloadListener;
a66ffe10 7use wcf\system\event\listener\PreloadPhrasesCollectingListener;
cbb6cd3a 8use wcf\system\event\listener\UserLoginCancelLostPasswordListener;
d93e2f9b 9use wcf\system\event\listener\UsernameValidatingCheckCharactersListener;
e25082fb 10use wcf\system\language\event\LanguageImported;
72b14b62 11use wcf\system\language\event\PhraseChanged;
cefdae5a 12use wcf\system\language\LanguageFactory;
72b14b62 13use wcf\system\language\preload\command\ResetPreloadCache;
5492c8f9 14use wcf\system\language\preload\event\PreloadPhrasesCollecting;
67dd12f1 15use wcf\system\language\preload\PhrasePreloader;
3476fff9 16use wcf\system\package\event\PackageInstallationPluginSynced;
cefdae5a 17use wcf\system\package\event\PackageListChanged;
cbb6cd3a 18use wcf\system\user\authentication\event\UserLoggedIn;
d93e2f9b 19use wcf\system\user\event\UsernameValidating;
a87f05e3 20use wcf\system\WCF;
73df173e 21use wcf\system\worker\event\RebuildWorkerCollecting;
921a5a56 22
2bdb96d3 23return static function (): void {
252f3bc2
TD
24 $eventHandler = EventHandler::getInstance();
25
a87f05e3
TD
26 WCF::getTPL()->assign(
27 'executeCronjobs',
28 CronjobScheduler::getInstance()->getNextExec() < TIME_NOW && \defined('OFFLINE') && !OFFLINE
29 );
cbb6cd3a 30
252f3bc2 31 $eventHandler->register(UserLoggedIn::class, UserLoginCancelLostPasswordListener::class);
cbad026e 32
d93e2f9b
TD
33 $eventHandler->register(UsernameValidating::class, UsernameValidatingCheckCharactersListener::class);
34
252f3bc2 35 $eventHandler->register(PackageListChanged::class, static function () {
cefdae5a 36 foreach (LanguageFactory::getInstance()->getLanguages() as $language) {
72b14b62 37 $command = new ResetPreloadCache($language);
cefdae5a
AE
38 $command();
39 }
40 });
252f3bc2 41 $eventHandler->register(LanguageImported::class, static function (LanguageImported $event) {
e25082fb
AE
42 $command = new ResetPreloadCache($event->language);
43 $command();
44 });
252f3bc2
TD
45 $eventHandler->register(PhraseChanged::class, PhraseChangedPreloadListener::class);
46 $eventHandler->register(PackageInstallationPluginSynced::class, PipSyncedPhrasePreloadListener::class);
67dd12f1 47 WCF::getTPL()->assign('phrasePreloader', new PhrasePreloader());
252f3bc2 48 $eventHandler->register(PreloadPhrasesCollecting::class, PreloadPhrasesCollectingListener::class);
73df173e
TD
49
50 $eventHandler->register(RebuildWorkerCollecting::class, static function (RebuildWorkerCollecting $event) {
51 $event->register(\wcf\system\worker\LikeRebuildDataWorker::class, -100);
52 $event->register(\wcf\system\worker\ArticleRebuildDataWorker::class, 50);
53 $event->register(\wcf\system\worker\PageRebuildDataWorker::class, 50);
54 $event->register(\wcf\system\worker\PollRebuildDataWorker::class, 60);
55 $event->register(\wcf\system\worker\UserActivityPointUpdateEventsWorker::class, 65);
56 $event->register(\wcf\system\worker\UserRebuildDataWorker::class, 70);
57 $event->register(\wcf\system\worker\UserActivityPointItemsRebuildDataWorker::class, 75);
73df173e 58 $event->register(\wcf\system\worker\CommentRebuildDataWorker::class, 120);
ff3774bd
TD
59 $event->register(\wcf\system\worker\CommentResponseRebuildDataWorker::class, 121);
60 $event->register(\wcf\system\worker\AttachmentRebuildDataWorker::class, 450);
61 $event->register(\wcf\system\worker\MediaRebuildDataWorker::class, 450);
62 $event->register(\wcf\system\worker\SitemapRebuildWorker::class, 500);
63 $event->register(\wcf\system\worker\StatDailyRebuildDataWorker::class, 800);
73df173e 64 });
921a5a56 65};