An error occurred while processing the template.
Error while invoking the "runtime" JSP custom tag; see cause exception
----
FTL stack trace ("~" means nesting-related):
- Failed at: @liferay_portlet["runtime"] defaultPr... [in template "com.liferay.portal.template.freemarker_7.0.24_CLASS_LOADER_CONTEXT_FTL_liferay.ftl" in macro "breadcrumbs" at line 52, column 9]
- Reached through: @liferay.breadcrumbs [in template "20097#20123#580341" at line 122, column 5]
----
1<#assign language = locale.getLanguage() />
2
3
4<style>
5ol.breadcrumb {
6 background: transparent;
7 margin: 0;
8 padding: 0;
9 font-size:0.9em;
10}
11.breadcrumb-item+.breadcrumb-item::before {
12 content: "\002F";
13 top: 6px;
14 margin-left: 2px;
15 background: none;
16}
17.breadcrumb-text-truncate:hover{
18 color: #fdcc08;
19 font-weight: 700;
20 font-family: "Gilroy-Bold";
21}
22
23.breadcrumb-item {
24 margin-right: 0em;
25}
26.breadcrumb-item+.breadcrumb-item {
27 padding-left: 0.7rem;
28}
29.footer-top {
30 margin-top: 0;
31}
32.body-color{
33 background:white;
34}
35.breadcrumb-item.active, .breadcrumb-item .active {
36 color: #fdcc08;
37 font-weight: 700;
38 font-family: "Gilroy-Bold";
39}
40.pageTitle {
41 height: 110px;
42}
43.h1, h1 {
44 font-size: 2rem;
45}
46.titleWrap {
47 margin-bottom: 16px;
48}
49
50.Internal a {
51 color: black;
52}
53.popup-overlay {
54 display: none;
55 position: fixed;
56 top: 0;
57 left: 0;
58 width: 100%;
59 height: 100%;
60 background-color: rgba(0, 0, 0, 0.5);
61}
62
63.popup-container {
64 display: none;
65 position: fixed;
66 top: 50%;
67 left: 50%;
68 transform: translate(-50%, -50%);
69 background-color: #fff;
70 padding: 20px;
71}
72
73.popup-content {
74 margin-bottom: 10px;
75}
76
77.popup-close {
78 background-color: #f44336;
79 color: #fff;
80 border: none;
81 padding: 10px 20px;
82 cursor: pointer;
83}
84@media (max-width: 768px) {
85 .popup-container {
86 top: 40%;
87 padding: 10px;
88 }
89
90 .popup-close {
91 padding: 5px 10px;
92 }
93}
94
95
96@media (max-width: 480px) {
97 .popup-container {
98 top: 30%;
99 padding: 5px;
100 }
101
102 .popup-close {
103 padding: 2px 5px;
104 }
105}
106
107
108</style>
109<script type="text/javascript">
110const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
111function FormatSize(x){
112 let l = 0, n = parseInt(x, 10) || 0;
113 while(n >= 1024 && ++l){
114 n = n/1024;
115 }
116 return(n.toFixed(n < 10 && l > 0 ? 1 : 0) + ' ' + units[l]);
117}
118</script>
119<main>
120<section class="breadcurmb-container">
121<div aria-label="breadcrumb" class="contentwidth" aria-current= "page">
122 <@liferay.breadcrumbs />
123</div>
124</section>
125<section class="Internal contentwidth" id="maincontent">
126<h1 class="internal-header">
127 <#if (Text23172828.getData())??>
128 ${Text23172828.getData()}
129 </#if>
130 </h1>
131 <div >
132 <div class="title-main-conte">
133 <div >
134 <#if (Text28527149.getData())??>
135 <h5>${Text28527149.getData()}</h5>
136 </#if>
137
138
139<ul style="list-style:disc; padding-left:30px;">
140<#assign count = 0>
141<#if FieldsGroup85444007.getSiblings()?has_content>
142 <#list FieldsGroup85444007.getSiblings() as current_parentInputValue>
143
144
145
146<#if (current_parentInputValue.LinkToPage24222143.getFriendlyUrl())?has_content>
147<#if (current_parentInputValue.Text70457464.getData())?has_content>
148<li>
149<a data-senna-off="true" href="${current_parentInputValue.LinkToPage24222143.getFriendlyUrl()}" style="text-decoration: none;" aria-current= "page">
150 ${current_parentInputValue.Text70457464.getData()}
151</a>
152</li>
153</#if>
154<#elseif (current_parentInputValue.Upload57273487.getData())?has_content>
155<#if (current_parentInputValue.Text70457464.getData())?has_content>
156<li>
157<#assign mediaUrl = current_parentInputValue.Upload57273487.getData()>
158<#if mediaUrl?contains(".mp4") || mediaUrl?contains(".mov")>
159<a class="popup-link" data-type="video" href="${themeDisplay.getPortalURL()}${mediaUrl}&videoPreview=1&type=mp4" >
160 <#elseif mediaUrl?contains(".mp3") || mediaUrl?contains(".ogg")|| mediaUrl?contains(".mpeg") >
161 <a class="popup-link" data-type="audio" href="${themeDisplay.getPortalURL()}${mediaUrl}" >
162 <#elseif mediaUrl?contains(".pdf") || mediaUrl?contains(".doc") || mediaUrl?contains (".excel")>
163 <a href="${mediaUrl}" target="_blank" style="text-decoration: none;">
164 <#else>
165 this media not support
166 </#if>
167
168 ${current_parentInputValue.Text70457464.getData()}
169 <#if (current_parentInputValue.SingleSelection72830639.getData())??>
170 <#if current_parentInputValue.SingleSelection72830639.getData() == "Option01816788">
171 <img style="width:16px; height:16px" alt="" src="/documents/d/guest/pdf" />
172 <#elseif current_parentInputValue.SingleSelection72830639.getData() == "Option22216387">
173 <img style="width:16px; height:16px" alt="" src="/documents/d/guest/excel" />
174 <#elseif current_parentInputValue.SingleSelection72830639.getData() == "Option95214686">
175 <img style="width:16px; height:16px" alt="" src="/documents/d/guest/doc" />
176 </#if>
177 </#if>
178 <#if (current_parentInputValue.SelectFromList65216931.getData())??>
179 <#if current_parentInputValue.SelectFromList65216931.getData() == "Option43540625">
180 <#if language == 'hi'>
181 (सामग्री अंग्रेजी में है)
182 <#elseif language == 'mr'>
183 (सामग्री इंग्रजीत आहे)
184 <#else>
185
186 </#if>
187 <#elseif current_parentInputValue.SelectFromList65216931.getData() == "Option26121577">
188 <#if language == 'hi'>
189 (सामग्री हिंदी में है)
190 <#elseif language == 'mr'>
191 (आशय हिंदीत आहे)
192 <#else>
193 (Content is in Hindi)
194 </#if>
195 <#elseif current_parentInputValue.SelectFromList65216931.getData() == "Option45972473">
196 <#if language == 'hi'>
197 (सामग्री मराठी में है)
198 <#elseif language == 'mr'>
199 (मजकूर मराठीत आहे)
200 <#else>
201 (Content is in Marathi)
202 </#if>
203 </#if>
204 </#if>
205 <span id="docsize${count}"></span>
206</a>
207<div class="popup-overlay"></div>
208<div class="popup-container">
209 <div class="popup-content"></div>
210 <button class="popup-close">Close</button>
211</div>
212</li>
213</#if>
214<#else>
215<li>
216<#if (current_parentInputValue.Text70457464.getData())??>
217 ${current_parentInputValue.Text70457464.getData()}
218</#if>
219</li>
220</#if>
221<#if (current_parentInputValue.RichText29162360.getData())??>
222 ${current_parentInputValue.RichText29162360.getData()}
223</#if>
224
225
226
227
228
229<#list current_parentInputValue.Upload57273487.getData()?split("/") as x>
230 <#if x?counter ==3>
231 <#assign groupId = x?number>
232 </#if>
233 <#if x?counter ==6>
234 <#assign uuId = x?keep_before("?")>
235 </#if>
236</#list>
237
238<script type="text/javascript">
239<#if (fileSize.getSize())??>
240size${count}=FormatSize("${fileSize.getSize()}");
241document.getElementById("docsize${count}").innerHTML ="("+ size${count}+")";
242delete size${count};
243</#if>
244$(document).ready(function() {
245 $('.popup-link').click(function(e) {
246 e.preventDefault();
247
248 var mediaUrl = $(this).attr('href');
249 var mediaType = $(this).data('type');
250
251 if (mediaType === 'audio') {
252 $('.popup-content').html('<audio id="popup-media" controls><source src="' + mediaUrl + '" type="audio/mpeg"></audio>');
253 } else if (mediaType === 'video') {
254 $('.popup-content').html('<video id="popup-media" controls><source src="' + mediaUrl + '" type="video/mp4"></video>');
255 }
256
257 $('.popup-overlay, .popup-container').fadeIn();
258
259 var popupMedia = document.getElementById('popup-media');
260
261 $(popupMedia).on('loadedmetadata', function() {
262 popupMedia.play();
263
264 setTimeout(function() {
265 popupMedia.pause();
266 }, 10000);
267 });
268 });
269
270 $('.popup-close, .popup-overlay').click(function() {
271 var popupMedia = document.getElementById('popup-media');
272 if (popupMedia) {
273 popupMedia.pause();
274 }
275
276 $('.popup-overlay, .popup-container').fadeOut();
277 $('.popup-content').empty();
278 });
279});
280
281
282</script>
283
284
285
286
287
288 <#assign count = count + 1>
289 </#list>
290</#if>
291</ul>
292 <#if language == 'hi'>
293 <div style="text-align: right; font-size:20px;" class="updatedate"><br />
294 <strong><span id="date-output">${.vars['reserved-article-modified-date'].getData()}</span></strong><strong> : पृष्ठ अंतिम अद्यतन तिथि </strong>
295
296 <input type="hidden" id="date-input" value="${.vars['reserved-article-modified-date'].getData()}" />
297 </div>
298 <#elseif language == 'mr'>
299 <div style="text-align: right; font-size:20px;" class="updatedate"><br />
300 <strong><span id="date-output">${.vars['reserved-article-modified-date'].getData()}</span></strong><strong> : पृष्ठ अंतिम अद्यतन तारीख </strong>
301
302 <input type="hidden" id="date-input" value="${.vars['reserved-article-modified-date'].getData()}" />
303 </div>
304 <#else>
305 <div style="text-align: right; font-size:20px;" class="updatedate"> <br />
306 <strong>Page Last Update Date: </strong><strong><span id="date-output">${.vars['reserved-article-modified-date'].getData()}</span></strong>
307
308 <input type="hidden" id="date-input" value="${.vars['reserved-article-modified-date'].getData()}" />
309 </div>
310
311 </#if>
312
313
314
315 </div>
316 </div>
317 </div>
318
319
320 <script>
321const dateString = $("#date-input").val();
322//const date = new Date(dateString);
323
324const englishDateString = convertHindiDateToEnglish(dateString);
325const date = new Date(englishDateString);
326
327const day = date.getDate();
328const month = date.getMonth() + 1;
329const year = date.getFullYear();
330const formattedDate =day+"/"+month+"/"+year;
331console.log(formattedDate);
332$("#date-output").html(formattedDate);
333
334
335// Function to convert Hindi date string to English
336function convertHindiDateToEnglish(hindiDate) {
337
338 // Hindi to English mappings for days and months
339const hindiToEnglishDays = {
340 "रवि": "Sun",
341 "सोम": "Mon",
342 "मंगल": "Tue",
343 "बुध": "Wed",
344 "गुरु": "Thu",
345 "शुक्र": "Fri",
346 "शनि": "Sat"
347};
348
349const hindiToEnglishMonths = {
350 "जनवरी": "January",
351 "फ़रवरी": "February",
352 "मार्च": "March",
353 "अप्रैल": "April",
354 "मई": "May",
355 "जून": "June",
356 "जुलाई": "July",
357 "अगस्त": "August",
358 "सितंबर": "September",
359 "अक्तूबर": "October",
360 "नवंबर": "November",
361 "दिसंबर": "December"
362};
363
364 // Replace Hindi day names with English
365 Object.keys(hindiToEnglishDays).forEach(hindiDay => {
366 hindiDate = hindiDate.replace(hindiDay, hindiToEnglishDays[hindiDay]);
367 });
368
369 // Replace Hindi month names with English
370 Object.keys(hindiToEnglishMonths).forEach(hindiMonth => {
371 hindiDate = hindiDate.replace(hindiMonth, hindiToEnglishMonths[hindiMonth]);
372 });
373
374 // Return the modified English date string
375 return hindiDate;
376}
377</script>