Commit | Line | Data |
---|---|---|
921a5a56 TD |
1 | <?php |
2 | ||
a87f05e3 | 3 | use wcf\system\cronjob\CronjobScheduler; |
cbb6cd3a | 4 | use wcf\system\event\EventHandler; |
cefdae5a | 5 | use wcf\system\language\LanguageFactory; |
72b14b62 | 6 | use wcf\system\language\preload\command\ResetPreloadCache; |
67dd12f1 | 7 | use wcf\system\language\preload\PhrasePreloader; |
0f5abeda | 8 | use wcf\system\package\license\LicenseApi; |
ac3f9f47 | 9 | use wcf\system\user\authentication\LoginRedirect; |
a87f05e3 | 10 | use wcf\system\WCF; |
921a5a56 | 11 | |
2bdb96d3 | 12 | return static function (): void { |
252f3bc2 TD |
13 | $eventHandler = EventHandler::getInstance(); |
14 | ||
a87f05e3 TD |
15 | WCF::getTPL()->assign( |
16 | 'executeCronjobs', | |
17 | CronjobScheduler::getInstance()->getNextExec() < TIME_NOW && \defined('OFFLINE') && !OFFLINE | |
18 | ); | |
cbb6cd3a | 19 | |
b4ae02cc MW |
20 | $eventHandler->register( |
21 | \wcf\event\user\authentication\UserLoggedIn::class, | |
22 | \wcf\system\event\listener\UserLoginCancelLostPasswordListener::class | |
23 | ); | |
24 | $eventHandler->register( | |
25 | \wcf\event\session\PreserveVariablesCollecting::class, | |
26 | static function (\wcf\event\session\PreserveVariablesCollecting $event) { | |
27 | $event->keys[] = LoginRedirect::SESSION_VAR_KEY; | |
28 | } | |
29 | ); | |
cbad026e | 30 | |
b4ae02cc MW |
31 | $eventHandler->register( |
32 | \wcf\event\user\UsernameValidating::class, | |
33 | \wcf\system\event\listener\UsernameValidatingCheckCharactersListener::class | |
34 | ); | |
d93e2f9b | 35 | |
367d4d78 MW |
36 | $eventHandler->register( |
37 | \wcf\event\user\RegistrationSpamChecking::class, | |
38 | \wcf\system\event\listener\RegistrationSpamCheckingSfsListener::class | |
39 | ); | |
8f77557a MW |
40 | $eventHandler->register( |
41 | \wcf\event\page\ContactFormSpamChecking::class, | |
42 | \wcf\system\event\listener\ContactFormSpamCheckingSfsListener::class | |
43 | ); | |
55d03611 MW |
44 | $eventHandler->register( |
45 | \wcf\event\message\MessageSpamChecking::class, | |
46 | \wcf\system\event\listener\MessageSpamCheckingSfsListener::class | |
47 | ); | |
367d4d78 | 48 | |
b4ae02cc MW |
49 | $eventHandler->register( |
50 | \wcf\event\package\PackageListChanged::class, | |
51 | static function () { | |
52 | foreach (LanguageFactory::getInstance()->getLanguages() as $language) { | |
53 | $command = new ResetPreloadCache($language); | |
54 | $command(); | |
55 | } | |
56 | } | |
57 | ); | |
58 | $eventHandler->register( | |
59 | \wcf\event\language\LanguageImported::class, | |
60 | static function (\wcf\event\language\LanguageImported $event) { | |
61 | $command = new ResetPreloadCache($event->language); | |
cefdae5a AE |
62 | $command(); |
63 | } | |
b4ae02cc MW |
64 | ); |
65 | $eventHandler->register( | |
66 | \wcf\event\language\PhraseChanged::class, | |
67 | \wcf\system\event\listener\PhraseChangedPreloadListener::class | |
68 | ); | |
69 | $eventHandler->register( | |
70 | \wcf\event\package\PackageInstallationPluginSynced::class, | |
71 | \wcf\system\event\listener\PipSyncedPhrasePreloadListener::class | |
72 | ); | |
67dd12f1 | 73 | WCF::getTPL()->assign('phrasePreloader', new PhrasePreloader()); |
b4ae02cc MW |
74 | $eventHandler->register( |
75 | \wcf\event\language\PreloadPhrasesCollecting::class, | |
76 | \wcf\system\event\listener\PreloadPhrasesCollectingListener::class | |
77 | ); | |
73df173e | 78 | |
b4ae02cc MW |
79 | $eventHandler->register( |
80 | \wcf\event\worker\RebuildWorkerCollecting::class, | |
81 | static function (\wcf\event\worker\RebuildWorkerCollecting $event) { | |
82 | $event->register(\wcf\system\worker\LikeRebuildDataWorker::class, -100); | |
83 | $event->register(\wcf\system\worker\ArticleRebuildDataWorker::class, 50); | |
84 | $event->register(\wcf\system\worker\PageRebuildDataWorker::class, 50); | |
85 | $event->register(\wcf\system\worker\PollRebuildDataWorker::class, 60); | |
86 | $event->register(\wcf\system\worker\UserActivityPointUpdateEventsWorker::class, 65); | |
87 | $event->register(\wcf\system\worker\UserRebuildDataWorker::class, 70); | |
88 | $event->register(\wcf\system\worker\UserActivityPointItemsRebuildDataWorker::class, 75); | |
89 | $event->register(\wcf\system\worker\CommentRebuildDataWorker::class, 120); | |
90 | $event->register(\wcf\system\worker\CommentResponseRebuildDataWorker::class, 121); | |
91 | $event->register(\wcf\system\worker\AttachmentRebuildDataWorker::class, 450); | |
92 | $event->register(\wcf\system\worker\MediaRebuildDataWorker::class, 450); | |
2b727435 | 93 | $event->register(\wcf\system\worker\FileRebuildDataWorker::class, 475); |
b4ae02cc MW |
94 | $event->register(\wcf\system\worker\SitemapRebuildWorker::class, 500); |
95 | $event->register(\wcf\system\worker\StatDailyRebuildDataWorker::class, 800); | |
96 | } | |
97 | ); | |
0f5abeda | 98 | |
b4ae02cc MW |
99 | $eventHandler->register( |
100 | \wcf\event\package\PackageUpdateListChanged::class, | |
101 | \wcf\system\event\listener\PackageUpdateListChangedLicenseListener::class | |
102 | ); | |
e2c606e2 | 103 | |
b4ae02cc MW |
104 | $eventHandler->register( |
105 | \wcf\event\acp\dashboard\box\BoxCollecting::class, | |
106 | static function (\wcf\event\acp\dashboard\box\BoxCollecting $event) { | |
107 | $event->register(new \wcf\system\acp\dashboard\box\NewsAcpDashboardBox()); | |
108 | $event->register(new \wcf\system\acp\dashboard\box\StatusMessageAcpDashboardBox()); | |
109 | $event->register(new \wcf\system\acp\dashboard\box\ExpiringLicensesAcpDashboardBox()); | |
110 | $event->register(new \wcf\system\acp\dashboard\box\UsersAwaitingApprovalAcpDashboardBox()); | |
111 | $event->register(new \wcf\system\acp\dashboard\box\SystemInfoAcpDashboardBox()); | |
112 | $event->register(new \wcf\system\acp\dashboard\box\CreditsAcpDashboardBox()); | |
113 | } | |
114 | ); | |
e4e0b1e5 | 115 | |
b4ae02cc MW |
116 | $eventHandler->register( |
117 | \wcf\event\endpoint\ControllerCollecting::class, | |
118 | static function (\wcf\event\endpoint\ControllerCollecting $event) { | |
83a5e848 | 119 | $event->register(new \wcf\system\endpoint\controller\core\files\DeleteFile); |
9e196bca AE |
120 | $event->register(new \wcf\system\endpoint\controller\core\files\GenerateThumbnails); |
121 | $event->register(new \wcf\system\endpoint\controller\core\files\PrepareUpload); | |
122 | $event->register(new \wcf\system\endpoint\controller\core\files\upload\SaveChunk); | |
38b74960 MW |
123 | $event->register(new \wcf\system\endpoint\controller\core\comments\CreateComment); |
124 | $event->register(new \wcf\system\endpoint\controller\core\comments\DeleteComment); | |
125 | $event->register(new \wcf\system\endpoint\controller\core\comments\EditComment); | |
126 | $event->register(new \wcf\system\endpoint\controller\core\comments\EnableComment); | |
127 | $event->register(new \wcf\system\endpoint\controller\core\comments\RenderComments); | |
128 | $event->register(new \wcf\system\endpoint\controller\core\comments\RenderComment); | |
129 | $event->register(new \wcf\system\endpoint\controller\core\comments\UpdateComment); | |
130 | $event->register(new \wcf\system\endpoint\controller\core\comments\responses\CreateResponse); | |
131 | $event->register(new \wcf\system\endpoint\controller\core\comments\responses\DeleteResponse); | |
132 | $event->register(new \wcf\system\endpoint\controller\core\comments\responses\EditResponse); | |
133 | $event->register(new \wcf\system\endpoint\controller\core\comments\responses\EnableResponse); | |
134 | $event->register(new \wcf\system\endpoint\controller\core\comments\responses\RenderResponse); | |
135 | $event->register(new \wcf\system\endpoint\controller\core\comments\responses\RenderResponses); | |
136 | $event->register(new \wcf\system\endpoint\controller\core\comments\responses\UpdateResponse); | |
b4ae02cc MW |
137 | $event->register(new \wcf\system\endpoint\controller\core\messages\GetMentionSuggestions); |
138 | $event->register(new \wcf\system\endpoint\controller\core\sessions\DeleteSession); | |
139 | } | |
140 | ); | |
156ca27e | 141 | |
0f5abeda | 142 | try { |
895acf5e TD |
143 | $licenseApi = new LicenseApi(); |
144 | $licenseData = $licenseApi->readFromFile(); | |
19781b8e | 145 | if ($licenseData !== null) { |
974f0363 TD |
146 | $brandingFree = $licenseData->woltlab['com.woltlab.brandingFree'] ?? '0.0'; |
147 | $expiresAt = $licenseData->license['expiryDates']['com.woltlab.brandingFree'] ?? \TIME_NOW; | |
5a018069 | 148 | if ($brandingFree !== '0.0' && ($expiresAt === -1 || $expiresAt >= \TIME_NOW)) { |
0f5abeda AE |
149 | define('WOLTLAB_BRANDING', false); |
150 | } | |
9fa3273f TD |
151 | |
152 | // Expire the cached license data after 60 days. | |
153 | if ($licenseData->creationDate->getTimestamp() < \TIME_NOW - 86400 * 60) { | |
154 | $licenseApi->clearLicenseFile(); | |
155 | } | |
0f5abeda AE |
156 | } |
157 | } catch (\Throwable) { | |
158 | // Reading the license file must never cause any errors. | |
159 | } | |
160 | ||
161 | if (!defined('WOLTLAB_BRANDING')) { | |
162 | define('WOLTLAB_BRANDING', true); | |
163 | } | |
921a5a56 | 164 | }; |