Use `isACPRequest()` instead of probing for the `WCFACP` class
authorAlexander Ebert <ebert@woltlab.com>
Mon, 14 Nov 2022 15:41:15 +0000 (16:41 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 14 Nov 2022 15:41:15 +0000 (16:41 +0100)
wcfsetup/install/files/lib/http/middleware/TriggerBackgroundQueue.class.php

index 819c75dc308da7ec7346cbb77fc0ddd7c68e26f1..c23720dd5bf100a4543123b1a4bb5bf62bc45f9b 100644 (file)
@@ -8,7 +8,7 @@ use Psr\Http\Server\MiddlewareInterface;
 use Psr\Http\Server\RequestHandlerInterface;
 use wcf\http\LegacyPlaceholderResponse;
 use wcf\system\background\BackgroundQueueHandler;
-use wcf\system\WCFACP;
+use wcf\system\request\RequestHandler;
 
 /**
  * Adds 'woltlab-background-queue-check: yes' to the response
@@ -26,10 +26,12 @@ final class TriggerBackgroundQueue implements MiddlewareInterface
     private const HEADER_VALUE = 'yes';
 
     private readonly BackgroundQueueHandler $backgroundQueueHandler;
+    private readonly RequestHandler $requestHandler;
 
     public function __construct()
     {
         $this->backgroundQueueHandler = BackgroundQueueHandler::getInstance();
+        $this->requestHandler = RequestHandler::getInstance();
     }
 
     /**
@@ -39,7 +41,7 @@ final class TriggerBackgroundQueue implements MiddlewareInterface
     {
         $response = $handler->handle($request);
         if (
-            \class_exists(WCFACP::class, false)
+            $this->requestHandler->isACPRequest()
             || !$this->backgroundQueueHandler->hasPendingCheck()
         ) {
             return $response;