%%[ /* Get the Id of the account */ Set @mid = [memberid] /* Get the key from the form */ Set @subKey = [_subscriberkey] if Empty(@subKey) or @subKey == “” then SET @subKey = “subkey@example.com” endif /* Create the subscriber’s object */ set @subscriber = CreateObject( “Subscriber” ) SetObjectProperty( @subscriber, “EmailAddress”, @subKey ) SetObjectProperty( @subscriber, “SubscriberKey”, @subKey ) /* make sure the system is posting */ SET @isUpdate = RequestParameter(“personal”) SET @save = “FALSE” if Not Empty(@isUpdate) then SET @save = “TRUE” /* get the attributes and checkBoxes */ SET @checkBoxes = RequestParameter(“checkBoxList”) SET @attributes = RequestParameter(“attributes”) /* Create arrays from each of the lists */ SET @checkArray = BuildRowSetFromString(@checkBoxes,”||”) SET @attArray = BuildRowSetFromString(@attributes,”||”) SET @attCount = RowCount(@attArray) SET @checkCount = RowCount(@checkArray) SET @display = “” SET @display2 = “” if @attCount > 0 then /* iterate all of the elements */ FOR @i = 1 TO @attCount DO Set @attribute = Field(Row(@attArray, @i),1) Set @value = RequestParameter(@attribute) /* Create the Attribute */ Set @att = CreateObject( “Attribute” ) SetObjectProperty( @att, “Name”, @attribute ) SetObjectProperty( @att, “Value”, @value ) /* Set the attribute to the subscriber */ AddObjectArrayItem( @subscriber, “Attributes”, @att ) /* Set @display = Concat(@display,@attribute, ” = ” , @value, ” @@@ “) */ NEXT @i endif /* Set @display = Concat(@display,” —CHECK — “) */ if @checkCount > 0 then /* iterate all of the elements */ FOR @i = 1 TO @checkCount DO set @values = “” Set @attribute = Field(Row(@checkArray, @i),1) Set @internalCheckArray = BuildRowSetFromString(@attribute,”:”) if RowCount(@internalCheckArray) > 1 then SET @checkName = Field(Row(@internalCheckArray, 1),1) SET @checkNumber = Field(Row(@internalCheckArray, 2),1) FOR @j = @checkNumber DOWNTO 1 DO Set @singleCheckName = Concat(@checkName,@j) Set @value = RequestParameter(@singleCheckName) IF not Empty(@value) then if(Empty(@values))then set @values = @value else set @values = Concat(@values, “,”, @value ) endif endif NEXT @j /* Create the Attribute */ Set @apiName = Replace(@checkName,”-“,” “) Set @att = CreateObject( “Attribute” ) SetObjectProperty( @att, “Name”, @apiName ) SetObjectProperty( @att, “Value”, @values ) /* Set the attribute to the subscriber */ AddObjectArrayItem( @subscriber, “Attributes”, @att ) /* Set @display = Concat(@display,@apiName, ” = ” , @values, ” @@@ “) */ endif NEXT @i endif endif /* Did the user pressed the subscriptions submit button */ if RequestParameter(“subscription”) == 1 then SET @save = “TRUE” /* request paramter from List A */ Set @theListA = RequestParameter(“ListsA”) Set @array = BuildRowSetFromString(@theListA, ‘|’) for @r = 1 to Rowcount(@array) do Set @configRow = Row(@array,@r) Set @configkey = Field(@configRow,1) Set @value = RequestParameter(@configkey) if Empty(@value) then set @subscription = CreateObject(“SubscriberList”) SetObjectProperty( @subscription, “ID”, @configkey ) SetObjectProperty( @subscription, “IDSpecified”, “true” ) SetObjectProperty( @subscription, “Status”, “Unsubscribed” ) SetObjectProperty( @subscription, “StatusSpecified”, “true” ) AddObjectArrayItem( @subscriber, “Lists”, @subscription ) else set @subscription = CreateObject(“SubscriberList”) SetObjectProperty( @subscription, “ID”, @configkey ) SetObjectProperty( @subscription, “IDSpecified”, “true” ) SetObjectProperty( @subscription, “Status”, “Active” ) SetObjectProperty( @subscription, “StatusSpecified”, “true” ) AddObjectArrayItem( @subscriber, “Lists”, @subscription ) endif next @r /* request paramter from List U */ Set @theListU = RequestParameter(“ListsU”) Set @array = BuildRowSetFromString(@theListU, ‘|’) for @r = 1 to Rowcount(@array) do Set @configRow = Row(@array,@r) Set @configkey = Field(@configRow,1) Set @value = RequestParameter(@configkey) if @value == “Active” then set @subscription = CreateObject(“SubscriberList”) SetObjectProperty( @subscription, “ID”, @configkey ) SetObjectProperty( @subscription, “IDSpecified”, “true” ) SetObjectProperty( @subscription, “Status”, “Active” ) SetObjectProperty( @subscription, “Action”, “create” ) AddObjectArrayItem( @subscriber, “Lists”, @subscription ) endif next @r endif /* Did the user pressed the unsub all submit button */ if RequestParameter(“subscriptionALL”) == 1 then SET @save = “TRUE” if RequestParameter(“UnsubAll”) == “true” then SetObjectProperty( @subscriber, “Status”, “Unsubscribed” ) else SET @error = “True” set @message = “Please Select One of the Options” endif endif /* SET @display3 = “” */ /* Did the user change their preferernces */ if RequestParameter(“preference”) == 1 then SET @save = “TRUE” Set @ppr = RequestParameter(“preferences”) Set @array = BuildRowSetFromString(@ppr, ‘|’) /* SET @display3 = Concat(@array,”@@@@@@@@@”) */ for @r = 1 to Rowcount(@array) do Set @configRow = Row(@array,@r) Set @configkey = Field(@configRow,1) Set @value = RequestParameter(@configkey) if @configKey == “EmailTypePreference” then if @value == “true” then SetObjectProperty( @subscriber, “EmailTypePreference”, “HTML” ) else SetObjectProperty( @subscriber, “EmailTypePreference”, “TEXT” ) endif else if @value == “true” then Set @value = “True” else Set @value = “False” endif set @pref = CreateObject( “Attribute” ) SetObjectProperty( @pref, “Name”, @configkey ) SetObjectProperty( @pref, “Value”, @value ) AddObjectArrayItem( @subscriber, “Attributes”, @pref ) endIf next @r endif IF @save == “TRUE” then /* change the last modify date */ SET @theTime = Format(Now(), “MM/dd/yyyy”) set @LastModify = CreateObject( “Attribute” ) SetObjectProperty( @LastModify, “Name”, “Last Modify” ) SetObjectProperty( @LastModify, “Value”, @theTime ) AddObjectArrayItem( @subscriber, “Attributes”, @LastModify ) /* Update the Subscriber If we have to */ var @createOpts, @saveOpt /* Create the save option */ set @saveOpt = CreateObject(“SaveOption”) SetObjectProperty( @saveOpt, “SaveAction”, “UpdateAdd” ) SetObjectProperty( @saveOpt, “PropertyName”, “*” ) /* Specify the Update option */ set @createOpts = CreateObject(“CreateOptions”) AddObjectArrayItem( @createOpts, “SaveOptions”, @saveOpt ) /* Update the subscriber */ set @createStatusCode = InvokeCreate( @subscriber, @createErrDesc, @createErrNo, @createOpts ) /* If we failed to create the subscriber, output the information as the top level error */ if @createStatusCode != “OK” then Redirect(“http://%%microsite_base_url[default]3891541[/default]%%”) else SET @TheWorks = ‘true’ endif endif ]%%

Profile Center

Welcome to the Subscriber Profile Center! You may use this page at any time to update the information you have provided to us.

On this Page



My Personal Information

Update your personal information here. Once you have made changes, click the Update button in this section.

* Indicates a Required Field

*Some of your selections had errors. Please fix them and click Update.

*Thank you for updating your profile!

%%[ /* get the values from the DE */ Set @tableValues = LOOKUPORDEREDROWS(“adminPageInfo”,0,”Order asc”, “SecretField”, “1”) /* get the count of the elements */ Set @theRowCount = RowCount( @tableValues ) /* Counters for the number of colums and number of elements in a group */ Set @counter = 0 Set @idCounter = 1 /* List that contains the name of all the elements that we need to retrieve when the user tryies to save */ Set @AttributeList = “” Set @checkBoxList = “” Set @radioList = “” /* for all the variables */ FOR @Variable = 1 TO @theRowCount DO /* get each of the rows */ Set @table1 = Row( @tableValues, @Variable ) /* get the previous parameters except the first one */ if not @Variable == 1 then Set @table2 = Row( @tableValues, Subtract(@Variable,1) ) endif /* get all the varaibles we need */ Set @order = Field( @table1, “Order” ) Set @name = Field( @table1, “Name” ) Set @at = Field( @table1, “Attribute Value”) Set @dt = Field( @table1, “Data Type” ) Set @ev = Field( @table1, “Element Value” ) Set @group = Field( @table1, “Group” ) Set @groupName = Field( @table1, “Group Name” ) Set @limit = Field(@table1, “Limit”) Set @column = Field(@table1, “Column”) Set @required = Field(@table1,”Required”) Set @readOnly = Field(@table1, “Read Only”) Set @key = Field( @table1, “key” ) /* make sure that the fields can be used as ids (AKA replace the white space with -) */ set @cleanID = Replace(@name,” “,”-“) set @cleanDt = Replace(@dt,” “,”-“) Set @cleanGroup = Replace(@group,” “,”-“) /* get the name of the previous varaible */ if not empty(@table2) then Set @group2 = Field( @table2, “Group” ) Set @dt2 = Field( @table2, “Data Type” ) Set @name2 = Field( @table2, “Name” ) endif /* If the Groups are different and the names are different. There is a similar check latter on, but this one makes sure it happends before displaying the group headers */ if @group != @group2 and @name != @name2 then /* If the type of the previous Group was the Drop Down we need to close the select tag */ if @dt2 == “Drop Down” then ]%%
%%[ endif endif /* If the Groups are different and there is a group name (aka NO Text related fields) */ if @group != @group2 and NOT Empty(@groupName) then /* If there is no fields or the limit is not 0, we are going to create a dynamic call to a javascript function to make sure the limits are met. */ if Not Empty(@limit) and @limit !=0 then Set @call = Concat(@cleanGroup,”,”, @limit) if not Empty(@tocall) then Set @tocall = Concat(@tocall,”|” , @call) else Set @tocall = @call endif endif /* If the type is a drop-down or a Radio we need to save all the names in the list by just concatinating them with a comma */ if @dt == “Radio” OR @dt == “Drop Down” then if @readOnly != true then Set @AttributeList = Concat(@AttributeList,”||”,@name) endif /* If the type is a check box we need to concatenate them with a pipe So we can then append all the values and save them in ONE field */ endif /* Set the counter to 0 and then the counter of the columns to the number Of colums that we need to display. When these two numbers are the same we need to diplay the elements in the next page */ Set @counter = 0 Set @columnNum = @column /* ID used to display an error when the user selects too many options, or a required field is not filled. The option is always in the page, but hidden. It is dynamic because we only need the group name and the rest is just appended */ Set @theErrorID = Concat(@cleanGroup,”error”) Set @requiredID = Concat(@cleanGroup,”required”) /* Div that solved the problems related to the floating Divs */ ]%%
%%[ /* IF the previous element was not a input field or a drop-down we are going to display a break before the group header */ if @dt2 != “Input Field” and @dt2 != “Drop Down” then ]%%
%%[ endif ]%% %%[ /* If the element is required display the red * */ if @required == true then Set @requiredFields = Concat(@requiredFields,”|”,@cleanID) ]%% * %%[ else ]%%    %%[ endif /* Display the group header and the error code for too many selections */ ]%% %%=v(@groupName)=%% Too many selections (MAX %%=v(@limit)=%%) %%[ /* If the element is required then set a hidden message that we can show when there is an error. */ if @required == true then ]%% This Field is required %%[ else ]%% %%[ endif /* If the element is not a drop-down, we need to create a space between the header and the field */ if @dt != “Drop Down” then ]%%
%%[ endif if @dt == “CheckBox” then ]%% %%[ endif else Set @counter = Add(@counter, 1) Set @theTest = Concat(@theTest, ” ” , @ev) endif /* If the groups are different and the names are also different That means that we have change the element */ if @group != @group2 and @name != @name2 then /* if the data type is a dropDown we need to open the drop Down Tag */ if @dt == “Drop Down” then ]%%
%%=v(@at)=%%
%%[ /* If the input type is input field we will diplay the name and then create the input. Also, we need to display the * before the name if required. */ elseif @dt == “Input Field” then /* add the attribute to the list of elements to enter in the system */ if @readOnly != true then Set @AttributeList = Concat(@AttributeList,”||”,@name) endif Set @requiredID = Concat(@cleanID,”required”) ]%%
%%[ /* If its required display the red * */ if @required == true then Set @requiredFields = Concat(@requiredFields,”|”,@cleanID) ]%% * %%[ else ]%%    %%[ endif ]%% This Field is required
%%[ /* If it is a radio button data type, we just need to display the name and then the option */ elseif @dt == “Radio” then ]%%
%%=v(@at)=%%
%%[ /* If it is a text area just display the name and then the text area */ elseif @dt == “Text Area” then /* add the attribute name to the List */ if @readOnly != true then Set @AttributeList = Concat(@AttributeList,”||”,@name) endif Set @requiredID = Concat(@cleanID,”required”) ]%%
%%[ /* If its required display the red * */ if @required == true then Set @requiredFields = Concat(@requiredFields,”|”,@cleanID) ]%% * %%[ else ]%%    %%[ endif ]%% This Field is required

%%[ /* if it is a drop-down then we will just display the option. The open and close tags are done elsewhere. */ elseif @dt == “Drop Down” then ]%% %%[ endif NEXT @Variable /* Clean the name of the group to be used on an id */ Set @thegroup2 = Replace(@group,” “,”-“) IF IndexOf(@checkBoxList, @thegroup2 ) == 0 and @dt == “CheckBox” then /* Get the counter and reduce it by one */ Set @boxCounter = Subtract(@idCounter,1) /* if the Counter was one, then set it back to 1 */ if @boxCounter == 0 then Set @boxCounter = 1 endif /* Set the name and the counter into the list */ Set @checkBoxList = Concat(@checkBoxList,@thegroup2,”:”,@boxCounter,”||”) endif SET @len = Length(@requiredFields) Set @requiredFields = Substring(@requiredFields,1,@len) SET @toCall = Concat(@toCall,”@@”,@requiredFields) /* Set up the Call */ Set @toCall = Concat(“areLimitsInOrder(‘”,@toCall,”‘);”) ]%%

My Subscriptions

Tell us which emails you would like to subscribe to here. Be sure to click the update button in this section!

Available Publications

%%[ /* Find Out the status of the subscribers */ SET @rr4 = CreateObject(“RetrieveRequest”) SetObjectProperty(@rr4,”ObjectType”,”ListSubscriber”) AddObjectArrayItem(@rr4, “Properties”, “Status”) AddObjectArrayItem(@rr4, “Properties”, “ListID”) /* Make sure that the list is public */ SET @sfp2 = CreateObject(“SimpleFilterPart”) SetObjectProperty(@sfp2,”Property”,”SubscriberKey”) SetObjectProperty(@sfp2,”SimpleOperator”,”equals”) AddObjectArrayItem(@sfp2,”Value”,@subKey) /* set the filter to the request */ SetObjectProperty(@rr4,”Filter”,@sfp2) SET @listStatus = InvokeRetrieve(@rr4, @status) /* Create the Request for the list */ SET @rr3 = CreateObject(“RetrieveRequest”) SetObjectProperty(@rr3,”ObjectType”,”List”) AddObjectArrayItem(@rr3, “Properties”, “ListName”) AddObjectArrayItem(@rr3, “Properties”, “Type”) AddObjectArrayItem(@rr3, “Properties”, “Description”) AddObjectArrayItem(@rr3, “Properties”, “ID”) /* Make sure that the list is public */ SET @sfp2 = CreateObject(“SimpleFilterPart”) SetObjectProperty(@sfp2,”Property”,”Type”) SetObjectProperty(@sfp2,”SimpleOperator”,”equals”) AddObjectArrayItem(@sfp2,”Value”,”public”) /* Make sure that the list is not a publication list */ SET @sfp3 = CreateObject(“SimpleFilterPart”) SetObjectProperty(@sfp3,”Property”,”ListClassification”) SetObjectProperty(@sfp3,”SimpleOperator”,”equals”) AddObjectArrayItem(@sfp3,”Value”,”ExactTargetList”) /* set the complex filter */ Set @cf1 = CreateObject(“ComplexFilterPart”) SetObjectProperty(@cf1,”LeftOperand”,@sfp2) SetObjectProperty(@cf1,”RightOperand”,@sfp3) SetObjectProperty(@cf1,”LogicalOperator”,”AND”) /* set the filter to the request */ SetObjectProperty(@rr3,”Filter”,@cf1) SET @atts = InvokeRetrieve(@rr3, @status) /* String to store all the list ids */ SET @ListsA = “” SET @ListsU = “” Set @lA = 1 Set @lU = 1 /* make sure that there are list */ IF RowCount(@atts) > 0 THEN /* for all the list */ FOR @c = 1 TO RowCount(@atts) DO /* get each of the rows */ SET @lis = Row(@atts,@c) /* get the necesary variables */ SET @lis_name = Field(@lis,’ListName’) SET @lis_ID = Field(@lis,’ID’) SET @lis_des = Field(@lis,’Description’) Set @printed = false /* Find the status of the public list */ IF RowCount(@listStatus) > 0 THEN /* for all the status of the list */ FOR @d = 1 TO RowCount(@listStatus) DO SET @lisStat = Row(@listStatus,@d) SET @lisStat_id = Field(@lisStat,’ListID’) SET @lis_status = Field(@lisStat,’Status’) if @lisStat_id == @lis_ID and @lis_status == ‘Active’ then ]%% %%=v(@lis_name)=%%
%%=v(@lis_des)=%%

%%[ /* create the array of Active list ids */ if @lA == 1 then SET @ListsA = @lis_ID SET @lA = 2 else SET @ListsA = Concat(@ListsA, “|” , @lis_ID) endif Set @printed = true elseif @lisStat_id == @lis_ID and @lis_status == ‘Unsubscribed’ then ]%% %%=v(@lis_name)=%%
%%=v(@lis_des)=%%

%%[ /* create the array of Active list ids */ if @lA == 1 then SET @ListsA = @lis_ID SET @lA = 2 else SET @ListsA = Concat(@ListsA, “|” , @lis_ID) endif Set @printed = true endif NEXT @d ENDIF IF @printed == false then ]%% %%=v(@lis_name)=%%
%%=v(@lis_des)=%%
%%[ /* create the array of Non Active list ids */ if @lD== 1 then SET @ListsU = @lis_ID SET @lD = 2 else SET @ListsU = Concat(@ListsU, “|” , @lis_ID) endif endif NEXT @c endif ]%%

Unsubscribe from ALL

I no longer wish to receive any publications. Please unsubscribe me from all current AND future publications. (Note, if you are open to trying out new publications we produce in the future, you should NOT check this box, but should just uncheck the ones listed in Available Publications. It is a legal thing.)

My Preferences

Indicate your email preferences here. Once you have made changes to your information, click the Update button.

%%[ /* List that will store all the preferences */ var @preferences SET @preferences = “EmailTypePreference” /* Get all the subscriber attributes */ SET @rr2 = CreateObject(“RetrieveRequest”) SetObjectProperty(@rr2,”ObjectType”,”Subscriber”) AddObjectArrayItem(@rr2, “Properties”, “ID”) AddObjectArrayItem(@rr2, “Properties”, “EmailTypePreference”) AddObjectArrayItem(@rr2, “Properties”, “EmailAddress”) AddObjectArrayItem(@rr2, “Properties”, “SubscriberKey”) AddObjectArrayItem(@rr2, “Properties”, “Status”) /* Create a filter be the subscriber Id */ SET @sfp2 = CreateObject(“SimpleFilterPart”) SetObjectProperty(@sfp2,”Property”,”SubscriberKey”) SetObjectProperty(@sfp2,”SimpleOperator”,”equals”) AddObjectArrayItem(@sfp2,”Value”,@subKey) /* invoke the Retrieve Call */ SetObjectProperty(@rr2,”Filter”,@sfp2) SET @atts = InvokeRetrieve(@rr2,@status) /* Make a list of the Preferences */ IF RowCount(@atts) > 0 THEN SET @subAtts = Field(Row(@atts,1),”Attributes”) SET @pereference = Field(Row(@atts,1),”EmailTypePreference”) ]%% HTML Emails
When possible, send e-mail newsletters as HTML instead of plain text. %%[ Set @p = 1 /* for all the attributes make sure if the values are true or False */ FOR @c = 1 TO RowCount(@subAtts) DO SET @att = Row(@subAtts,@c) SET @att_name = Field(@att,’Name’) SET @att_val = Field(@att,’Value’) /* save the corresponding values to an array */ IF @att_val == “true” or @att_val == “false” then SET @preferences = Concat(@att_name, “|” , @preferences) ]%% %%=v(@att_name)=%%
%%[ ENDIF NEXT @c ENDIF ]%%