code: public static String userTagAction(String property, ServletRequest req) {
  
          CmsFlexController controller = CmsFlexController.getController(req);
  
          CmsObject cms = controller.getCmsObject();
          CmsUser user = cms.getRequestContext().getCurrentUser();
  
          if (property == null) {
              property = USER_PROPERTIES[0];
          }
  
          String result = null;
          switch (USER_PROPERTIES_LIST.indexOf(property)) {
              case 0: // name
                  result = user.getName();
                  break;
              case 1: // firstname
                  result = user.getFirstname();
                  break;
              case 2: // lastname
                  result = user.getLastname();
                  break;
              case 3: // email
                  result = user.getEmail();
                  break;
              case 4: // street
                  result = user.getAddress();
                  break;
              case 5: // zip
                  result = user.getZipcode();
                  break;
              case 6: // city
                  result = user.getCity();
                  break;
              case 7: // description
                  result = user.getDescription(cms.getRequestContext().getLocale());
                  break;
              // following 3 attributes are no longer supported
              case 8: // group
              case 9: // currentgroup
              case 10: // defaultgroup
                  result = "";
                  break;
              case 11: // otherstuff
                  Iterator<String> it = user.getAdditionalInfo().keySet().iterator();
                  CmsMessageContainer msgContainer = Messages.get().container(Messages.GUI_TAG_USER_ADDITIONALINFO_0);
                  result = Messages.getLocalizedMessage(msgContainer, req);
                  while (it.hasNext()) {
                      Object o = it.next();
                      result += " " + o + "=" + user.getAdditionalInfo((String)o);
                  }
                  break;
              case 12: // institution
                  result = user.getInstitution();
                  break;
              default:
                  msgContainer = Messages.get().container(Messages.GUI_ERR_INVALID_USER_PROP_1, property);
                  result = Messages.getLocalizedMessage(msgContainer, req);
          }
  
          return result;
      }
docs: Internal action method.<p>
  
  @param property the selected user property
  @param req the current request
  @return String the value of the selected user property