Fixed time zone calculation issue
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / system / moderation / queue / IModerationQueueHandler.class.php
1 <?php
2 namespace wcf\system\moderation\queue;
3 use wcf\data\moderation\queue\ModerationQueue;
4
5 /**
6 * Default interface for moderation queue handlers.
7 *
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
14 */
15 interface IModerationQueueHandler {
16 /**
17 * Creates queue assignments for matching object ids.
18 *
19 * @param array<\wcf\data\moderation\queue\ModerationQueue> $queues
20 */
21 public function assignQueues(array $queues);
22
23 /**
24 * Returns the container id for current object id, may return 0.
25 *
26 * @param integer $objectID
27 * @return integer
28 */
29 public function getContainerID($objectID);
30
31 /**
32 * Validates object ids and returns orphaned queue ids.
33 *
34 * @param array<integer> $queues
35 * @return array<integer>
36 */
37 public function identifyOrphans(array $queues);
38
39 /**
40 * Returns true if given object id is valid.
41 *
42 * @param integer $objectID
43 * @return boolean
44 */
45 public function isValid($objectID);
46
47 /**
48 * Populates object properties for viewing.
49 *
50 * @param array<\wcf\data\moderation\queue\ViewableModerationQueue> $queues
51 */
52 public function populate(array $queues);
53
54 /**
55 * Removes affected content. It is up to the processing class to either
56 * soft-delete the content or remove it permanently.
57 *
58 * @param \wcf\data\moderation\queue\ModerationQueue $queue
59 * @param string $message
60 */
61 public function removeContent(ModerationQueue $queue, $message);
62
63 /**
64 * Removes queses from database, should only be called if the referenced
65 * object is permanently deleted.
66 *
67 * @param array<integer> $objectIDs
68 */
69 public function removeQueues(array $objectIDs);
70 }