मुख्य सामग्री पर जाएं
Notifications
Coming Soon
CRA’s new functionalities available to an APY subscriber
टेम्पलेट के प्रोसेसिंग के समय त्रुटि हुई है.
Failed to "?eval" string with this error: ---begin-message--- Syntax error in ?eval-ed string in line 1, column 88: Lexical error: encountered "u" (117), after "\"CRA\\". ---end-message--- The failing expression: ==> fileSizeData?eval [in template "57581103840604#20120#145024" at line 25, column 25] ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign rawSize = (fileSizeData?eval[... [in template "57581103840604#20120#145024" at line 25, column 5] ----
1<#-- Set encoding -->
2<#setting url_escaping_charset='UTF-8'>
3
4<#-- Format published date -->
5<#if (displayDate.getData())??>
6 <#assign meetingDate = getterUtil.getString(displayDate.getData()) />
7 <#assign formattedDate = "" />
8 <#if validator.isNotNull(meetingDate)>
9 <#assign dateObject = dateUtil.parseDate("yyyy-MM-dd", meetingDate, locale)>
10 <#assign formattedDate = dateUtil.getDate(dateObject, "dd-MM-yyyy", locale)>
11 </#if>
12</#if>
13
14<#-- Get PDF URL and check if it exists -->
15<#assign pdfUrl = AccordianItemDocument.getData() />
16<#assign hasPdf = pdfUrl?has_content />
17<#assign cleanedURL = pdfUrl?replace("/[a-f0-9\\-]+\\?t=\\d+","","r") />
18
19<#assign fullPdfUrl = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + cleanedURL />
20
21<#-- Calculate file size -->
22<#assign displaySize = " " />
23<#if AccordianItemDocument.getData()?has_content>
24 <#assign fileSizeData = AccordianItemDocument.data />
25 <#assign rawSize = (fileSizeData?eval["size"])?number?default(0) />
26 <#assign sizeKB = (rawSize / 1024)?ceiling />
27 <#assign sizeMB = (sizeKB / 1024)?string("0.0") />
28 <#assign displaySize = (sizeKB >= 1024)?then(sizeMB + " MB", sizeKB + " KB") />
29</#if>
30
31<div class="meta-row">
32 <div class="article-tts-view-pdf-wrapper">
33 <div class="download-pdf-wrapper">
34 <div class="btn-wrap">
35 <a href="javascript:void(0);" onclick="goBack()" class="matomo_download download_link" style="text-decoration: none;">
36 <span class="fileName" style="color: #3E3E94; font-weight: 600; font-size: 16px;">
37 <i class="fa-solid fa-arrow-left pdfDownload"></i> Go Back
38 </span>
39 </a>
40 </div>
41 </div>
42 </div>
43
44 <#-- Display publication date -->
45 <#if validator.isNotNull(formattedDate)>
46 <div class="font-resized">
47 <p>Issue Date: ${formattedDate}</p>
48 </div>
49 </#if>
50
51 <#-- Display PDF download if available -->
52 <#if hasPdf>
53 <div class="article-tts-view-pdf-wrapper">
54 <div class="download-pdf-wrapper">
55 <div class="btn-wrap">
56 <a id="dynamicFileURL" href="${fullPdfUrl}" target="_blank" class="matomo_download download_link" style="text-decoration: none;">
57 <span class="fileName" style="color: #3E3E94; font-weight: 600; font-size: 16px;">
58 <i class="fa-solid fa-download pdfDownload"></i> PDF (<span class="fileSize">${displaySize}</span>)
59 </span>
60 </a>
61 </div>
62 </div>
63 </div>
64 </#if>
65</div>
66
67<#-- Optional description -->
68<#if AccordianItemDescription.getData()?has_content>
69 <div style="font-size: 16px;">${AccordianItemDescription.getData()}</div>
70</#if>
71
72<#-- Embedded PDF Viewer -->
73<#if hasPdf>
74 <div>
75 <iframe src="https://mozilla.github.io/pdf.js/web/viewer.html?file=${fullPdfUrl?url}" width="100%" height="600px" style="border: none;"></iframe>
76 </div>
77</#if>
78
79<#-- Related content -->
80<#if RelatedItems.getSiblings()?has_content>
81 <#assign hasRelatedItems = false>
82 <#list RelatedItems.getSiblings() as cur_RelatedItems>
83 <#assign webContentData = jsonFactoryUtil.createJSONObject(cur_RelatedItems.getData()) />
84 <#if webContentData?? && webContentData.title??>
85 <#assign hasRelatedItems = true>
86 </#if>
87 </#list>
88
89 <#if hasRelatedItems>
90 <h5>Related ${.vars["reserved-article-asset-tag-names"].data}:</h5>
91 <#list RelatedItems.getSiblings() as cur_RelatedItems>
92 <#assign webContentData = jsonFactoryUtil.createJSONObject(cur_RelatedItems.getData()) />
93 <#assign itemId = "item_" + .vars["reserved-article-id"].data>
94 <#if webContentData?? && webContentData.title??>
95 <div id="accordion_${itemId}" class="accordianCard">
96 <a class="text-decoration-none" href="${cur_RelatedItems.getFriendlyUrl()}">
97 <div class="card-header accordian-header d-flex justify-content-between align-items-center row">
98 <div class="col-11">
99 <h2 class="accordian-title">${webContentData.title}</h2>
100 </div>
101 <div class="arrow-icon col-1 d-flex justify-content-end">
102 <i class="fa-solid fa-circle-chevron-right"></i>
103 </div>
104 </div>
105 </a>
106 </div>
107 </#if>
108 </#list>
109 </#if>
110</#if>
111
112<style>
113 .meta-row {
114 display: flex;
115 flex-wrap: wrap;
116 justify-content: space-between;
117 align-items: center;
118 margin-bottom: 1rem;
119 }
120 .font-resized {
121 color: #666666;
122 font-size: 16px;
123 }
124 @media (max-width: 768px) {
125 .meta-row {
126 flex-direction: column;
127 align-items: flex-start;
128 }
129 }
130</style>
131
132<script>
133 // Store previous page for goBack
134 if (document.referrer && document.referrer !== window.location.href) {
135 sessionStorage.setItem("previousPage", document.referrer);
136 }
137
138 function goBack() {
139 let previousPage = sessionStorage.getItem("previousPage");
140 if (previousPage && previousPage !== window.location.href) {
141 window.location.href = previousPage;
142 } else {
143 window.location.href = '/'; // fallback
144 }
145 }
146</script>
अंतिम बार अद्यतन किया गया 04-09-2025
जानिए
अनुपालन
सहायता और समर्थन
संबंधित लिंक