Role.php
775 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
namespace ACP\Export\Model\User;
use AC\Column;
use ACP\RolesFactory;
use ACP\Export\Model;
/**
* Role (default column) exportability model
* @since 4.1
*/
class Role extends Model {
/**
* @var bool
*/
private $allow_all_roles;
public function __construct( Column $column, bool $allow_all_roles ) {
parent::__construct( $column );
$this->allow_all_roles = $allow_all_roles;
}
private function is_site_role( $role ) {
$roles = ( new RolesFactory() )->create( $this->allow_all_roles );
return in_array( $role, $roles, true );
}
public function get_value( $id ) {
$user = get_userdata( $id );
$roles = array_filter( $user->roles, [ $this, 'is_site_role' ] );
return implode( ', ', ac_helper()->user->translate_roles( $roles ) );
}
}