2 namespace wcf\system\moderation\queue
;
3 use wcf\data\moderation\queue\ModerationQueue
;
6 * Default interface for moderation queue managers.
8 * @author Alexander Ebert
9 * @copyright 2001-2014 WoltLab GmbH
10 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
11 * @package com.woltlab.wcf
12 * @subpackage system.moderation.queue
13 * @category Community Framework
15 interface IModerationQueueManager
{
17 * Creates queue assignments for matching object type ids.
19 * @param integer $objectTypeID
20 * @param array<\wcf\data\moderation\queue\ModerationQueue> $queues
22 public function assignQueues($objectTypeID, array $queues);
25 * Returns true if given object type is valid, optionally checking object id.
27 * @param string $objectType
28 * @param integer $objectID
31 public function isValid($objectType, $objectID = null);
34 * Returns link for viewing/editing objects for this moderation type.
36 * @param integer $queueID
39 public function getLink($queueID);
42 * Returns object type id for given object type.
44 * @param string $objectType
47 public function getObjectTypeID($objectType);
50 * Returns object type processor by object type.
52 * @param string $objectType
53 * @param integer $objectTypeID
56 public function getProcessor($objectType, $objectTypeID = null);
59 * Populates object properties for viewing.
61 * @param integer $objectTypeID
62 * @param array<\wcf\data\moderation\queue\ViewableModerationQueue> $objects
64 public function populate($objectTypeID, array $objects);
67 * Returns whether the afftected content may be removed.
69 * @param \wcf\data\moderation\queue\ModerationQueue $queue
72 public function canRemoveContent(ModerationQueue
$queue);
75 * Removes affected content. It is up to the processing object to use a
76 * soft-delete or remove the content permanently.
78 * @param \wcf\data\moderation\queue\ModerationQueue $queue
79 * @param string $message
81 public function removeContent(ModerationQueue
$queue, $message = '');