academycollection.org

Welcome - Arena - academycollection.org

An error occurred while processing the template.

1<#assign cookieListJS = []> 
2 
3<#list [ 
4    {"field": mainConsentTitle.getData()?trim, "key": "cookieconsent.title"}, 
5    {"field": mainConsentDescription.getData()?trim, "key": "cookieconsent.description"}, 
6		{"field": usageDescription.getData()?trim, "key": "cookieconsent.usageDescription"}, 
7    {"field": necessaryCookiesDescription.getData()?trim, "key": "cookieconsent.necessaryCookiesDescription"}, 
8    {"field": analyticsCookiesDescription.getData()?trim, "key": "cookieconsent.analyticsCookiesDescription"}, 
9    {"field": thirdPartyCookiesDescription.getData()?trim, "key": "cookieconsent.3rdPartyCookiesDescription"}, 
10    {"field": moreInfoDescription.getData()?trim, "key": "cookieconsent.contactUsDescription"} 
11] as entry> 
12    <#if entry.field?has_content> 
13        <#assign textCookie = { 
14            "type": "text", 
15            "key": entry.key, 
16            "content": entry.field 
17        } /> 
18        <#assign cookieListJS = cookieListJS + [textCookie]> 
19    </#if> 
20</#list> 
21 
22<#assign necessaryCookieList = [] /> 
23<#assign analyticsCookieList = [] /> 
24<#assign thirdPartyCookieList = [] /> 
25 
26<#-- Necessary Cookies fields inputs --> 
27<#if (necessaryCookiesListMenu.getData())??> 
28    <#list necessaryCookiesListMenu.getData()?split(",") as cur_newNecessaryCookieName> 
29        <#assign trimmedName = cur_newNecessaryCookieName?trim> 
30        <#assign cookie = { 
31        "name": trimmedName, 
32        "domain": 'cookieconsent.samedomain', 
33        "description": "cookieconsent."+ trimmedName?lower_case?replace('-', '')?replace('_', ''), 
34        "type": "necessary" 
35        } /> 
36        <#assign necessaryCookieList = necessaryCookieList + [cookie] /> 
37    </#list> 
38</#if> 
39<#if necessaryCookieName.getSiblings()?has_content> 
40    <#list necessaryCookieName.getSiblings() as cur_newNecessaryCookieName> 
41        <#assign cookie = { 
42        "name": cur_newNecessaryCookieName.getData(), 
43        "domain": cur_newNecessaryCookieName.necessaryCookieDomain.getData(), 
44        "description": cur_newNecessaryCookieName.necessaryCookieDescription.getData(), 
45        "type": "necessary" 
46        } /> 
47        <#assign necessaryCookieList = necessaryCookieList + [cookie] /> 
48    </#list> 
49</#if> 
50 
51<#-- Analytics Cookies fields inputs --> 
52<#if (analyticsCookiesListMenu.getData())??> 
53    <#list analyticsCookiesListMenu.getData()?split(",") as cur_newAnalyticCookieName> 
54        <#assign trimmedName = cur_newAnalyticCookieName?trim> 
55        <#assign cookie = { 
56        "name": trimmedName, 
57        "domain": "cookieconsent."+ trimmedName?lower_case?replace('-', '')?replace('_', '') + "domain", 
58        "description": "cookieconsent."+ trimmedName?lower_case?replace('-', '')?replace('_', ''), 
59        "type": "analytics" 
60        } /> 
61        <#assign analyticsCookieList = analyticsCookieList + [cookie] /> 
62    </#list> 
63</#if> 
64<#if analyticCookieName.getSiblings()?has_content> 
65    <#list analyticCookieName.getSiblings() as cur_newAnalyticCookieName> 
66        <#assign cookie = { 
67        "name": cur_newAnalyticCookieName.getData(), 
68        "domain": cur_newAnalyticCookieName.analyticCookieDomain.getData(), 
69        "description": cur_newAnalyticCookieName.analyticCookieDescription.getData(), 
70        "type": "analytics" 
71        } /> 
72        <#assign analyticsCookieList = analyticsCookieList + [cookie] /> 
73    </#list> 
74</#if> 
75 
76<#-- 3rd Party Cookies fields inputs --> 
77<#if (thirdPartyCookiesListMenu.getData())??> 
78    <#list thirdPartyCookiesListMenu.getData()?split(",") as cur_newThirdPartyCookieName> 
79        <#assign trimmedName = cur_newThirdPartyCookieName?trim> 
80        <#assign cookie = { 
81        "name": trimmedName, 
82        "domain": "cookieconsent."+ trimmedName?lower_case?replace('-', '')?replace('_', '') + "domain", 
83        "description": "cookieconsent."+ trimmedName?lower_case?replace('-', '')?replace('_', ''), 
84        "type": "3rd-party" 
85        } /> 
86        <#assign thirdPartyCookieList = thirdPartyCookieList + [cookie] /> 
87    </#list> 
88</#if> 
89<#if thirdPartyCookieName.getSiblings()?has_content> 
90    <#list thirdPartyCookieName.getSiblings() as cur_newThirdPartyCookieName> 
91        <#assign cookie = { 
92        "name": cur_newThirdPartyCookieName.getData(), 
93        "domain": cur_newThirdPartyCookieName.thirdPartyCookieDomain.getData(), 
94        "description": cur_newThirdPartyCookieName.thirdPartyCookieDescription.getData(), 
95        "type": "3rd-party" 
96        } /> 
97        <#assign thirdPartyCookieList = thirdPartyCookieList + [cookie] /> 
98    </#list> 
99</#if> 
100 
101<#-- Sort cookie list by type --> 
102<#function sortCookieListByType type> 
103    <#assign sortedList = []> 
104    <#list cookieList as cookie> 
105        <#if cookie.type == type> 
106            <#assign sortedList = sortedList + [cookie]> 
107        </#if> 
108    </#list> 
109    <#return sortedList> 
110</#function> 
111 
112<#assign cookieList = necessaryCookieList + analyticsCookieList + thirdPartyCookieList /> 
113 
114<#-- Sort and add cookie entries to the cookieListJS array --> 
115<#list ["necessary", "analytics", "3rd-party"] as type> 
116    <#assign cookiesByType = sortCookieListByType(type)> 
117    <#assign typeCookies = []> 
118    <#list cookiesByType as cookie> 
119        <#assign typeCookie = { 
120            "name": cookie.name, 
121            "domain": cookie.domain, 
122            "description": cookie.description 
123        } /> 
124        <#assign typeCookies = typeCookies + [typeCookie] > 
125    </#list> 
126    <#assign cookieEntry = { 
127        "type": type, 
128        "cookies": typeCookies 
129    } /> 
130    <#assign cookieListJS = cookieListJS + [cookieEntry] > 
131</#list> 
132 
133<script> 
134    var cookieListJS = [ 
135        <#list cookieListJS as entry> 
136            <#if entry.type == "text"> 
137
138                    "type": "${entry.type}", 
139                    "key": "${entry.key}", 
140                    "content": "${entry.content?js_string}" 
141
142            <#else> 
143
144                    "type": "${entry.type}", 
145                    "cookies": [ 
146                        <#list entry.cookies as cookie> 
147
148                                "name": "${cookie.name?replace('\\"\\[', '', 'r')?replace('\\]', '', 'r')?js_string}", 
149                                "domain": "${cookie.domain?replace('\\"\\[', '', 'r')?replace('\\]', '', 'r')?js_string}", 
150                                "description": "${cookie.description?replace('\\"\\[', '', 'r')?replace('\\]', '', 'r')?js_string}" 
151
152                            <#if !cookie?is_last>,</#if> 
153                        </#list> 
154
155
156            </#if> 
157            <#if !entry?is_last>,</#if> 
158        </#list> 
159    ]; 
160</script> 
161 
162<script> 
163    // Function to clean up the name, domain, and description fields 
164    function cleanField(input) { 
165        return input.replace(/["[\]]/g, ""); // Remove unwanted characters 
166
167 
168    // Function to convert the input JSON format to the desired format 
169    function convertData(cookieListJS) { 
170        const outputData = []; 
171 
172        cookieListJS.forEach(entry => { 
173            if (entry.type === "text") { 
174                outputData.push({ 
175                    type: entry.type, 
176                    key: entry.key, 
177                    content: entry.content 
178                }); 
179            } else { 
180                const cleanedCookies = entry.cookies.map(cookie => ({ 
181                    name: cleanField(cookie.name), 
182                    domain: cleanField(cookie.domain), 
183                    description: cleanField(cookie.description) 
184                })); 
185 
186                outputData.push({ 
187                    type: entry.type, 
188                    cookies: cleanedCookies 
189                }); 
190
191        }); 
192 
193        return outputData; 
194
195 
196	// Call the function and get the desired output format 
197	cookiesList = convertData(cookieListJS); 
198</script>