واجهة الفئة

تصنيف

واجهة الفئة

تصنيف

واجهة الفئة

تصنيف

فرز

نتائج البحث

الرقم القياسي لأسعار المستهلك-شهري أكتوبر 2024

Release Date: 2024-10-31

الناتج المحلي الإجمالي الربع الثاني 2024

Release Date: 2024-10-01

إحصاءات الثروة السمكية الربع الثاني 2024

Release Date: 2024-09-30

احصاءات المباني المنجزة الربع الثاني 2024

Release Date: 2024-09-30

إحصاءات المناخ-شهري يوليو 2024

Release Date: 2024-09-30
حصل خطأ عند معالجة القالب.
The following has evaluated to null or missing:
==> themeIconId  [in template "20098#20124#2513884" at line 95, column 60]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${themeIconId}  [in template "20098#20124#2513884" at line 95, column 58]
----
1<div data-analytics-asset-type="document" 
2  data-analytics-asset-id="publications-downloaded" 
3  data-analytics-asset-title="Publications Downloaded" 
4	data-analytics-asset-action="download">  
5	 
6<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
7    JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
8    resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data) 
9    articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey) 
10    dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService') 
11    assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
12    dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] 
13    dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"] 
14    statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics") 
15    assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") /> 
16			<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
17 
18 
19<#assign journalArticleTitle=.vars['reserved-article-title'].data /> 
20 
21<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) /> 
22<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")/> 
23 
24<#-- The structure field wrapper does not expose getData to "??", so call it directly. --> 
25<#assign publicationNoteHtml = "" /> 
26<#attempt> 
27	<#assign publicationNoteHtml = (.vars['publicationNote'].getData())!"" /> 
28<#recover> 
29</#attempt> 
30<#-- Fall back to the article XML, matching how the Latest Publications portlet reads the note. --> 
31<#if !publicationNoteHtml?has_content> 
32	<#attempt> 
33		<#assign saxReaderUtil = staticUtil["com.liferay.portal.kernel.xml.SAXReaderUtil"] /> 
34		<#assign noteField = saxReaderUtil.read(journalArticlele.getContent()).selectSingleNode("/root/dynamic-element[@field-reference='publicationNote' or @name='publicationNote']") /> 
35		<#if noteField??> 
36			<#assign noteValue = noteField.selectSingleNode("dynamic-content[@language-id='" + themeDisplay.getLanguageId() + "']")! /> 
37			<#if noteValue?has_content && noteValue.getText()?trim?has_content> 
38				<#assign publicationNoteHtml = noteValue.getText() /> 
39			<#else> 
40				<#list noteField.selectNodes("dynamic-content") as noteContent> 
41					<#if noteContent.getText()?trim?has_content> 
42						<#assign publicationNoteHtml = noteContent.getText() /> 
43						<#break> 
44					</#if> 
45				</#list> 
46			</#if> 
47		</#if> 
48	<#recover> 
49	</#attempt> 
50</#if> 
51<#assign publicationNote = publicationNoteHtml?trim /> 
52<#-- The rich-text editor saves "<p>&nbsp;</p>" for an emptied field, so check for visible text. --> 
53<#assign hasPublicationNote = publicationNote?replace("<[^>]*>", "", "r")?replace("&nbsp;", "")?replace("\xA0", "")?trim?has_content /> 
54<#assign publicationNoteId = "scad-pub-note-" + .vars["reserved-article-id"].data /> 
55<#assign publicationNoteLabel = (themeDisplay.getLanguageId()!"")?starts_with("ar")?then("ملاحظة المنشور", "Publication note") /> 
56 
57 
58<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg" 
59    categoryDisplay="Economic" /> 
60<#if (articleCatNames?size > 0)> 
61    <#list articleCatNames as category> 
62    <#if category.parentCategoryId==0> 
63        <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()> 
64            <#assign assetThemeCategoryId=category.categoryId?long /> 
65            <#assign 
66                themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue() 
67                themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue() 
68                themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() /> 
69         
70            <#if themeImgId!="0"> 
71                <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number) 
72                    imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) /> 
73            </#if> 
74            <#list category.name?split(" ") as catWords> 
75												<#assign categoryDisplay = catWords/> 
76													<#break> 
77									</#list> 
78									<#assign categoryDisplay = category.titleCurrentValue/> 
79										</#if> 
80									</#if> 
81								</#list> 
82 
83                                </#if> 
84 
85 
86<#if file_upload.getSiblings()?has_content> 
87  
88					<#list file_upload.getSiblings() as medias> 
89                    <#if medias.getData()?has_content > 
90					 
91			<div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded"> 
92                <div class="col-lg-1 p-0 "> 
93                    <div class="icon d-flex text-center px-2 py-3" style="background: #eee"> 
94                        <div class="align-self-center mx-auto d-flex flex-column"> 
95                            <img src="/documents/d/guest/${themeIconId}" height="30"> 
96                            <label class="small mx-auto mb-0" style="color: #${themeColor} ;"> 
97                                ${categoryDisplay} 
98                            </label> 
99                        </div> 
100                    </div> 
101                </div> 
102 
103                <div class="col-8"> 
104                    <p class="mb-0 py-3 publication-p">${journalArticleTitle}<#if hasPublicationNote><button type="button" class="scad-pub-note-toggle" aria-expanded="false" aria-controls="${publicationNoteId}" aria-label="${publicationNoteLabel}" title="${publicationNoteLabel}"><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="m9.708 6.075-3.024.379-.108.502.595.108c.387.093.464.232.38.619l-.975 4.577c-.255 1.183.14 1.74 1.067 1.74.72 0 1.554-.332 1.933-.789l.116-.549c-.263.232-.65.325-.905.325-.363 0-.494-.255-.402-.704zm.091-2.755a1.32 1.32 0 1 1-2.64 0 1.32 1.32 0 0 1 2.64 0"/></svg></button></#if></p> 
105										<div class="dates_inside_wrapper"> 
106 
107<div class="dates_inside"> 
108<img height="16" src="/documents/d/guest/release_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;"> 
109         
110 <div> 
111 Release Date:										<#assign releaseArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) /> 
112										<#assign releaseDate = releaseArticle.getExpandoBridge().getAttribute("UIIssueDate")/> 
113${releaseDate?string("yyyy-MM-dd")} 
114 </div> 
115  </div> 
116	<#assign publicationArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) /> 
117<#assign revisionDate = publicationArticle.getExpandoBridge().getAttribute("revisionDate")/> 
118	<#assign formattedRevDate = revisionDate?string("yyyy-MM-dd")> 
119	<#if formattedRevDate  != "1888-01-01"> 
120	 <div class="dates_inside"> 
121	 <img height="16" src="/documents/d/guest/revision_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;"> 
122   
123<div>Revision Date: 
124           ${revisionDate?string("yyyy-MM-dd")} 
125        </div> 
126    </div> 
127		</#if> 
128	 
129	 
130	 
131 
132										</div> 
133										 
134										<#assign articleId = .vars["reserved-article-id"].data?number> 
135										 
136										 
137									 
138							 
139							 
140                </div> 
141 
142                <div class="col-3 d-flex align-items-center justify-content-end"> 
143								 
144 
145                    <div class="my-2 right-icons d-flex align-items-center "> 
146                        <#if file_upload.getSiblings()?has_content> 
147                            <#list file_upload.getSiblings() as media> 
148                                <#if media.getData()?has_content> 
149 
150                                    <#assign counter=0> 
151                                        <#list "${media.getData()}" ?split("/") as mediaDataSplit> 
152                                            <#if counter==5> 
153                                                <#list mediaDataSplit?split("?") as uuId> 
154                                                    <#assign uuid=uuId /> 
155                                                    <#break> 
156                                                </#list> 
157                                            </#if> 
158                                            <#assign counter=counter+1> 
159                                        </#list> 
160                                        <#if uuid??> 
161                                            <#assign file=dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,groupId)> 
162                                                <#assign fileExtension=file.extension> 
163																								<#assign fileSize = file.size > 
164																								<#assign fileSizeInMB = (file.size / 1024 / 1024)?string('0.##')> 
165                                                    <#if fileExtension==""> 
166                                                        <#list "${file.fileName}" ?split(".") as extention> 
167                                                            <#if extention?is_last> 
168                                                                <#assign fileExtension=extention> 
169                                                                    <#break> 
170                                                            </#if> 
171                                                        </#list> 
172                                                    </#if> 
173                                                    <#if media.getData()?has_content> 
174 
175 
176                                                        <#if fileExtension=="pdf" || fileExtension=="PDF"> 
177                                                            <a class="ml-2" href="${media.getData()}" target="blank" 
178                                                                style="order:1" onclick="trackDownload(event, '${file.fileName}')"> 
179                                                                <li class="list-item list-inline-item d-flex flex-column"> 
180                                                                <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg 
181                                                                        class="d-flex mx-auto align-self-center" /> 
182																																				<small class="text-dark-blue">  ${fileSizeInMB} MB </small>   
183                                                                </li> 
184                                                            </a> 
185                                                        
186                                                        <#elseif fileExtension=="xls" || fileExtension=="XLS" || 
187                                                            fileExtension=="xlsx" || fileExtension=="XLSX"> 
188                                                            <a class="ml-2" href="${media.getData()}" target="blank" 
189                                                                style="order:2" onclick="trackDownload(event, '${file.fileName}')"> 
190                                                                <li class="list-item list-inline-item d-flex flex-column"> 
191                                                                    
192																																	  <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg 
193                                                                        class="d-flex mx-auto align-self-center" /> 
194																																				<small class="text-dark-blue">  ${fileSizeInMB} MB </small>   
195                                                                </li> 
196                                                            </a> 
197																														 
198																														<#else> 
199																														 
200																														 <a class="ml-2" href="${media.getData()}" target="blank" 
201                                                                style="order:3" onclick="trackDownload(event, '${file.fileName}')"> 
202                                                                <li class="list-item list-inline-item d-flex flex-column"> 
203																																  
204																																 <img src="/documents/d/guest/docx-1-" 
205                                                                        class="d-flex mx-auto align-self-center" style="height:25px;" /> 
206																																				<small class="text-dark-blue">  ${fileSizeInMB} MB </small>   
207                                                                    
208                                                                </li> 
209                                                            </a> 
210																														 
211                                                        </#if> 
212																												 
213 
214                                                    </#if> 
215                                        </#if> 
216                                </#if> 
217                            </#list> 
218                        </#if> 
219                    </div> 
220                </div> 
221 
222                <#if hasPublicationNote> 
223                <div class="scad-pub-note" id="${publicationNoteId}" role="note" hidden>${publicationNote}</div> 
224                </#if> 
225                </div> 
226 
227 
228 
229<#break> 
230        
231   </#if>    
232</#list> 
233</#if> 
234<style>.dates_inside_wrapper{ 
235 
236display: flex; 
237    gap: 5px; 
238    align-items: center; 
239    font-size: 13px; 
240    flex-direction: row; 
241    gap: 20px; 
242} 
243 
244.dates_inside { 
245 
246    display: flex; 
247    gap: 5px; 
248    align-items: center;  
249    
250    padding: 4px 10px; 
251    color: #616060; 
252    border-radius: 5px; 
253    
254} 
255.file-size{padding :5px;} 
256.publication-p .scad-pub-note-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;min-width:22px;margin:0;margin-inline-start:8px;padding:0;border:0!important;border-radius:50%!important;background:#1a73e8!important;color:#fff!important;font-size:0;line-height:1;vertical-align:-4px;box-shadow:none;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease} 
257.publication-p .scad-pub-note-toggle svg{display:block;width:14px;height:14px;fill:#fff} 
258.publication-p .scad-pub-note-toggle:hover,.publication-p .scad-pub-note-toggle[aria-expanded="true"]{background:#1558b0!important} 
259.publication-p .scad-pub-note-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(26,115,232,.35)} 
260.scad-pub-note{box-sizing:border-box;flex:0 0 calc(100% - 24px);width:calc(100% - 24px);max-width:calc(100% - 24px);margin:12px;padding:14px 16px;border:1px solid #d6e6fb;border-inline-start:4px solid #297de3;border-radius:8px;background:#f2f8ff;color:#475569;font-size:.85rem;line-height:1.6;text-align:start} 
261.scad-pub-note[hidden]{display:none!important} 
262.scad-pub-note>:first-child{font-weight:700;color:#0f172a} 
263.scad-pub-note p{margin:0 0 8px} 
264.scad-pub-note>:last-child{margin-bottom:0}</style> 
265<#if hasPublicationNote> 
266<script> 
267(function () { 
268    if (window.scadPubNoteToggleBound) { 
269        return; 
270    } 
271 
272    window.scadPubNoteToggleBound = true; 
273 
274    document.addEventListener('click', function (event) { 
275        var button = event.target.closest && event.target.closest('.scad-pub-note-toggle'); 
276 
277        if (!button) { 
278            return; 
279        } 
280 
281        var note = document.getElementById(button.getAttribute('aria-controls')); 
282 
283        if (!note) { 
284            return; 
285        } 
286 
287        var open = button.getAttribute('aria-expanded') !== 'true'; 
288 
289        button.setAttribute('aria-expanded', String(open)); 
290        note.hidden = !open; 
291    }); 
292})(); 
293</script> 
294</#if> 
295<script> 
296<#assign JArticleTitle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />  
297<#assign JDisplayDate = JArticleTitle.getExpandoBridge().getAttribute("UIIssueDate")/> 
298var dateString = '${JDisplayDate?string("yyyy-MM-dd")}'; 
299 
300// Convert the string into a Date object 
301var date = new Date(dateString); 
302 
303// Format the date to "dd MMM yyyy" (e.g., "02 Feb 2024") 
304var formattedDate = date.toLocaleDateString('en-GB', { 
305    day: '2-digit', 
306    month: 'short', 
307    year: 'numeric' 
308}); 
309 
310// Set the formatted date into the HTML 
311document.querySelector('.publications-display').innerHTML = formattedDate; 
312function trackDownload(event, fileName) { 
313    console.log("INSIDE TRACKING DOWNLOADS"); 
314 
315    // Check if fileName is correctly passed 
316    if (fileName) { 
317        console.log("File Name: " + fileName); 
318        Analytics.track('trackPublicationDownloads', { 
319            'fileName': fileName 
320        }); 
321    } else { 
322        console.log("Error: File name is missing or incorrect."); 
323    } 
324 
325    console.log("INSIDE TRACKER"); 
326} 
327</script> 

الرقم القياسي لأسعار المستهلك-شهري سبتمبر 2024

Release Date: 2024-09-30

إحصاءات الثروة السمكية الربع الثالث 2024

Release Date: 2024-09-30

الرقم القياسي لأسعار الفنادق سبتمبر 2024

Release Date: 2024-09-30

إحصاءات جودة الهواء الربع الثاني 2024

Release Date: 2024-09-30