diff --git a/src/UnicaenAuth/View/Helper/UserAbstract.php b/src/UnicaenAuth/View/Helper/UserAbstract.php index a6cbf1ac3d29b55e397d03ddf4cea07314bb5c02..cdf526e8e432830c729018b2d1b14714a9e0ba83 100644 --- a/src/UnicaenAuth/View/Helper/UserAbstract.php +++ b/src/UnicaenAuth/View/Helper/UserAbstract.php @@ -1,9 +1,9 @@ <?php + namespace UnicaenAuth\View\Helper; -use Zend\I18n\View\Helper\AbstractTranslatorHelper; -use Zend\View\Exception\InvalidArgumentException; use UnicaenAuth\Service\UserContext; +use Zend\I18n\View\Helper\AbstractTranslatorHelper; /** * Classe mère des aides de vue concernant l'utilisateur connecté. @@ -14,6 +14,11 @@ abstract class UserAbstract extends AbstractTranslatorHelper { protected $userContext; + /** + * @var array + */ + static protected $currentIdentity; + /** * Constructeur. * @@ -56,7 +61,11 @@ abstract class UserAbstract extends AbstractTranslatorHelper */ public function getIdentity($preferedKey = null) { - if (!($identity = $this->getUserContext()->getIdentity())) { + if (static::$currentIdentity !== null) { + return static::$currentIdentity; + } + + if (! ($identity = $this->getUserContext()->getIdentity())) { return null; } @@ -76,6 +85,8 @@ abstract class UserAbstract extends AbstractTranslatorHelper $identity = $found; } - return $identity; + static::$currentIdentity = $identity; + + return static::$currentIdentity; } } \ No newline at end of file