main/core/Controller/LayoutController.php
public function renderWarningImpersonationAction()
    {
        $token = $this->tokenStorage->getToken();
        $roles = $this->utils->getRoles($token);
        $impersonatedRole = null;
        $isRoleImpersonated = false;
        $workspaceName = '';
        $roleName = '';

        foreach ($roles as $role) {
            if (strstr($role, 'ROLE_USURPATE_WORKSPACE_ROLE')) {
                $isRoleImpersonated = true;
            }
        }

        if ($isRoleImpersonated) {
            foreach ($roles as $role) {
                if (strstr($role, 'ROLE_WS')) {
                    $impersonatedRole = $role;
                }
            }
            if (null === $impersonatedRole) {
                $roleName = 'ROLE_ANONYMOUS';
            } else {
                $guid = substr($impersonatedRole, strripos($impersonatedRole, '_') + 1);
                $workspace = $this->workspaceManager->getOneByGuid($guid);
                $roleEntity = $this->roleManager->getRoleByName($impersonatedRole);
                $roleName = $roleEntity->getTranslationKey();

                if ($workspace) {
                    $workspaceName = $workspace->getName();
                }
            }
        }

        return $this->render('ClarolineCoreBundle:layout:render_warning_impersonation.html.twig', [
            'isImpersonated' => $this->isImpersonated(),
            'workspace' => $workspaceName,
            'role' => $roleName,
        ]);
    }
public function renderWarningImpersonationAction()
    {
        $token = $this->tokenStorage->getToken();
        $roles = $this->utils->getRoles($token);
        $impersonatedRole = null;
        $isRoleImpersonated = false;
        $workspaceName = '';
        $roleName = '';

        foreach ($roles as $role) {
            if (strstr($role, 'ROLE_USURPATE_WORKSPACE_ROLE')) {
                $isRoleImpersonated = true;
            }
        }

        if ($isRoleImpersonated) {
            foreach ($roles as $role) {
                if (strstr($role, 'ROLE_WS')) {
                    $impersonatedRole = $role;
                }
            }
            if (null === $impersonatedRole) {
                $roleName = 'ROLE_ANONYMOUS';
            } else {
                $guid = substr($impersonatedRole, strripos($impersonatedRole, '_') + 1);
                $workspace = $this->workspaceManager->getOneByGuid($guid);
                $roleEntity = $this->roleManager->getRoleByName($impersonatedRole);
                $roleName = $roleEntity->getTranslationKey();

                if ($workspace) {
                    $workspaceName = $workspace->getName();
                }
            }
        }

        return $this->render('ClarolineCoreBundle:layout:render_warning_impersonation.html.twig', [
            'isImpersonated' => $this->isImpersonated(),
            'workspace' => $workspaceName,
            'role' => $roleName,
        ]);
    }
public function renderWarningImpersonationAction ( ) { $ token = $ this -> tokenStorage -> getToken ( ) ; $ roles = $ this -> utils -> getRoles ( $ token ) ; $ impersonatedRole = null ; $ isRoleImpersonated = false ; $ workspaceName = '' ; $ roleName = '' ; foreach ( $ roles as $ role ) { if ( strstr ( $ role , 'ROLE_USURPATE_WORKSPACE_ROLE' ) ) { $ isRoleImpersonated = true ; } } if ( $ isRoleImpersonated ) { foreach ( $ roles as $ role ) { if ( strstr ( $ role , 'ROLE_WS' ) ) { $ impersonatedRole = $ role ; } } if ( null === $ impersonatedRole ) { $ roleName = 'ROLE_ANONYMOUS' ; } else { $ guid = substr ( $ impersonatedRole , strripos ( $ impersonatedRole , '_' ) + 1 ) ; $ workspace = $ this -> workspaceManager -> getOneByGuid ( $ guid ) ; $ roleEntity = $ this -> roleManager -> getRoleByName ( $ impersonatedRole ) ; $ roleName = $ roleEntity -> getTranslationKey ( ) ; if ( $ workspace ) { $ workspaceName = $ workspace -> getName ( ) ; } } } return $ this -> render ( 'ClarolineCoreBundle:layout:render_warning_impersonation.html.twig' , [ 'isImpersonated' => $ this -> isImpersonated ( ) , 'workspace' => $ workspaceName , 'role' => $ roleName , ] ) ; }
Renders the warning bar when a workspace role is impersonated.

@return Response
Renders the warning bar when a workspace role is impersonated .