Add clipboard support for moderation (#4121)
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / system / clipboard / action / ModerationQueueClipboardAction.class.php
1 <?php
2
3 namespace wcf\system\clipboard\action;
4
5 use wcf\data\moderation\queue\ModerationQueueAction;
6 use wcf\data\moderation\queue\ViewableModerationQueue;
7
8 /**
9 * Clipboard action implementation for moderation queue entries.
10 *
11 * @author Matthias Schmidt
12 * @copyright 2001-2021 WoltLab GmbH
13 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
14 * @package WoltLabSuite\Core\System\Clipboard\Action
15 * @since 5.4
16 */
17 class ModerationQueueClipboardAction extends AbstractClipboardAction
18 {
19 /**
20 * @inheritDoc
21 */
22 protected $supportedActions = [
23 'assignUserByClipboard',
24 ];
25
26 /**
27 * @inheritDoc
28 */
29 public function getClassName()
30 {
31 return ModerationQueueAction::class;
32 }
33
34 /**
35 * @inheritDoc
36 */
37 public function getTypeName()
38 {
39 return 'com.woltlab.wcf.moderation.queue';
40 }
41
42 /**
43 * Returns the ids of the ids of the marked moderation queue entries for which the active user
44 * can assign users.
45 *
46 * @return int[]
47 */
48 public function validateAssignUserByClipboard(): array
49 {
50 return \array_values(\array_filter(\array_map(static function (ViewableModerationQueue $queue) {
51 if ($queue->canEdit()) {
52 return $queue->queueID;
53 }
54 }, $this->objects)));
55 }
56 }