Add new function `canModerateObject`to `ICommentManager`
authorCyperghost <olaf_schmitz_1@t-online.de>
Thu, 21 Mar 2024 09:28:56 +0000 (10:28 +0100)
committerCyperghost <olaf_schmitz_1@t-online.de>
Thu, 21 Mar 2024 09:28:56 +0000 (10:28 +0100)
wcfsetup/install/files/lib/system/comment/manager/AbstractCommentManager.class.php
wcfsetup/install/files/lib/system/comment/manager/ICommentManager.class.php

index 33c2ac44667f1070d8480edd2dd9d4e38f4db5fa..b2fb5fd5799c14977be33567112690d4d80458df 100644 (file)
@@ -5,6 +5,7 @@ namespace wcf\system\comment\manager;
 use wcf\data\comment\Comment;
 use wcf\data\comment\response\CommentResponse;
 use wcf\data\DatabaseObjectDecorator;
+use wcf\data\user\UserProfile;
 use wcf\system\bbcode\BBCodeHandler;
 use wcf\system\SingletonFactory;
 use wcf\system\WCF;
@@ -160,6 +161,12 @@ abstract class AbstractCommentManager extends SingletonFactory implements IComme
         return WCF::getSession()->getPermission($this->permissionCanModerate) ? true : false;
     }
 
+    #[\Override]
+    public function canModerateObject(int $objectTypeID, int $objectID, UserProfile $user): bool
+    {
+        return (bool)$user->getPermission($this->permissionCanModerate);
+    }
+
     /**
      * Returns true if the current user may edit a comment/response.
      *
index 90bb0602d2f3cbcb199ceb9c3915f115a00e54f8..5500208cd31bd7770cd23c9378448815a46b1547 100644 (file)
@@ -4,6 +4,7 @@ namespace wcf\system\comment\manager;
 
 use wcf\data\comment\Comment;
 use wcf\data\comment\response\CommentResponse;
+use wcf\data\user\UserProfile;
 
 /**
  * Default interface for comment managers.
@@ -68,9 +69,16 @@ interface ICommentManager
      * @param int $objectTypeID
      * @param int $objectID
      * @return  bool
+     * @deprecated 6.1
      */
     public function canModerate($objectTypeID, $objectID);
 
+    /**
+     * Returns true if the user may moderate content identified by
+     * object type id and object id.
+     */
+    public function canModerateObject(int $objectTypeID, int $objectID, UserProfile $user): bool;
+
     /**
      * Returns the amount of comments per page.
      *