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 BlockUserFactory {
31    /**
32     * Create BlockUser
33     *
34     * @param string|UserIdentity $target Target of the block
35     * @param Authority $performer Performer of the block
36     * @param string $expiry Expiry of the block (timestamp or 'infinity')
37     * @param string $reason Reason of the block
38     * @param array $blockOptions
39     * @param array $blockRestrictions
40     * @param array|null $tags Tags that should be assigned to the log entry
41     *
42     * @return BlockUser
43     */
44    public function newBlockUser(
45        $target,
46        Authority $performer,
47        string $expiry,
48        string $reason = '',
49        array $blockOptions = [],
50        array $blockRestrictions = [],
51        $tags = []
52    ): BlockUser;
53}