public string GetValue()
{
string result = string.Empty;
PortalSecurity portalSecurity = new PortalSecurity();
switch (Type)
{
case ParameterType.StaticValue:
result = Argument;
break;
case ParameterType.PassThrough:
if (string.IsNullOrEmpty(Argument))
result = string.Empty;
else
{
if (HttpContext.Current != null)
{
HttpRequest request = HttpContext.Current.Request;
string getString = CStrN(request.QueryString[Argument]);
result = portalSecurity.InputFilter(getString, PortalSecurity.FilterFlag.NoMarkup | PortalSecurity.FilterFlag.NoScripting);
}
else
{
result = string.Empty;
}
}
break;
case ParameterType.FormPassThrough:
if (string.IsNullOrEmpty(Argument))
result = string.Empty;
else
{
if (HttpContext.Current != null)
{
string postString = CStrN(HttpContext.Current.Request.Form[Argument]);
result = portalSecurity.InputFilter(postString, PortalSecurity.FilterFlag.NoMarkup | PortalSecurity.FilterFlag.NoScripting);
}
else
{
result = string.Empty;
}
}
break;
case ParameterType.PortalID:
result = Convert.ToString(PortalInfo.PortalID);
break;
case ParameterType.PortalName:
result = Convert.ToString(PortalInfo.PortalName);
break;
case ParameterType.TabID:
result = Convert.ToString(ModuleInfo.TabID);
break;
case ParameterType.ModuleID:
result = Convert.ToString(ModuleID);
break;
case ParameterType.Locale:
result = Thread.CurrentThread.CurrentCulture.Name;
break;
default:
UserInfo currentUser = UserController.Instance.GetCurrentUserInfo();
switch(Type)
{
case ParameterType.UserCustomProperty:
if (string.IsNullOrEmpty(Argument))
result = string.Empty;
else
result = currentUser.Profile.GetPropertyValue(Argument);
break;
case ParameterType.UserID:
result = Convert.ToString(currentUser.UserID);
break;
case ParameterType.UserUsername:
result = currentUser.Username;
break;
case ParameterType.UserFirstName:
result = currentUser.FirstName;
break;
case ParameterType.UserLastName:
result = currentUser.LastName;
break;
case ParameterType.UserDisplayname:
result = currentUser.DisplayName;
break;
case ParameterType.UserEmail:
result = currentUser.Email;
break;
case ParameterType.UserWebsite:
result = currentUser.Profile.Website;
break;
case ParameterType.UserIM:
result = currentUser.Profile.IM;
break;
case ParameterType.UserStreet:
result = currentUser.Profile.Street;
break;
case ParameterType.UserUnit:
result = currentUser.Profile.Unit;
break;
case ParameterType.UserCity:
result = currentUser.Profile.City;
break;
case ParameterType.UserCountry:
result = currentUser.Profile.Country;
break;
case ParameterType.UserRegion:
result = currentUser.Profile.Region;
break;
case ParameterType.UserPostalCode:
result = currentUser.Profile.PostalCode;
break;
case ParameterType.UserPhone:
result = currentUser.Profile.Telephone;
break;
case ParameterType.UserCell:
result = currentUser.Profile.Cell;
break;
case ParameterType.UserFax:
result = currentUser.Profile.Fax;
break;
case ParameterType.UserLocale:
result = currentUser.Profile.PreferredLocale;
break;
case ParameterType.UserTimeZone:
result = Convert.ToString(currentUser.Profile.PreferredTimeZone);
break;
case ParameterType.UserIsAuthorized:
result = Convert.ToString(currentUser.Membership.Approved);
break;
case ParameterType.UserIsLockedOut:
result = Convert.ToString(currentUser.Membership.LockedOut);
break;
case ParameterType.UserIsSuperUser:
result = Convert.ToString(currentUser.IsSuperUser);
break;
}
break;
}
return result;
}