Saudi Arabia Flag
A government website registered with the Digital Government Authority.
Live Stream LinkLive Stream
Official Saudi Government websites URL ends with.gov.sa .

Website belongs to an official government organization in the Kingdom ofSaudi Arabia always ends with .gov.sa .

Official Reliable websites useHTTPS

Ensure the website is using the HTTPS protocol.

Dga Logo

Registered on Digital Government Authority:

20250724844
FreeMarker syntax is invalid.

Java method "jdk.proxy3.$Proxy107.getCategory(long)" threw an exception when invoked on jdk.proxy3.$Proxy107 object "com.liferay.asset.categories.internal.service.AssetCategoryPropertyAssetCategoryLocalServiceWrapper@41836726"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign category = assetCategoryLocal... [in template "template_id" at line 13, column 5]
----
Category
An error occurred while processing the template.
The following has evaluated to null or missing:
==> assetCategoryLocalService.fetchAssetCategory(category)  [in template "11099719610328#20119#500671" at line 8, column 32]

----
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: #assign curCategory = assetCategoryLo...  [in template "11099719610328#20119#500671" at line 8, column 9]
----
1<#if entries?has_content> 
2    <#assign categories = [] /> 
3    <#assign hasChildCategoriesWithContent = false /> 
4 
5    <#if (request.getParameter("category")?has_content)> 
6        <#assign category = request.getParameter("category")?number /> 
7        <#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
8        <#assign curCategory = assetCategoryLocalService.fetchAssetCategory(category) /> 
9        <#assign assetCategoryPropService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") /> 
10        <#assign categories = assetCategoryLocalService.getChildCategories(curCategory.categoryId) /> 
11    </#if> <!-- End of checking for category parameter --> 
12 
13    <#if (request.getParameter("tab")?has_content)> 
14        <#assign tab = request.getParameter("tab")?number /> 
15 
16        <#if tab == 436312> 
17            <#list categories as cat> 
18                <#assign filterCounter = articleService.getContentCountByCategoriesIds(tab, cat.categoryId) /> 
19                <#if filterCounter?number gt 0> 
20                    <#assign hasChildCategoriesWithContent = true /> 
21                </#if> 
22            </#list> <!-- End of checking categories for content --> 
23 
24            <#if !hasChildCategoriesWithContent> 
25                <#assign monthMatched = false /> 
26                <#assign yearMatched = false /> 
27							  <#assign periodicityMatched = false /> 
28 
29 
30                <#if (request.getParameter("year")?has_content) || (request.getParameter("month")?has_content) || (request.getParameter("periodicity")?has_content)> 
31                    <#assign year = request.getParameter("year")! -1 /> 
32                    <#assign month = request.getParameter("month")! -1 /> 
33								  	<#assign periodicity = request.getParameter("periodicity")! -1 /> 
34 
35                    <#assign entryCategories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", entries[0].classPK?number) /> 
36                        <#list entryCategories as articleCat> 
37													 
38													   <!-- periodicity --> 
39                            <#if periodicity?number != -1> 
40                                <#if articleCat.vocabularyId == 120045 && articleCat.categoryId == periodicity?number> 
41                                    <#assign periodicityMatched = true /> 
42                                </#if> 
43                            <#else> 
44                                <#assign periodicityMatched = true /> 
45                            </#if> 
46															 
47                            <!-- year --> 
48                            <#if year?number != -1> 
49                                <#if articleCat.vocabularyId == 120041 && articleCat.categoryId == year?number> 
50                                    <#assign yearMatched = true /> 
51                                </#if> 
52                            <#else> 
53                                <#assign yearMatched = true /> 
54                            </#if> 
55 
56                            <!-- month --> 
57                            <#if month?number != -1> 
58                                <#if articleCat.vocabularyId == 120049 && articleCat.categoryId == month?number> 
59                                    <#assign monthMatched = true /> 
60                                </#if> 
61                            <#else> 
62                                <#assign monthMatched = true /> 
63                            </#if> 
64                        </#list> <!-- End of processing entry categories --> 
65                    <#else> 
66                        <#assign monthMatched = true /> 
67                        <#assign yearMatched = true /> 
68											 <#assign periodicityMatched = true /> 
69                    </#if> 
70 
71                    <#if monthMatched && yearMatched && periodicityMatched> 
72                        <div id="latest-publication-container"> 
73                            <div class="dl-box publications-box mb-4 d-md-block d-none"> 
74                                <div class="box"> 
75                                    <div class="box-header"> 
76                                        <h3 class="box-title"> 
77                                            <@liferay.language key="latest-publication" /> 
78                                        </h3> 
79                                    </div> 
80                                    <#list entries as curEntry> 
81                                        ${articleService.getContentByClassPK(curEntry.classPK?number, "239120")} 
82                                    </#list> 
83                                </div> 
84                            </div> 
85                        </div> 
86                    </#if> <!-- End of checking month and year match --> 
87                </#if> <!-- End of checking year or month parameter --> 
88        </#if> <!-- End of checking if tab is 436312 --> 
89    </#if> <!-- End of checking for tab parameter --> 
90</#if> <!-- End of checking if entries have content --> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> assetCategoryLocalService.fetchAssetCategory(category)  [in template "11099719610328#20119#436507" at line 40, column 28]

----
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: #assign curCategory = assetCategoryLo...  [in template "11099719610328#20119#436507" at line 40, column 5]
----
1<#function getSafeLong paramName> 
2    <#if !request.getParameter(paramName)?has_content> 
3        <#return -1 /> 
4    </#if> 
5 
6    <#assign raw = request.getParameter(paramName)?trim /> 
7 
8    <#if raw?matches("^[0-9]+$")> 
9        <#return raw?number /> 
10    </#if> 
11 
12    <#return -1 /> 
13</#function> 
14 
15 
16<#assign isValidRequest = true /> 
17 
18<#assign tab = getSafeLong("tab") /> 
19<#assign category = getSafeLong("category") /> 
20<#assign delta = getSafeLong("delta") /> 
21<#assign start = getSafeLong("start") /> 
22 
23<#if tab == -1 || category == -1> 
24    <#assign isValidRequest = false /> 
25</#if> 
26 
27<#if isValidRequest> 
28    <#assign journalArticleLocalService = 
29        serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
30 
31    <#assign StructureLocalService = 
32        serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") /> 
33 
34    <#assign assetCategoryLocalService = 
35        serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
36 
37    <#assign categories = [] /> 
38    <#assign hasChildCategoriesWithContent = false /> 
39 
40    <#assign curCategory = assetCategoryLocalService.fetchAssetCategory(category) /> 
41 
42    <#if !curCategory??> 
43        <@renderInvalidRequest /> 
44    <#else> 
45 
46        <#assign categories = assetCategoryLocalService.getChildCategories(curCategory.categoryId) /> 
47 
48        <#list categories as cat> 
49            <#assign filterCounter = 
50                articleService.getContentCountByCategoriesIds(tab, cat.categoryId) /> 
51 
52            <#if filterCounter?number gt 0> 
53                <#assign hasChildCategoriesWithContent = true /> 
54            </#if> 
55        </#list> 
56 
57        <#if !hasChildCategoriesWithContent> 
58 
59            <div class="mt-4 search-results-container" id="search-results-display-list"> 
60 
61                <#if entries?has_content> 
62 
63                    <#if tab == 436312> 
64                        <div id="publications-list-accordion" 
65                             class="accordion dl-accordion transparent-accordion publications-accordion d-block d-md-none"> 
66                            <#list entries as entry> 
67                                ${articleService.getContentByClassPK(entry.classPK?number, "223283")} 
68                            </#list> 
69                        </div> 
70                    </#if> 
71 
72                    <div class="dl-box publications-box mt-6 ${(tab == 436312)?then('d-none d-md-block','')}"> 
73                        <div class="box ps-8 pe-6 pb-8"> 
74 
75                            <div class="box-header"> 
76                                <span></span> 
77 
78                                <#if tab == 436312> 
79                                    <span class="th"><@liferay.language key="publication-year-label" /></span> 
80                                    <span class="th"><@liferay.language key="publication-periodicity-label" /></span> 
81                                    <span class="th"><@liferay.language key="publication-month-label" /></span> 
82                                </#if> 
83 
84                                <#if tab == 436318> 
85                                    <span class="th"><@liferay.language key="publication-periodicity-label" /></span> 
86                                </#if> 
87 
88                                <span class="th"><@liferay.language key="explore-label" /></span> 
89                            </div> 
90 
91                            <#list entries as entry> 
92                                <#if entry.classPK??> 
93 
94                                    <#assign article = 
95                                        journalArticleLocalService.getLatestArticle(entry.classPK?number) /> 
96 
97                                    <#assign structure = 
98                                        StructureLocalService.getStructure(article.getDDMStructure().getPrimaryKey()) /> 
99 
100                                    <#assign structureID = structure.getStructureId() /> 
101 
102                                    <#if structureID == 118514> 
103                                        ${articleService.getContentByClassPK(entry.classPK?number, "239120")} 
104                                    </#if> 
105 
106                                    <#if structureID == 118796> 
107                                        ${articleService.getContentByClassPK(entry.classPK?number, "121855")} 
108                                    </#if> 
109 
110                                    <#if structureID == 118529> 
111                                        ${articleService.getContentByClassPK(entry.classPK?number, "180745")} 
112                                    </#if> 
113 
114                                    <#if structureID == 118522> 
115                                        ${articleService.getContentByClassPK(entry.classPK?number, "180770")} 
116                                    </#if> 
117 
118                                    <#if structureID == 163734> 
119                                        ${articleService.getContentByClassPK(entry.classPK?number, "163745")} 
120                                    </#if> 
121 
122                                    <#if structureID == 180726> 
123                                        ${articleService.getContentByClassPK(entry.classPK?number, "181078")} 
124                                    </#if> 
125 
126                                </#if> 
127                            </#list> 
128 
129                        </div> 
130                    </div> 
131 
132                <#else> 
133                    <h5> 
134                        <@liferay.language key="no-results-found" /> 
135                    </h5> 
136                </#if> 
137 
138            </div> 
139 
140        <#else> 
141            <@liferay_aui.script use="aui-base"> 
142                $('.pagination-bar').remove(); 
143            </@liferay_aui.script> 
144        </#if> 
145 
146    </#if> 
147</#if>