Prototype for an API method
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / bootstrap / com.woltlab.wcf.php
index 8df20b5ef73b8ed2f90f1648d30f23b7c19aa798..945248053c65bef85a0695642be35166fd317168 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 
+use wcf\system\acp\dashboard\event\AcpDashboardCollecting;
 use wcf\system\cronjob\CronjobScheduler;
+use wcf\system\endpoint\event\ControllerCollecting;
 use wcf\system\event\EventHandler;
 use wcf\system\event\listener\PackageUpdateListChangedLicenseListener;
 use wcf\system\event\listener\PhraseChangedPreloadListener;
@@ -18,7 +20,9 @@ use wcf\system\package\event\PackageInstallationPluginSynced;
 use wcf\system\package\event\PackageListChanged;
 use wcf\system\package\event\PackageUpdateListChanged;
 use wcf\system\package\license\LicenseApi;
+use wcf\system\session\event\PreserveVariablesCollecting;
 use wcf\system\user\authentication\event\UserLoggedIn;
+use wcf\system\user\authentication\LoginRedirect;
 use wcf\system\user\event\UsernameValidating;
 use wcf\system\WCF;
 use wcf\system\worker\event\RebuildWorkerCollecting;
@@ -32,6 +36,9 @@ return static function (): void {
     );
 
     $eventHandler->register(UserLoggedIn::class, UserLoginCancelLostPasswordListener::class);
+    $eventHandler->register(PreserveVariablesCollecting::class, static function (PreserveVariablesCollecting $event) {
+        $event->keys[] = LoginRedirect::SESSION_VAR_KEY;
+    });
 
     $eventHandler->register(UsernameValidating::class, UsernameValidatingCheckCharactersListener::class);
 
@@ -68,6 +75,19 @@ return static function (): void {
 
     $eventHandler->register(PackageUpdateListChanged::class, PackageUpdateListChangedLicenseListener::class);
 
+    $eventHandler->register(AcpDashboardCollecting::class, static function (AcpDashboardCollecting $event) {
+        $event->register(new \wcf\system\acp\dashboard\box\NewsAcpDashboardBox());
+        $event->register(new \wcf\system\acp\dashboard\box\StatusMessageAcpDashboardBox());
+        $event->register(new \wcf\system\acp\dashboard\box\ExpiringLicensesAcpDashboardBox());
+        $event->register(new \wcf\system\acp\dashboard\box\UsersAwaitingApprovalAcpDashboardBox());
+        $event->register(new \wcf\system\acp\dashboard\box\SystemInfoAcpDashboardBox());
+        $event->register(new \wcf\system\acp\dashboard\box\CreditsAcpDashboardBox());
+    });
+
+    $eventHandler->register(ControllerCollecting::class, static function (ControllerCollecting $event) {
+        $event->register(new \wcf\system\endpoint\moderationqueues\Assign);
+    });
+
     try {
         $licenseApi = new LicenseApi();
         $licenseData = $licenseApi->readFromFile();