Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3/**
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 * http://www.gnu.org/copyleft/gpl.html
18 *
19 * @file
20 */
21
22namespace MediaWiki\Block;
23
24use MediaWiki\Permissions\Authority;
25use MediaWiki\User\UserIdentity;
26
27/**
28 * @since 1.36
29 */
30interface UnblockUserFactory {
31    /**
32     * @param BlockTarget|UserIdentity|string $target
33     * @param Authority $performer
34     * @param string $reason
35     * @param string[] $tags
36     *
37     * @return UnblockUser
38     */
39    public function newUnblockUser(
40        $target,
41        Authority $performer,
42        string $reason,
43        array $tags = []
44    ): UnblockUser;
45
46    /**
47     * Creates UnblockUser to remove a specific block
48     *
49     * @since 1.44
50     *
51     * @param DatabaseBlock $block
52     * @param Authority $performer
53     * @param string $reason
54     * @param array $tags
55     *
56     * @return UnblockUser
57     */
58    public function newRemoveBlock(
59        DatabaseBlock $block,
60        Authority $performer,
61        string $reason,
62        array $tags = []
63    ): UnblockUser;
64}