Commit | Line | Data |
---|---|---|
921a5a56 TD |
1 | <?php |
2 | ||
a87f05e3 | 3 | use wcf\system\cronjob\CronjobScheduler; |
cbb6cd3a | 4 | use wcf\system\event\EventHandler; |
72b14b62 | 5 | use wcf\system\event\listener\PhraseChangedPreloadListener; |
3476fff9 | 6 | use wcf\system\event\listener\PipSyncedPhrasePreloadListener; |
a66ffe10 | 7 | use wcf\system\event\listener\PreloadPhrasesCollectingListener; |
cbb6cd3a | 8 | use wcf\system\event\listener\UserLoginCancelLostPasswordListener; |
d93e2f9b | 9 | use wcf\system\event\listener\UsernameValidatingCheckCharactersListener; |
e25082fb | 10 | use wcf\system\language\event\LanguageImported; |
72b14b62 | 11 | use wcf\system\language\event\PhraseChanged; |
cefdae5a | 12 | use wcf\system\language\LanguageFactory; |
72b14b62 | 13 | use wcf\system\language\preload\command\ResetPreloadCache; |
5492c8f9 | 14 | use wcf\system\language\preload\event\PreloadPhrasesCollecting; |
67dd12f1 | 15 | use wcf\system\language\preload\PhrasePreloader; |
3476fff9 | 16 | use wcf\system\package\event\PackageInstallationPluginSynced; |
cefdae5a | 17 | use wcf\system\package\event\PackageListChanged; |
0f5abeda | 18 | use wcf\system\package\license\LicenseApi; |
cbb6cd3a | 19 | use wcf\system\user\authentication\event\UserLoggedIn; |
d93e2f9b | 20 | use wcf\system\user\event\UsernameValidating; |
a87f05e3 | 21 | use wcf\system\WCF; |
73df173e | 22 | use wcf\system\worker\event\RebuildWorkerCollecting; |
921a5a56 | 23 | |
2bdb96d3 | 24 | return static function (): void { |
252f3bc2 TD |
25 | $eventHandler = EventHandler::getInstance(); |
26 | ||
a87f05e3 TD |
27 | WCF::getTPL()->assign( |
28 | 'executeCronjobs', | |
29 | CronjobScheduler::getInstance()->getNextExec() < TIME_NOW && \defined('OFFLINE') && !OFFLINE | |
30 | ); | |
cbb6cd3a | 31 | |
252f3bc2 | 32 | $eventHandler->register(UserLoggedIn::class, UserLoginCancelLostPasswordListener::class); |
cbad026e | 33 | |
d93e2f9b TD |
34 | $eventHandler->register(UsernameValidating::class, UsernameValidatingCheckCharactersListener::class); |
35 | ||
252f3bc2 | 36 | $eventHandler->register(PackageListChanged::class, static function () { |
cefdae5a | 37 | foreach (LanguageFactory::getInstance()->getLanguages() as $language) { |
72b14b62 | 38 | $command = new ResetPreloadCache($language); |
cefdae5a AE |
39 | $command(); |
40 | } | |
41 | }); | |
252f3bc2 | 42 | $eventHandler->register(LanguageImported::class, static function (LanguageImported $event) { |
e25082fb AE |
43 | $command = new ResetPreloadCache($event->language); |
44 | $command(); | |
45 | }); | |
252f3bc2 TD |
46 | $eventHandler->register(PhraseChanged::class, PhraseChangedPreloadListener::class); |
47 | $eventHandler->register(PackageInstallationPluginSynced::class, PipSyncedPhrasePreloadListener::class); | |
67dd12f1 | 48 | WCF::getTPL()->assign('phrasePreloader', new PhrasePreloader()); |
252f3bc2 | 49 | $eventHandler->register(PreloadPhrasesCollecting::class, PreloadPhrasesCollectingListener::class); |
73df173e TD |
50 | |
51 | $eventHandler->register(RebuildWorkerCollecting::class, static function (RebuildWorkerCollecting $event) { | |
52 | $event->register(\wcf\system\worker\LikeRebuildDataWorker::class, -100); | |
53 | $event->register(\wcf\system\worker\ArticleRebuildDataWorker::class, 50); | |
54 | $event->register(\wcf\system\worker\PageRebuildDataWorker::class, 50); | |
55 | $event->register(\wcf\system\worker\PollRebuildDataWorker::class, 60); | |
56 | $event->register(\wcf\system\worker\UserActivityPointUpdateEventsWorker::class, 65); | |
57 | $event->register(\wcf\system\worker\UserRebuildDataWorker::class, 70); | |
58 | $event->register(\wcf\system\worker\UserActivityPointItemsRebuildDataWorker::class, 75); | |
73df173e | 59 | $event->register(\wcf\system\worker\CommentRebuildDataWorker::class, 120); |
ff3774bd TD |
60 | $event->register(\wcf\system\worker\CommentResponseRebuildDataWorker::class, 121); |
61 | $event->register(\wcf\system\worker\AttachmentRebuildDataWorker::class, 450); | |
62 | $event->register(\wcf\system\worker\MediaRebuildDataWorker::class, 450); | |
63 | $event->register(\wcf\system\worker\SitemapRebuildWorker::class, 500); | |
64 | $event->register(\wcf\system\worker\StatDailyRebuildDataWorker::class, 800); | |
73df173e | 65 | }); |
0f5abeda AE |
66 | |
67 | try { | |
68 | $licenseApi = LicenseApi::readFromFile(); | |
69 | if ($licenseApi !== null) { | |
70 | $licenseData = $licenseApi->getData(); | |
71 | $brandingFree = $licenseData['woltlab']['com.woltlab.brandingFree'] ?? '0.0'; | |
72 | $expiresAt = $licenseData['expiryDates']['com.woltlab.brandingFree'] ?? \TIME_NOW; | |
73 | if ($brandingFree !== '0.0' && $expiresAt >= \TIME_NOW) { | |
74 | define('WOLTLAB_BRANDING', false); | |
75 | } | |
76 | } | |
77 | } catch (\Throwable) { | |
78 | // Reading the license file must never cause any errors. | |
79 | } | |
80 | ||
81 | if (!defined('WOLTLAB_BRANDING')) { | |
82 | define('WOLTLAB_BRANDING', true); | |
83 | } | |
921a5a56 | 84 | }; |