private function addUserStatus() { // If the user is not logged in, then we have nothing to do here if (\UserStatus::isGuest()) { return; } $userTpl = array(); $userTpl['FULL_NAME'] = \UserStatus::getDisplayName(); $useDropdown = false; if (\UserStatus::isMasquerading() && \UserStatus::isMasqueradingAsSelf()) { // User is masquerading as student version of self $useDropdown = true; $userTpl['FULL_NAME'] = \UserStatus::getDisplayName() . ' (student)'; $cmd = \CommandFactory::getCommand('RemoveMaskAsSelf'); $userTpl['STUDENT_SELF_RETURN'] = $cmd->getURI(); // Link to return to admin version of self } else { if (\UserStatus::isMasquerading()) { // User is masquerading as a student $useDropdown = true; $cmd = \CommandFactory::getCommand('RemoveMask'); $userTpl['REMOVE_MASK'] = $cmd->getURI(); $userTpl['FULL_NAME'] = '<strong class="text-danger">' . \UserStatus::getDisplayName() . '</strong>'; } else { if (\Current_User::allow('hms', 'ra_login_as_self')) { // User is not masquerading, but do have permission to change to student self-view $useDropdown = true; $studentViewCmd = \CommandFactory::getCommand('RaMasqueradeAsSelf'); $userTpl['STUDENT_VIEW_URI'] = $studentViewCmd->getURI(); } } } if ($useDropdown) { // Other options available, so we'll render a drop down $this->tpl['USER_STATUS_DROPDOWN'] = \PHPWS_Template::process($userTpl, 'hms', 'UserStatus.tpl'); } else { // No other options, so the user status is just the display name $this->tpl['DISPLAY_NAME'] = \UserStatus::getDisplayName(); } }