Loading src/UnicaenAuth/Controller/UtilisateurController.php +6 −3 Original line number Diff line number Diff line Loading @@ -7,8 +7,8 @@ use UnicaenApp\Mapper\Ldap\People as LdapPeopleMapper; use UnicaenAuth\Entity\Db\AbstractUser; use UnicaenAuth\Entity\Ldap\People; use UnicaenAuth\Entity\Shibboleth\ShibUser; use UnicaenAuth\Formatter\RoleFormatter; use UnicaenAuth\Options\ModuleOptions; use UnicaenAuth\Service\ShibService; use UnicaenAuth\Service\Traits\ShibServiceAwareTrait; use UnicaenAuth\Service\Traits\UserContextServiceAwareTrait; use UnicaenAuth\Service\UserContext; Loading Loading @@ -111,8 +111,11 @@ class UtilisateurController extends AbstractActionController } if ($addFlashMessage) { $selectedRole = $this->serviceUserContext->getSelectedIdentityRoleToString(); $message = sprintf("Vous endossez à présent le profil utilisateur <strong>%s</strong>.", $selectedRole); $selectedRole = $this->serviceUserContext->getSelectedIdentityRole(); $message = sprintf( "Vous endossez à présent le rôle utilisateur '<strong>%s</strong>'.", (new RoleFormatter())->format($selectedRole) ); $this->flashMessenger()->setNamespace('UnicaenAuth/success')->addMessage($message); } Loading src/UnicaenAuth/Formatter/RoleFormatter.php +39 −14 Original line number Diff line number Diff line Loading @@ -2,41 +2,66 @@ namespace UnicaenAuth\Formatter; use Zend\Permissions\Rbac\RoleInterface; use Zend\Permissions\Acl\Role\RoleInterface; class RoleFormatter { /** * Retourne le rôle utilisateur spécifié au format littéral. * Retourne le rôle spécifié au format littéral. * * @param $role * @param object|RoleInterface|string $role * @return string * * @see formatOne() */ public function format($role) { return $this->roleToString($role); return $this->formatOne($role); } /** * Retourne le rôle utilisateur spécifié au format littéral. * Retourne le rôle spécifié au format littéral. * * @param object|RoleInterface|string $role * @return string */ private function roleToString($role) public function formatOne($role) { $string = '?'; $formattedRole = '?'; if ($role instanceof RoleInterface) { $formattedRole = $role->getRoleId(); } elseif (is_string($role)) { $formattedRole = (string) $role; } elseif (is_object($role) && method_exists($role, '__toString')) { $formattedRole = $role; } if (is_object($role) && method_exists($role, '__toString')) { $string = (string) $role; return $formattedRole; } elseif ($role instanceof RoleInterface) { $string = $role->getRoleId(); /** * Retourne les rôles spécifiés au format littéral. * * @param object[]|RoleInterface[]|string[] $roles * @return string[] */ public function formatMany(array $roles) { $formattedRoles = []; foreach ($roles as $key => $role) { if ($role instanceof RoleInterface) { $key = $role->getRoleId(); } elseif (is_string($role)) { $string = $role; $key = $role; } $formattedRoles[$key] = $this->formatOne($role); } return $string; return $formattedRoles; } } No newline at end of file Loading
src/UnicaenAuth/Controller/UtilisateurController.php +6 −3 Original line number Diff line number Diff line Loading @@ -7,8 +7,8 @@ use UnicaenApp\Mapper\Ldap\People as LdapPeopleMapper; use UnicaenAuth\Entity\Db\AbstractUser; use UnicaenAuth\Entity\Ldap\People; use UnicaenAuth\Entity\Shibboleth\ShibUser; use UnicaenAuth\Formatter\RoleFormatter; use UnicaenAuth\Options\ModuleOptions; use UnicaenAuth\Service\ShibService; use UnicaenAuth\Service\Traits\ShibServiceAwareTrait; use UnicaenAuth\Service\Traits\UserContextServiceAwareTrait; use UnicaenAuth\Service\UserContext; Loading Loading @@ -111,8 +111,11 @@ class UtilisateurController extends AbstractActionController } if ($addFlashMessage) { $selectedRole = $this->serviceUserContext->getSelectedIdentityRoleToString(); $message = sprintf("Vous endossez à présent le profil utilisateur <strong>%s</strong>.", $selectedRole); $selectedRole = $this->serviceUserContext->getSelectedIdentityRole(); $message = sprintf( "Vous endossez à présent le rôle utilisateur '<strong>%s</strong>'.", (new RoleFormatter())->format($selectedRole) ); $this->flashMessenger()->setNamespace('UnicaenAuth/success')->addMessage($message); } Loading
src/UnicaenAuth/Formatter/RoleFormatter.php +39 −14 Original line number Diff line number Diff line Loading @@ -2,41 +2,66 @@ namespace UnicaenAuth\Formatter; use Zend\Permissions\Rbac\RoleInterface; use Zend\Permissions\Acl\Role\RoleInterface; class RoleFormatter { /** * Retourne le rôle utilisateur spécifié au format littéral. * Retourne le rôle spécifié au format littéral. * * @param $role * @param object|RoleInterface|string $role * @return string * * @see formatOne() */ public function format($role) { return $this->roleToString($role); return $this->formatOne($role); } /** * Retourne le rôle utilisateur spécifié au format littéral. * Retourne le rôle spécifié au format littéral. * * @param object|RoleInterface|string $role * @return string */ private function roleToString($role) public function formatOne($role) { $string = '?'; $formattedRole = '?'; if ($role instanceof RoleInterface) { $formattedRole = $role->getRoleId(); } elseif (is_string($role)) { $formattedRole = (string) $role; } elseif (is_object($role) && method_exists($role, '__toString')) { $formattedRole = $role; } if (is_object($role) && method_exists($role, '__toString')) { $string = (string) $role; return $formattedRole; } elseif ($role instanceof RoleInterface) { $string = $role->getRoleId(); /** * Retourne les rôles spécifiés au format littéral. * * @param object[]|RoleInterface[]|string[] $roles * @return string[] */ public function formatMany(array $roles) { $formattedRoles = []; foreach ($roles as $key => $role) { if ($role instanceof RoleInterface) { $key = $role->getRoleId(); } elseif (is_string($role)) { $string = $role; $key = $role; } $formattedRoles[$key] = $this->formatOne($role); } return $string; return $formattedRoles; } } No newline at end of file