웹 내용 전시

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression bankercode is undefined on line 42, column 6 in 10153#10191#6524591.
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign url404 = '/error/404.html' > 
3<#assign oadURL = propsUtil.get('elan.oad.url') > 
4<#assign url = request.attributes.CURRENT_URL > 
5<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
6 
7<#if qstringmap["ecid"]?has_content> 
8    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
9<#else> 
10    <#assign ecidExt=""> 
11</#if> 
12 
13<#if qstringmap["bankercode"]?has_content> 
14    <#assign bankercode= qstringmap["bankercode"]?first> 
15 
16    <#assign fiData= utilServ.makeCall('crcDDCBankerAssistedApp','0&'+bankercode)> 
17    <#if fiData?first?has_content> 
18        <#assign fi = fiData?first> 
19        <#if ((fi.projectId == "12") || (fi.projectId == "13") || (fi.projectId == "14"))> 
20            <#assign subbu_special = fi.offerId> 
21        </#if> 
22    </#if>  
23 
24    <#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bankercode)> 
25    <#list bData as b>         
26      <#assign rLC = b.reallocationcode > 
27      <#assign lc = b.locationcode > 
28      <#assign mappedLC = b.mappedLocationCode > 
29    </#list>     
30<#else> 
31    <script> 
32        console.log("MainProductBcode missing"); 
33        //location.href = '${url404}'; 
34    </script> 
35</#if> 
36 
37<#if url?contains('11t1')> 
38    <#assign tier = '11t1'> 
39<#elseif url?contains('11t2')> 
40    <#assign tier = '11t2'> 
41</#if> 
42<#if bankercode?starts_with("amp") && (url?contains("11t1m"))> 
43    <#assign ameriprise = true> 
44<#else> 
45    <#assign ameriprise = false> 
46</#if> 
47<#if ameriprise> 
48    <#assign tier = '11t1m'> 
49</#if> 
50<#assign environment = url?replace('/${tier}.*','','r')> 
51 
52 
53<#if mappedLC?has_content && !ameriprise> 
54    <#assign lc = mappedLC > 
55</#if> 
56 
57<#if lc?has_content> 
58    <#assign prefix = "00000" > 
59    <#assign lcWithPrefix = prefix + lc > 
60    <#assign withPrefixLength = lcWithPrefix?length > 
61    <#assign startHere = withPrefixLength - 5> 
62    <#assign lc = lcWithPrefix?substring(startHere)> 
63    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
64    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
65 
66    <#assign clientProfile = clientProfileList?first> 
67    <#assign partnerName = clientProfile.getMarketingNameLong()> 
68    <#assign logoFileName = clientProfile.getLogoBFormat1()?replace(".", "-")?replace("-([^-]*)$", ".$1", "r")?lower_case> 
69    <#assign cdnLogoUrl = propsUtil.get('rackspace.cdn.web.url')> 
70    <#assign pbu = clientProfile.getPbu()> 
71    <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
72    <script> 
73        console.log('pbu', '${pbu!''}'); 
74        console.log('subbu', '${subbu!''}'); 
75    </script>       
76    <#assign optoutData = utilServ.makeCall('crc_DDCSAAOptOut',pbu+'&'+subbu)> 
77    <#if (optoutData?size == 0)> 
78        <#if (subbu_special?has_content)> 
79            <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
80            <script> 
81                console.log('new subbu', '${subbu_special!''}'); 
82            </script>  
83        <#else> 
84            <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
85        </#if> 
86 
87        <#if (fiCardsData?size > 0)> 
88            <#assign temp = []> 
89            <#assign offerTypeList = []>        
90            <#assign index = 0> 
91            <#list fiCardsData as fib> 
92                <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>  
93                    <#assign offerTypeList = offerTypeList + [fib.offerType]>                   
94                    <#assign temp = temp + fiCardsData[index..index]>  
95                </#if>  
96                <#assign index = index + 1> 
97            </#list>  
98            <#assign fiCardsData = temp> 
99            <#if !(fiCardsData?size > 0)>  
100                <script> 
101                    console.log("empty card/offerType List"); 
102                    //location.href = '${url404}'; 
103                </script> 
104            </#if> 
105            <#if ameriprise> 
106                <#assign lc_used = mappedLC>  
107            <#else> 
108                <#assign lc_used = lc>  
109            </#if>             
110            <div class="content-container content-container-main" title="${partnerName!''}"> 
111                <header class="jn-header"> 
112                    <div>  
113                        <a href="${environment}/${tier}/index?bankercode=${bankercode}&ecdma-lc=${lc_used}${ecidExt}"><< Back to Overview</a> 
114                    </div>  
115                    <div>  
116                        <#if url?contains("11t2")> 
117                            <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}"> 
118                        </#if> 
119                        <div class="styled-select slate"> 
120                            <select> 
121                                <#list fiCardsData as fib> 
122                                    <#if ameriprise> 
123                                        <#if (fib.offerType=="101")> 
124                                            <#assign productURL="premier-visa-signature"> 
125                                            <#assign productName="Ameriprise Premier Visa Signature"> 
126                                        <#elseif (fib.offerType=="103")>      
127                                            <#assign productURL = "visa-signature"> 
128                                            <#assign productName = "Ameriprise Visa Signature">                              
129                                        </#if> 
130                                    <#else> 
131                                        <#if (fib.offerType=="108" || fib.offerType=="109")> 
132                                            <#assign productURL="consumer-platinum2103"> 
133                                            <#assign productName="Platinum Card"> 
134                                        <#elseif (fib.offerType=="104")> 
135                                            <#assign productURL = "max-cash"> 
136                                            <#assign productName = "Max Cash Preferred Card"> 
137                                        <#elseif (fib.offerType=="101" || fib.offerType=="103")> 
138                                            <#assign productURL = "real-rewards"> 
139                                            <#assign productName = "Real Rewards Card"> 
140                                        <#elseif fib.offerType == "115"> 
141                                            <#assign productURL = "secured"> 
142                                            <#assign productName = "Secured Card" > 
143                                        <#elseif fib.offerType == "144"> 
144                                            <#assign productURL = "smart-business-rewards"> 
145                                            <#assign productName = "Smart Business Rewards Card" >                                             
146                                        <#elseif fib.offerType == "128"> 
147                                            <#assign productURL = "business-cashback"> 
148                                            <#assign productName = "Business Cash Card" > 
149                                        <#elseif fib.offerType == "143"> 
150                                            <#assign productURL = "business-real-rewards"> 
151                                            <#assign productName = "Business Real Rewards Card" > 
152                                        <#elseif fib.offerType == "121"> 
153                                            <#assign productURL = "business-platinum2103"> 
154                                            <#assign productName = "Business Card" > 
155                                        </#if> 
156                                    </#if> 
157                                    <#if url?matches(".*/${productURL}.*")> 
158                                        <option value="${environment}/${tier}/${productURL}?bankercode=${bankercode}&ecdma-lc=${lc_used}${ecidExt}" selected="selected">${productName}</option>                                             
159                                    <#else> 
160                                        <option value="${environment}/${tier}/${productURL}?bankercode=${bankercode}&ecdma-lc=${lc_used}${ecidExt}">${productName}</option> 
161                                    </#if> 
162                                     
163                                </#list> 
164                            </select> 
165                        </div> 
166                    </div>  
167                </header> 
168            </div>  
169            <script> 
170                var page = location.pathname.split('/')[location.pathname.split('/').length-1]; 
171                var partnerName = "${partnerName!0}"; 
172                var metaDesc = ""; 
173                switch (page) { 
174                    case "consumer-platinum2103": 
175                        document.title = "The purchasing power of Zero | "+partnerName+" Platinum Card"; 
176                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Limited Time Offer. 0% Intro APR on Purchases and Balance Transfers for 20 Billing Cycles Consolidate your Balances with the "+partnerName+" Intro APR Card."; 
177                        break; 
178                    case "max-cash": 
179                        document.title = "Earn a $150 Bonus and 5% cash back | "+partnerName+" Max Cash Preferred Card"; 
180                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn a $150 Bonus and 5% cash back on the two categories you select"; 
181                        break; 
182                    case "real-rewards": 
183                        document.title = "Sign up and earn bonus points | "+partnerName+" Real Rewards Card"; 
184                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Take home 2,500 bonus points after your first purchase."; 
185                        break; 
186                    case "secured": 
187                        document.title = "Strengthen your finances | "+partnerName+" Secured Card"; 
188                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Use this card as a solid foundation to build your credit."; 
189                        break; 
190                    case "smart-business-rewards": 
191                        document.title = "2X rewards in your top 2 spend categories | "+partnerName+" Business Smart Business Rewards Card"; 
192                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. More choices. More value for your business. Earn a $200 Bonus and 2x Rewards on your top 2 spend categories each month with the "+partnerName+" Credit Card."; 
193                        break; 
194                    case "business-cashback": 
195                        document.title = "Flexible rewards for your business | "+partnerName+" Business Cash Card"; 
196                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn Cash back on common business expenses."; 
197                        break; 
198                    case "business-real-rewards": 
199                        document.title = "Earn up to 3X points with no caps | "+partnerName+" Business Real Rewards Card"; 
200                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Get more rewards in the categories you spend the most on." ; 
201                        break; 
202                    case "business-platinum2103": 
203                        document.title = "Pay down your other credit card balances faster | "+partnerName+" Business Card"; 
204                        metaDesc = "Apply Today for a "+partnerName+" Business Card. 0% Intro APR on Purchases and Balance Transfers for 15 Billing Cycles"; 
205                        break; 
206                    case "premier-visa-signature": 
207                        document.title = "Exclusively for Ameriprise clients | Ameriprise® Premier Visa Signature® Card"; 
208                        metaDesc = "Apply Today for an Ameriprise Financial Credit Card. Earn Rewards Points worth $375 cash value when deposited into an eligible account after spending $3,000 in eligible net purchases within the first 90 days of account opening."; 
209                        break; 
210                    case "visa-signature": 
211                        document.title = "Exclusively for Ameriprise clients | Ameriprise® Visa Signature® Card"; 
212                        metaDesc = "Apply Today for an Ameriprise Financial Credit Card. Earn Rewards Points worth $250 cash value when deposited into an eligible Ameriprise account after spending $2,000 in eligible net purchases within the first 90 days of account opening."; 
213                        break;                                                                                                 
214
215                if (metaDesc.length > 0) { 
216                    var m = document.createElement('meta');  
217                    m.name = 'description';  
218                    m.content = metaDesc;  
219                    document.head.appendChild(m); 
220
221 
222                AUI().ready(function () { 
223                    jQuery('.styled-select select').change(function () { 
224                        location.href = this.value; 
225                    }); 
226                }); 
227            </script> 
228         
229        <#else> 
230            <script> 
231                console.log("FI Cards Data empty"); 
232                //location.href = '${url404}'; 
233            </script> 
234        </#if>   
235    <#else> 
236        <script> 
237            console.log("FI opt out"); 
238            //location.href = '${url404}'; 
239        </script> 
240    </#if>  
241<#else> 
242    <script> 
243        console.log("location code empty"); 
244        //location.href = '${url404}'; 
245    </script> 
246</#if> 

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression bCode is undefined on line 72, column 6 in 10153#10191#6716946.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign url404 = '/error/404.html' > 
5<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
6<#assign environment = url?replace('/11t1.*','','r')> 
7<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
8 
9<#--  check bankercode validity  --> 
10 
11<#if qstringmap["bankercode"]?has_content> 
12    <#assign bCode= qstringmap["bankercode"]?first> 
13 
14    <#assign fiData= utilServ.makeCall('crcDDCBankerAssistedApp','0&'+bCode)> 
15    <#if fiData?first?has_content> 
16        <#assign fi = fiData?first> 
17        <#if (fi.projectId == "12" || fi.projectId == "13" || fi.projectId == "14")> 
18            <#assign subbu_special = fi.offerId> 
19        </#if> 
20    </#if>       
21    <#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
22    <#list bData as b> 
23      <#assign lc = b.locationcode > 
24      <#assign bName = b.branch > 
25      <#assign bPhone = b.businessphone > 
26      <#assign boeid = b.oeid > 
27      <#assign fName = b.firstname?trim> 
28      <#assign lName = b.lastname?trim> 
29      <#assign rlc = b.reallocationcode > 
30      <#assign mappedLC = b.mappedLocationCode > 
31    </#list> 
32    <script> 
33        console.groupCollapsed("fi data from service call 'crcDDCBankerAssistedAppDetail'"); 
34            console.log('%clc: ', 'font-weight: bold; color: red;', '${lc}'); 
35            console.log('bName:  ','${bName}') 
36            console.log('bPhone:  ','${bPhone}') 
37            console.log('boeid','${boeid}') 
38            console.log('fName:  ','${fName}') 
39            console.log('lName:  ','${lName}') 
40            console.log('rlc: ','${rlc}') 
41            console.log('mappedLC:  ','${mappedLC}') 
42        console.groupEnd();      
43    </script> 
44    <#if qstringmap["ecdma-lc"]?has_content> 
45        <#assign lc_url= qstringmap["ecdma-lc"]?first> 
46    </#if> 
47    <script> 
48        console.log('%clc from URL: ', 'font-weight: bold; color: green;', '${lc_url}'); 
49    </script> 
50   
51<#else> 
52    <script> 
53        console.log("MainProductBcode missing"); 
54        //location.href = '${url404}'; 
55    </script> 
56</#if> 
57 
58<#assign text_to_apply_source = "vanity url" > 
59<#if qstringmap["sms"]?has_content> 
60    <#assign sms = 1 > 
61    <#assign text_to_apply_source = "sms" > 
62</#if> 
63<#if qstringmap["qrCode"]?has_content> 
64    <#assign text_to_apply_source = "qr code" > 
65</#if> 
66<#assign campaignId = "" > 
67<#assign ecidExt=""> 
68<#if qstringmap["ecid"]?has_content> 
69    <#assign campaignId = qstringmap["ecid"]?first > 
70    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
71</#if> 
72<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
73    <#assign ameriprise = true> 
74<#else> 
75    <#assign ameriprise = false> 
76</#if> 
77<#if mappedLC?has_content && !ameriprise> 
78<#assign lc = mappedLC > 
79</#if> 
80 
81<#if lc?has_content> 
82 
83    <#assign firstNameLength = fName?length > 
84    <#assign lastNameLength = lName?length > 
85    <#if firstNameLength + lastNameLength &gt; 19 > 
86        <#if lastNameLength &gt; 18 > 
87            <#assign bLName = lName?substring(0,18)> 
88        <#else> 
89            <#assign bLName = lName> 
90        </#if> 
91        <#assign maxFirstName = 19 - bLName?length > 
92        <#if firstNameLength &gt; maxFirstName > 
93            <#assign bFName = fName?substring(0,maxFirstName)> 
94        <#else> 
95            <#assign bFName = fName> 
96        </#if> 
97    <#else> 
98        <#assign bFName = fName > 
99        <#assign bLName = lName > 
100    </#if> 
101       
102 
103    <#assign prefix = "00000" > 
104    <#assign lcWithPrefix = prefix + lc > 
105    <#assign withPrefixLength = lcWithPrefix?length > 
106    <#assign startHere = withPrefixLength - 5> 
107    <#assign lc = lcWithPrefix?substring(startHere)> 
108 
109    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
110    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)>     
111 
112    <#if clientProfileList?first?has_content> 
113        <#assign clientProfile = clientProfileList?first> 
114        <#assign partnerName = clientProfile.getMarketingNameLong()> 
115        <#assign pbu = clientProfile.getPbu()> 
116        <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
117         
118        <#assign optoutData = utilServ.makeCall('crc_DDCSAAOptOut',pbu+'&'+subbu)> 
119        <#if (optoutData?size == 0)>                 
120            <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
121            <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
122            <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
123            <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*")>             
124                <#assign partnerUrl = 'https://' + partnerUrl> 
125            </#if>            
126            <#assign clientdata = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
127            <#if (clientdata?size > 0)> 
128                <#assign logoFileName = clientProfile.getLogoBFormat1()?replace(".", "-")?replace("-([^-]*)$", ".$1", "r")?lower_case> 
129                <#assign cdnLogoUrl = propsUtil.get('rackspace.cdn.web.url')> 
130                <#list clientdata as data> 
131                    <#assign billingCycle=data.BillingCycles> 
132                </#list> 
133                <#if pbu == "0864054"> 
134                    <#assign override = "berkshire"> 
135                <#else> 
136                    <#assign override = " "> 
137                </#if> 
138              
139                <#--  this one should be delete for prod  --> 
140                     
141                        <#assign cdnLogoUrl = "https://4f61efb10f32ceb57895-3733e103896f37259213d6ad72acbe68.ssl.cf2.rackcdn.com">   
142                        <#assign logoFileName = pbu + "-" + subbu + ".png"> 
143                     
144                <#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
145                <#assign pageClass = secondaryBackgroundImage.cardType.getData()> 
146                 
147                <#if (subbu_special?has_content)> 
148                    <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
149                <#else> 
150                    <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
151                </#if> 
152 
153 
154                <#assign temp = []> 
155                <#assign offerTypeList = []>      
156                <#assign index = 0> 
157                <#list fiCardsData as fib> 
158                    <#if !(offerTypeList?seq_contains(fib.offerType))>  
159                        <#assign offerTypeList = offerTypeList + [fib.offerType]>                   
160                        <#assign temp = temp + fiCardsData[index..index]>  
161                    </#if>  
162                    <#assign index = index + 1>                
163                </#list>  
164                <#assign fiCardsData = temp> 
165                <#if (fiCardsData?size > 0)>   
166                    <#if (subbu_special?has_content)> 
167                        <#assign lc_used = fiCardsData?first.WebLocationCode>   
168                    <#else> 
169                        <#if ameriprise> 
170                            <#assign lc_used = lc_url>  
171                        <#else> 
172                            <#assign lc_used = mappedLC> 
173                        </#if> 
174                    </#if> 
175 
176                    <#list fiCardsData as fib> 
177                        <#if ameriprise> 
178                            <#if (fib.offerType=="101")> 
179                                <#assign productURL="premier-visa-signature"> 
180                                <#assign productName="Premier Visa Signature"> 
181                                <#assign productClass="ameriprise-premier-visa-signature"> 
182                            <#elseif (fib.offerType=="103")>      
183                                <#assign productURL = "visa-signature"> 
184                                <#assign productName = "Visa Signature">   
185                                <#assign productClass="ameriprise-visa-signature">                            
186                            </#if> 
187                        <#else>                     
188                            <#if (fib.offerType=="108") || (fib.offerType=="109")> 
189                                <#assign productURL="consumer-platinum"> 
190                                <#assign productName="Platinum"> 
191                            <#elseif (fib.offerType=="104")>    
192                                <#assign productURL = "max-cash"> 
193                                <#assign productName="Max Cash Preferred">                              
194                            <#elseif (fib.offerType=="101") || (fib.offerType=="103")> 
195                                <#assign productURL = "real-rewards"> 
196                                <#assign productName="Real Rewards"> 
197                            <#elseif fib.offerType == "115"> 
198                                <#assign productURL = "secured"> 
199                                <#assign productName="Secured"> 
200                            <#elseif fib.offerType == "144"> 
201                                <#assign productURL = "smart-business-rewards"> 
202                                <#assign productName="Smart Business Rewards">                                 
203                            <#elseif fib.offerType == "128"> 
204                                <#assign productURL = "business-cashback"> 
205                                <#assign productName="Business Cash"> 
206                            <#elseif fib.offerType == "143"> 
207                                <#assign productURL = "business-real-rewards"> 
208                                <#assign productName="Business Real Rewards"> 
209                            <#elseif fib.offerType == "121"> 
210                                <#assign productURL = "business-platinum2103"> 
211                                <#assign productName="Business"> 
212                            </#if>  
213                        </#if>                    
214                        <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png"> 
215                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+fib.filename+".jpg">   
216                        <#assign newSourceCode = fib.sourceCode>  
217                        <#assign newOfferId = fib.offerId>  
218                        <#if url?matches(".*/${productURL}.*")> 
219                            <#assign sdata = utilServ.makeCall('crcDDCGetSchumerBox', newOfferId + '&' + newSourceCode)> 
220                            <#if (sdata?size > 0)>   
221                                <#if (productURL=="platinum" && !ameriprise)> 
222                                    <#assign apr = "">                         
223                                    <#list sdata as d> 
224                                        <#if (d.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases") && (d.scrapedValue?has_content))> 
225                                            <#assign apr = d.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
226                                            <script> 
227                                                console.log("scraped data exists"); 
228                                                console.log("APR", '${apr}') 
229                                            </script> 
230                                            <#break> 
231                                        </#if> 
232                                    </#list> 
233                                    <script> 
234                                            $(document).ready(function () { 
235                                                var aprText = "${apr}"; 
236                                                if (aprText) { 
237                                                    var matches= aprText.match(/\d+(\.\d+)?%?/g); 
238                                                    var billing_cycle = ""; 
239                                                    var apr_min = ""; 
240                                                    var apr_max = ""; 
241                                                    if (aprText.indexOf("Platinum:") != -1) { 
242                                                        billing_cycle = matches[1]; 
243                                                        apr_min = matches[2]; 
244                                                        apr_max = matches[3]; 
245
246                                                    if (billing_cycle) { 
247                                                        $(".scraped-billing-cycle").html(billing_cycle); 
248
249                                                    if (apr_min) { 
250                                                        $(".scraped-apr-min").html(apr_min); 
251
252                                                    if (apr_max) { 
253                                                        $('.scraped-apr-max').html(apr_max); 
254
255
256                                            }); 
257                                    </script> 
258                                     
259                                </#if>                                 
260                            <#else>     
261                                <script> 
262                                    console.log("scraped data missing"); 
263                                </script> 
264                            </#if>   
265                            <#if ameriprise> 
266                                <#assign card_art_alt =  partnerName + " " + productName + " " + " Card"> 
267                                <#assign rollover_text =  partnerName + " " + productName + " " + "Card"> 
268                            <#else> 
269                                <#assign card_art_alt = partnerName> 
270                                <#assign rollover_text =  partnerName + " " + productName + " " + " Credit Card"> 
271                                <#assign card_text = productName + " Card"> 
272                            </#if> 
273                            <div class="hero-container ${pageClass} ${productClass!''}" title="${rollover_text!''}"> 
274                                <div class="hero-main"> 
275                                    <div class="hero-main-logo" title="${partnerName!''}"> 
276                                        <#if partnerUrl?has_content> 
277                                            <a href="${partnerUrl!''}" title="${partnerName!''}"><img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}"></a> 
278                                        <#else> 
279                                            <a title="${partnerName!''}"><img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}"></a> 
280                                        </#if> 
281                                        <div class="hero-main-logo-homelink">  
282                                            <#if ameriprise> 
283                                                <a href="${environment}/11t1m/index?bankercode=${bCode}&ecdma-lc=${lc_used}${ecidExt}">Back to Overview</a> 
284                                            <#else> 
285                                                <a href="${environment}/11t1/index?bankercode=${bCode}&ecdma-lc=${lc}${ecidExt}">Back to Overview</a> 
286                                            </#if> 
287                                        </div>  
288                                    </div> 
289                                    <div class="hero-main-container"> 
290                                        <div class="hero-main-offer bg-color-white"> 
291                                            <div class="offer-header bg-color-black text-color-white text-bold">${primaryHeadlineText.getData()}</div> 
292                                            <div class="offer-detail"> 
293                                                <div class="offer-detail-head">${primaryHeadlineFeature.getData()}</div> 
294                                                <div class="offer-detail-text text-color-default"> 
295                                                    ${primaryHeadlineFeatureTop.getData()} 
296                                                    ${primaryHeadlineFeatureBottom.getData()} 
297                                                </div> 
298                                                <div class="offer-detail-cardArt"> 
299                                                        <img src="${cardArtImage!''}" alt="${card_art_alt!''}" title="${card_art_alt!''}" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
300                                                        <p>${card_text!''}</p> 
301                                                </div> 
302                                                <#if (fiCardsData?size > 0)>  
303                                                     
304                                                    <form class="form1" action='${oadURL}?locationCode=${lc_used}&amp;offerId=${newOfferId}&amp;preparerType=customer&amp;sourceCode=${newSourceCode}' method="post" id="BAAForm"> 
305                                                        <label for="appDataBAA" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
306                                                        <textarea rows="20" cols="100" name="applicationData" id="appDataBAA" style="display:none;"></textarea> 
307                                                        <input type="submit" data-button-name="cta-button-top" title="Apply Now for ${rollover_text!'Credit Card'}" class="jn-button apply-button text-bold button-bg-color-custom text-color-white" value="${ctaText.getData()}" disabled /> 
308                                                    </form> 
309                                                <#else> 
310                                                    <form class="form2" action='${oadURL}?locationCode=${lc_used}&amp;offerId=${offerId}&amp;preparerType=customer&amp;sourceCode=${sourceCode}' method="post" id="BAAForm"> 
311                                                        <label for="appDataBAA" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
312                                                        <textarea rows="20" cols="100" name="applicationData" id="appDataBAA" style="display:none;"></textarea> 
313                                                        <input type="submit" data-button-name="cta-button-top" title="Apply Now for ${rollover_text!'Credit Card'}" class="jn-button apply-button text-bold button-bg-color-custom text-color-white" value="${ctaText.getData()}" disabled /> 
314                                                    </form> 
315                                                </#if> 
316                                            </div> 
317                                        </div> 
318                                    </div> 
319                                </div> 
320                                <div class="hero-primary-benefits bg-color-black-half-transparent text-color-white"> 
321                                    <#if secondaryFeatureText.getData() != ""> 
322                                        <#foreach item in secondaryFeatureText.getSiblings()> 
323                                            <div class="primary-benefit"> 
324                                                <div class="primary-benefit-wrapper text-color-white"> 
325                                                    ${item.getData()} 
326                                                </div> 
327                                            </div> 
328                                        </#foreach> 
329                                    </#if> 
330                                </div> 
331                            </div> 
332                            <div class="standard-content-container" title="${rollover_text!''}"> 
333                                <h2 class="learnmore text-color-custom text-bold" onclick="learnmore(event)"> 
334                                    LEARN MORE 
335                                    <svg viewBox="0 0 150 100" width="45" height="30"> 
336                                        <polyline points="40 40 80 80 120 38" stroke-width="20" 
337                                            stroke-linecap="butt" fill="none" stroke-linejoin="miter"/> 
338                                    </svg> 
339                                </h2> 
340                                <h2 class="text-bold" id="more">${secondaryHeadlineText.getData()}</h2> 
341                                <div class="secondary-benefits"> 
342                                    <div class="option"> 
343                                        ${additionalInfoGroupA.getData()} 
344                                        <#if pbu != "0892445"> 
345                                            <#if (sdata?size > 0)> 
346                                                <div> 
347 
348                                                    <#if (fib.offerType == "104") > 
349                                                         
350                                                        <#list sdata as d> 
351                                                            <#if (d.scrapedLabel?contains("Annual Percentage Rate") && (d.scrapedValue?has_content))>  
352                                                                             
353                                                                <h3 class="text-color-custom"><strong>APR<sup>*</sup> for Purchases:</strong></h3> 
354                                                                        <p>${d.scrapedValue} <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}"  class="text-color-default" target="_blank">Terms & Conditions</a> 
355                                                                        </p> 
356                                                                    <#break> 
357                                                            </#if> 
358                                                        </#list> 
359                                                        <#list sdata as d> 
360                                                            <#if (d.scrapedLabel?contains("APR for Balance Transfers") && (d.scrapedValue?has_content))>  
361                                                                             
362                                                                <h3 class="text-color-custom"><strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers</strong></h3> 
363                                                                        <p>${d.scrapedValue} <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}"  class="text-color-default" target="_blank">Terms & Conditions</a> 
364                                                                        </p> 
365                                                                     
366                                                                    <#break> 
367                                                            </#if> 
368                                                        </#list> 
369                                                    <#else> 
370 
371                                                        <#if (fib.offerType == "115" || fib.offerType == "123")> 
372                                                            <h3 class="text-color-custom"><strong>APR for Purchases and Balance Transfers</strong></h3> 
373                                                        <#elseif (fib.offerType=="128" || fib.offerType=="143")> 
374                                                            <h3 class="text-color-custom"><strong>Annual Fee</strong></h3> 
375                                                        <#else> 
376                                                            <h3 class="text-color-custom"><strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers</strong></h3> 
377                                                        </#if> 
378                                                        <#list sdata as d> 
379                                                            <#if (fib.offerType=="128" || fib.offerType=="143") > 
380                                                                <#if (d.scrapedLabel?contains("Annual Membership Fee") && (d.scrapedValue?has_content))> 
381                                                                    <#if (fiCardsData?size > 0)>  
382                                                                        <p>${d.scrapedValue} <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}" 
383                                                                                class="text-color-default" target="_blank">Terms & Conditions</a> 
384                                                                        </p> 
385                                                                                 
386                                                                    <#else> 
387                                                                        <p>${d.scrapedValue} <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}" 
388                                                                                    class="text-color-default" target="_blank">Terms & Conditions</a> 
389                                                                        </p> 
390                                                                    </#if> 
391                                                                    <#break> 
392                                                                </#if> 
393 
394                                                            <#else> 
395                                                                <#if (d.scrapedLabel?contains("Annual Percentage Rate") && (d.scrapedValue?has_content))>  
396                                                                             
397                                                                    <#if (fiCardsData?size > 0)>      
398                                                                        <p>${d.scrapedValue} <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}" target="_blank">Terms & Conditions</a> 
399                                                                        </p> 
400                                                                    <#else> 
401                                                                        <p>${d.scrapedValue} <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}"  class="text-color-default" target="_blank">Terms & Conditions</a> 
402                                                                        </p> 
403                                                                    </#if> 
404                                                                    <#break> 
405                                                                </#if> 
406                                                            </#if> 
407                                                        </#list> 
408 
409                                                    </#if> 
410                                                </div> 
411                                            </#if> 
412                                        </#if> 
413                                    </div> 
414                                    <div class="option"> 
415                                        ${additionalInfoGroupB.getData()}  
416                                        <#if pbu != "0892445"> 
417                                            <div> 
418                                                <#if (fiCardsData?size > 0)> 
419                                                    <#if (sdata?size > 0)> 
420                                                        <#if (fib.offerType=="128" || fib.offerType=="143")> 
421                                                            <h3 class="text-color-custom"><strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers</strong></h3> 
422                                                        <#else> 
423                                                            <h3 class="text-color-custom"><strong>Annual Fee</strong></h3> 
424                                                        </#if> 
425                                                        <#list sdata as d> 
426                                                            <#if (fib.offerType=="128" || fib.offerType=="143")> 
427                                                                <#if (d.scrapedLabel?contains("Annual Percentage Rate") && (d.scrapedValue?has_content))>  
428                                                                     
429                                                                    <#if (fiCardsData?size > 0)>   
430                                                                        <p>${d.scrapedValue} <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}" 
431                                                                            class="text-color-default" target="_blank">Terms & Conditions</a> 
432                                                                        </p> 
433                                                                    <#else> 
434                                                                        <p>${d.scrapedValue} <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}" 
435                                                                            class="text-color-default" target="_blank">Terms & Conditions</a> 
436                                                                        </p> 
437                                                                    </#if> 
438                                                                    <#break> 
439                                                                </#if> 
440                                                            <#else> 
441                                                                <#if (d.scrapedLabel?contains("Annual Membership Fee") && (d.scrapedValue?has_content))> 
442                                                                     
443                                                                    <#if (fiCardsData?size > 0)>  
444                                                                    <p> 
445                                                                        <#if (fib.offerType == "123")> 
446                                                                        Annual Fee: ${d.scrapedValue} 
447                                                                        <#else> 
448                                                                        ${d.scrapedValue}  
449                                                                        </#if> 
450                                                                        <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}" target="_blank">Terms & Conditions</a> 
451                                                                    </p> 
452                                                                    <#else> 
453                                                                    <p> 
454                                                                        <#if (fib.offerType == "123")> 
455                                                                        Annual Fee: ${d.scrapedValue} 
456                                                                        <#else> 
457                                                                        ${d.scrapedValue}  
458                                                                        </#if> 
459                                                                        <a href="${oadURL_TC}?step=display&amp;offerId=${newOfferId}&amp;locationCode=${lc_used}" class="text-color-default" target="_blank">Terms & Conditions</a> 
460                                                                    </p> 
461                                                                    </#if> 
462                                                                    <#break> 
463                                                                </#if> 
464                                                            </#if> 
465                                                        </#list> 
466                                                    </#if> 
467                                                </#if> 
468                                            </div> 
469                                        </#if> 
470                                    </div> 
471                                </div> 
472                            </div> 
473                            <div class="banner-wrapper" title="${rollover_text!''}"> 
474                                <div class="banner bg-color-custom ${override}"> 
475                                    <div class="banner-cardArt"> 
476                                            <img src="${cardArtImage!''}" alt="${card_art_alt!''}" title="${card_art_alt!''}" srcset="" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
477                                    </div> 
478                                    <div class="banner-cta"> 
479                                        <div class="banner-cta-text text-color-white text-bold"> 
480                                            ${optionalCtaFeatureText.getData()} 
481                                        </div> 
482                                        <a id="oadSecButton" data-button-name="cta-button-bottom" title="Apply Now for ${rollover_text!'Credit Card'}" class="jn-button banner-cta-apply-button text-bold button-bg-color-white text-color-custom">${optionalCtaText.getData()}</a> 
483                                    </div> 
484                                </div> 
485                            </div>     
486                 
487 
488                        </#if> 
489                    </#list>                         
490 
491                    <script> 
492                            var reportingData = window.reportingData || {}; 
493                        document.addEventListener('DOMContentLoaded', function() { 
494                            console.log('inside ready'); 
495                            var page = location.pathname.split('/')[location.pathname.split('/').length-1]; 
496                            var hostName = location.hostname; 
497                         
498                            function getDomainFromHostname(hostname) { 
499                                var parts = hostname.split('.'); 
500                                return parts.length === 3 ? parts[1] : parts[0]; 
501
502                            var domain = getDomainFromHostname(hostName); 
503                            var partnerName = "${partnerName!''}"; 
504 
505                            var ameriprise = '${ameriprise?string("yes", "no")}'; 
506                            var locationCode = "${rlc!lc}"; 
507                            var eidAmp = ""; 
508                            if (ameriprise == "yes") { 
509                                var bankercode_amp = '${bCode}'; 
510                                eidAmp = bankercode_amp.substring(3); 
511                                locationCode =""; 
512                            }                             
513 
514                            $('.jn-button').removeAttr('disabled'); 
515                            $('.jn-button').removeClass('jn-disabled'); 
516                            jQuery('#oadSecButton').on('click', function(e) { 
517                                jQuery('#BAAForm').submit(); 
518                            }); 
519                             
520                            jQuery('#BAAForm').on('submit', function(e){ 
521                                e.preventDefault(); 
522                                console.log('in custom submit'); 
523                                var xmlData; 
524                                if(ameriprise == "yes") { 
525                                    xmlData = '<?xml version="1.0"?>'+ 
526                                        "<prefillData>"+  
527                                        "<versionNumber>1.0</versionNumber>"+  
528                                        "<applicationData>"+  
529                                        "<referral>" +  
530                                        "<employeeId>" + eidAmp + "</employeeId>" + 
531                                        "<storeNumber>"+"${bName!'0'}"+"</storeNumber>"+ 
532                                        "<divisionNumber></divisionNumber>"+ 
533                                        "</referral>" +  
534                                        "<bankerInformation>"+  
535                                        "<locationCode>" + locationCode + "</locationCode>"+ 
536                                        "<originatingBranchNumber>"+"${bName!'0'}"+"</originatingBranchNumber>"+ 
537                                        "<employeeID>${boeid!0}</employeeID>"+ 
538                                        "<name>" + 
539                                        "<first>${bFName!'0'}</first>" + 
540                                        "<last>${bLName!'0'}</last>" + 
541                                        "</name>"+ 
542                                        "<phone>"+ 
543                                        "<areaCode>"+areaCode+"</areaCode>"+  
544                                        "<exchange>"+exchangeCode+"</exchange>"+ 
545                                        "<number>"+num+"</number>"+  
546                                        "</phone>"+  
547                                        "</bankerInformation>"+  
548                                        "</applicationData>"+  
549                                        "</prefillData>" 
550                                } else { 
551                                    xmlData = '<?xml version="1.0"?>'+ 
552                                        "<prefillData>"+  
553                                        "<versionNumber>1.0</versionNumber>"+  
554                                        "<applicationData>"+  
555                                        "<bankerInformation>"+  
556                                        "<locationCode>" + locationCode + "</locationCode>"+ 
557                                        "<originatingBranchNumber>"+"${bName!'0'}"+"</originatingBranchNumber>"+ 
558                                        "<employeeID>${boeid!0}</employeeID>"+ 
559                                        "<name>" + 
560                                        "<first>${bFName!'0'}</first>" + 
561                                        "<last>${bLName!'0'}</last>" + 
562                                        "</name>"+ 
563                                        "<phone>"+ 
564                                        "<areaCode>"+areaCode+"</areaCode>"+  
565                                        "<exchange>"+exchangeCode+"</exchange>"+ 
566                                        "<number>"+num+"</number>"+  
567                                        "</phone>"+  
568                                        "</bankerInformation>"+  
569                                        "</applicationData>"+  
570                                        "</prefillData>" 
571                                }                                 
572                                jQuery('#appDataBAA').val(xmlData); 
573                                var buttonName = jQuery('.jn-button').data('button-name'); 
574                                /* SiteCatalyst  onClick tracking */ 
575                                reportingData.apply_button = buttonName; 
576                                AUI().ready(function() { 
577                                    if (window.publisherFW) { 
578                                        window.publisherFW.publishEvent("onClick", reportingData); 
579
580                                }); 
581 
582                                this.submit(); 
583                            }); 
584                            var regex = /\d+/g; 
585                            var bdNumber = "${bPhone!''}"; 
586                            var phoneNum = bdNumber.match(regex); 
587                            var areaCode = ""; 
588                            var exchangeCode = ""; 
589                            var num = ""; 
590                            if(phoneNum != null) { 
591                                phoneNum = phoneNum.join(""); 
592                                areaCode = phoneNum.substring(0,3); 
593                                exchangeCode = phoneNum.substring(3,6); 
594                                num = phoneNum.substring(6,10); 
595
596                            var product = ""; 
597                            switch(page) { 
598                                case "consumer-platinum2103": 
599                                    product="Platinum Card" 
600                                    break; 
601                                case "real-rewards": 
602                                    product="Real Rewards Card" 
603                                    break; 
604                                case "secured": 
605                                    product="Secured Card" 
606                                    break; 
607                                case "business-cashback": 
608                                    product="Business Cash Card" 
609                                    break; 
610                                case "business-real-rewards": 
611                                    product="Business Real Rewards Card" 
612                                    break; 
613                                case "business-rewards-plus": 
614                                    product="Business Rewards PLUS Card" 
615                                    break; 
616                                case "premier-visa-signature": 
617                                    product="Premier Visa Signature Card" 
618                                    break; 
619                                case "business-platinum2103": 
620                                    product="Business" 
621                                    break; 
622                                case "visa-signature": 
623                                    product="Visa Signature Card" 
624                                    break;                                     
625                                default:   
626                                    product = "All Cards";                           
627                            }                                  
628                                 
629                            /* update SiteCatalyst data object */ 
630                            reportingData.current_page = "microsite:${partnerName}:" + domain + ':' + page.replace('-',' '); 
631                            reportingData.location_code = '${rlc!0}'; 
632                            reportingData.product = product; 
633                            reportingData.site_section = 'credit cards'; 
634                            reportingData.platform = 'microsite'; 
635                            reportingData.partner_name = "${partnerName}"; 
636                            reportingData.Banker_id = '${boeid}'; 
637                            reportingData.Banker_code = '${bCode}'; 
638                            reportingData.visitor_type = 'prospect'; 
639                            reportingData.text_to_apply_source = '${text_to_apply_source}'; 
640                            reportingData.page_type = 'product';  
641                            reportingData.campaign_id = '${campaignId}';  
642 
643                                 
644                            }); 
645                    </script> 
646                    <script async> 
647                        function learnmore(e) { 
648                            e.preventDefault(); 
649                            var element = document.getElementById("more"); 
650                            element.scrollIntoView({behavior: 'smooth'}); 
651
652                    </script>                     
653                <#else> 
654                    <script> 
655                        console.log("FI Cards Data empty"); 
656                        //location.href = '${url404}'; 
657                    </script> 
658                </#if>   
659            <#else> 
660                <script> 
661                    console.log("not Tier1 Fi"); 
662                    //location.href = '${url404}'; 
663                </script> 
664            </#if>                   
665        <#else> 
666            <script> 
667                console.log("Fi opt-out"); 
668                //location.href = '${url404}'; 
669            </script> 
670        </#if>        
671    <#else> 
672        <script> 
673            console.log("client profile empty"); 
674            //location.href = '${url404}'; 
675        </script> 
676    </#if>   
677</#if> 

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression qstringmap["bankercode"] is undefined on line 5, column 17 in 10153#10191#6590077.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
3<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
4 
5<#assign bCode= qstringmap["bankercode"]?first> 
6<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bCode)> 
7<#list bData as b>      
8    <#assign lc = b.locationcode > 
9    <#assign rLC = b.reallocationcode > 
10    <#assign mappedLC = b.mappedLocationCode > 
11</#list>  
12<#if mappedLC?has_content && !(url?contains("11t1m"))> 
13    <#assign lc = mappedLC > 
14</#if> 
15<#if lc?has_content> 
16    <#assign prefix = "00000" > 
17    <#assign lcWithPrefix = prefix + lc > 
18    <#assign withPrefixLength = lcWithPrefix?length > 
19    <#assign startHere = withPrefixLength - 5> 
20    <#assign lc = lcWithPrefix?substring(startHere)> 
21    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
22    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
23 
24    <#assign clientProfile = clientProfileList?first>  
25    <#assign partnerName=clientProfile.getMarketingNameLong()> 
26</#if> 
27 
28<div class="content-container" title="${partnerName!''} - Disclaimer"> 
29    <div class="jn-disclaimer tier3-disclaimer-${class.getData()}"> 
30        ${content.getData()} 
31    </div> 
32</div> 

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression qstringmap["bankercode"] is undefined on line 6, column 17 in 10153#10191#6590291.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
3<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
4<#assign url404 = '/error/404.html'> 
5 
6<#assign bCode= qstringmap["bankercode"]?first> 
7<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
8<#list bData as b>      
9    <#assign lc = b.locationcode > 
10    <#assign rLC = b.reallocationcode > 
11    <#assign mappedLC = b.mappedLocationCode > 
12</#list>  
13 
14<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
15    <#assign ameriprise = true> 
16<#else> 
17    <#assign ameriprise = false> 
18</#if> 
19<#if mappedLC?has_content && !ameriprise> 
20    <#assign lc = mappedLC > 
21</#if> 
22 
23<#if lc?has_content> 
24 
25    <#assign prefix = "00000" > 
26    <#assign lcWithPrefix = prefix + lc > 
27    <#assign withPrefixLength = lcWithPrefix?length > 
28    <#assign startHere = withPrefixLength - 5> 
29    <#assign lc = lcWithPrefix?substring(startHere)> 
30    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
31    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
32 
33    <#assign clientProfile = clientProfileList?first> 
34    <#assign pbu = clientProfile.getPbu()> 
35    <#assign subbu = clientProfile.getSUBBRANDBUNBR()>   
36    <#assign partnerName=clientProfile.getMarketingNameLong()> 
37    <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
38    <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
39    <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
40    <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*") && !partnerUrl?matches(r"(?i)^https?\:&#x2F;&#x2F;.*")> 
41        <#-- add protocal if missing  --> 
42        <#assign partnerUrl = 'https://' + partnerUrl> 
43    </#if> 
44    <footer class="footer bg-color-black text-color-white"> 
45        ${footerContent.getData()} 
46    </footer> 
47    <#if url?contains("11t1m")> 
48        <script>                 
49            document.querySelector('.footer .copyright').classList.add("ecdma-footer-client-name-copyright"); 
50            document.querySelector('.footer .fdic').innerHTML='<a class="text-color-white" href="https://login.elancreditcard.com/onlineCard/publicPrivacyPolicy.do?loc=18598" target="_blank">Privacy and Security</a>'; 
51        </script> 
52    <#else> 
53        <script>                 
54            document.querySelector('.footer .copyright').classList.add("ecdma-footer-client-name-copyright"); 
55            document.querySelector('.footer .fdic').innerHTML='<a class="text-color-white" href="https://www.myaccountaccess.com/onlineCard/publicPrivacyPolicy.do?loc=${lc!0}" target="_blank">Privacy and Security</a>'; 
56            var newNode = document.createElement("div");  
57             newNode.classList.add("member-agreement"); 
58            newNode.innerHTML='<a class="text-color-white" href="https://online1.elancard.com/oad/cmas.controller?locationCode=${lc!0}&preparerType=customer&isNewRequest=false" target="_blank">Cardmember Agreements</a>'; 
59            var fdicNode = document.querySelector('.footer .fdic'); 
60            var parent = fdicNode.parentNode; 
61            parent.insertBefore(newNode, fdicNode); 
62        </script> 
63    </#if> 
64 
65    <#if partnerUrl?has_content> 
66        <script> 
67            document.querySelector('.copyright .homelink').innerHTML="<a class='text-color-white' href='${partnerUrl!''}' title='${partnerName!''}' target='_blank'>Home</a>"; 
68        </script> 
69    </#if> 
70</#if>