public string GetValue()
{
// init vars
var argumentIsEmpty = string.IsNullOrEmpty(TypeArgument);
var objSecurity = new PortalSecurity();
// get value based on type
switch (ParseType(Type))
{
case ParameterType.StaticValue:
// static
return TypeArgument;
case ParameterType.PassThrough:
// pass-thru parameter / Querystring
if (argumentIsEmpty)
return "";
if ((HttpContext.Current != null))
{
var qString = HttpContext.Current.Request.QueryString[TypeArgument].DefaultIfNullOrEmpty();
return objSecurity.InputFilter(qString,
PortalSecurity.FilterFlag.NoMarkup |
PortalSecurity.FilterFlag.NoScripting);
}
break;
case ParameterType.FormPassThrough:
// pass-thru parameter
if (argumentIsEmpty)
return "";
if ((HttpContext.Current != null))
{
var fString = HttpContext.Current.Request.Form[TypeArgument].DefaultIfNullOrEmpty();
return objSecurity.InputFilter(fString,
PortalSecurity.FilterFlag.NoMarkup |
PortalSecurity.FilterFlag.NoScripting);
}
break;
case ParameterType.PortalID:
// portal id
return Convert.ToString(Globals.GetPortalSettings().PortalId);
case ParameterType.PortalName:
// portal name
return Convert.ToString(Globals.GetPortalSettings().PortalName);
case ParameterType.HomeDirectory:
// portal name
return Convert.ToString(Globals.GetPortalSettings().HomeDirectory);
case ParameterType.CurrentCulture:
// portal name
return Convert.ToString(new Localization().CurrentCulture);
case ParameterType.TabID:
// active tab id
return Convert.ToString(Globals.GetPortalSettings().ActiveTab.TabID);
case ParameterType.ModuleID:
// module id
return Convert.ToString(ModuleId);
default:
// user property
// get current user
var objUser = UserController.GetCurrentUserInfo();
// handle user property
switch (ParseType(Type))
{
case ParameterType.UserCustomProperty:
// custom property
if (argumentIsEmpty)
return "";
return objUser.Profile.GetPropertyValue(TypeArgument);
case ParameterType.UserID:
return Convert.ToString(objUser.UserID);
case ParameterType.UserUsername:
return objUser.Username.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserFirstName:
return objUser.FirstName.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserLastName:
return objUser.LastName.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserFullName:
return objUser.DisplayName.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserEmail:
return objUser.Email.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserWebsite:
return objUser.Profile.Website.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserIM:
return objUser.Profile.IM.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserStreet:
return objUser.Profile.Street.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserUnit:
return objUser.Profile.Unit.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserCity:
return objUser.Profile.City.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserCountry:
return objUser.Profile.Country.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserRegion:
return objUser.Profile.Region.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserPostalCode:
return objUser.Profile.PostalCode.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserPhone:
return objUser.Profile.Telephone.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserCell:
return objUser.Profile.Cell.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserFax:
return objUser.Profile.Fax.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserLocale:
return objUser.Profile.PreferredLocale.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserTimeZone:
return objUser.Profile.TimeZone.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserIsAuthorized:
return objUser.Membership.Approved.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserIsLockedOut:
return objUser.Membership.LockedOut.DefaultIfNullOrEmpty(TypeArgument);
case ParameterType.UserIsSuperUser:
return objUser.IsSuperUser.DefaultIfNullOrEmpty(TypeArgument);
}
break;
}
return string.Empty;
}