UserProfile.php 1.71 KB
Newer Older
Bertrand Gauthier's avatar
Bertrand Gauthier committed
1
2
3
4
5
6
7
8
9
10
<?php
namespace UnicaenAuth\View\Helper;

/**
 * Aide de vue permettant d'afficher le profil de l'utilisateur connecté.
 *
 * @author Bertrand GAUTHIER <bertrand.gauthier@unicaen.fr>
 */
class UserProfile extends UserAbstract
{
11
12
13
14
15
    /**
     * @var \BjyAuthorize\Provider\Identity\ProviderInterface 
     */
    protected $identityProvider;
    
Bertrand Gauthier's avatar
Bertrand Gauthier committed
16
17
18
    /**
     * Point d'entrée.
     * 
19
     * @return self
Bertrand Gauthier's avatar
Bertrand Gauthier committed
20
21
22
23
24
25
26
27
28
29
30
31
32
     */
    public function __invoke()
    {
        return $this;
    }
    
    /**
     * Retourne le code HTML généré par cette aide de vue.
     *
     * @return string
     */
    public function __toString()
    {
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
        $roles = array();
        foreach ($this->getIdentityProvider()->getIdentityRoles() as $role) {
            if ($role instanceof \UnicaenAuth\Acl\NamedRole) {
                $roles[] = $role->getRoleName();
            }
            elseif ($role instanceof \BjyAuthorize\Acl\Role) {
                $roles[] = $role->getRoleId();
            }
            else {
                $roles[] = (string)$role;
            }
        }
        $html = "<strong>Profil utilisateur :</strong>";
        if ($roles) {
            $html .= $this->getView()->htmlList($roles);
        }
        return $html;
    }
    
    /**
     * 
     * @return \BjyAuthorize\Provider\Identity\ProviderInterface
     */
    public function getIdentityProvider()
    {
        return $this->identityProvider;
    }

    /**
     * 
     * @param \BjyAuthorize\Provider\Identity\ProviderInterface $identityProvider
     * @return self
     */
    public function setIdentityProvider(\BjyAuthorize\Provider\Identity\ProviderInterface $identityProvider)
    {
        $this->identityProvider = $identityProvider;
        return $this;
Bertrand Gauthier's avatar
Bertrand Gauthier committed
70
    }
71
}