Fix deleting content from moderation activation page
authorMatthias Schmidt <gravatronics@live.com>
Fri, 7 May 2021 10:07:57 +0000 (12:07 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Fri, 7 May 2021 10:46:03 +0000 (12:46 +0200)
wcfsetup/install/files/lib/data/moderation/queue/ModerationQueueActivationAction.class.php

index 3d02f8963f322772d25fb18c5e88b2258a8458bf..35d184d085f77b5358c14efe461126021d171810 100644 (file)
@@ -75,8 +75,10 @@ class ModerationQueueActivationAction extends ModerationQueueAction
         $this->readString('message', true);
         $this->validateEnableContent();
 
-        if (!ModerationQueueActivationManager::getInstance()->canRemoveContent($this->queue->getDecoratedObject())) {
-            throw new PermissionDeniedException();
+        foreach ($this->getObjects() as $moderationQueueEditor) {
+            if (!ModerationQueueActivationManager::getInstance()->canRemoveContent($moderationQueueEditor->getDecoratedObject())) {
+                throw new PermissionDeniedException();
+            }
         }
     }
 
@@ -85,13 +87,14 @@ class ModerationQueueActivationAction extends ModerationQueueAction
      */
     public function removeContent()
     {
-        // mark content as deleted
-        ModerationQueueActivationManager::getInstance()->removeContent(
-            $this->queue->getDecoratedObject(),
-            $this->parameters['message']
-        );
+        foreach ($this->getObjects() as $moderationQueueEditor) {
+            ModerationQueueActivationManager::getInstance()->removeContent(
+                $moderationQueueEditor->getDecoratedObject(),
+                $this->parameters['message']
+            );
 
-        $this->queue->markAsRejected();
+            $moderationQueueEditor->markAsRejected();
+        }
 
         $this->unmarkItems();
     }