Wystąpił błąd podczas przetwarzania szablonu.
The following has evaluated to null or missing:
==> assetService  [in template "20096#20121#12-STRONA-GLOWNA" at line 193, column 26]

----
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 hitTagIds = assetService.getT...  [in template "20096#20121#12-STRONA-GLOWNA" in macro "zawartoscZakladkiStronyGlownej" at line 193, column 5]
	- Reached through: @zawartoscZakladkiStronyGlownej z=z  [in template "20096#20121#12-STRONA-GLOWNA" at line 573, column 25]
----
1<#assign plid = "#portlet_" + themeDisplay.getPortletDisplay().getId()/>
 
2<#assign longGroupId = getterUtil.getLong(groupId)/>
 
3
 
4<style type="text/css">
 
5    ${plid} span.link, span.link:visited {color: #666; text-decoration: underline;}
 
6    ${plid} span.link:hover, span.link:active, span.link:focus {color: #69C; text-decoration: underline;}
 
7    ${plid} .kontener { clear: both; }
 
8    ${plid} .podkontener_lewy { width: 627px; float: left;}
 
9    ${plid} .podkontener_prawy { width: 260px; float: right;}
 
10    ${plid} #tabs { width: 627px; border:none; margin: 17px 0 0 0; padding:0; float: left;}
 
11
 
12    ${plid} .tabdiv { margin: 0; padding:3px 0 0 0; }
 
13    ${plid} .tabs_inner { clear: both; margin: 0px auto; padding:8px 0 0 0; border-left:1px solid #cccccc; border-bottom:1px solid #cccccc; border-right:1px solid #cccccc; border-top:0px solid #00519E; }
 
14    ${plid} .tabnav { margin:0; padding:0; }
 
15    ${plid} .ui-tabs { margin:0; padding:0;border-bottom-width:3px; }
 
16    ${plid} .ui-tabs li a { margin-left: 0; }
 
17
 
18    ${plid} .tytul { color:#666; font-weight: bold; margin: 0px; padding: 0px; }
 
19    ${plid} .tytul_hit { color:#666; font-weight:bold; font-size:12px; margin: 0px; padding: 0px 0px 2px 0px; }
 
20    ${plid} .opis { color:#666; font-weight: normal; }
 
21    ${plid} .opis_hit { color:#666; font-weight: normal; display:block; padding-top: 4px; }
 
22
 
23    ${plid} .wyciagnieta { margin: 10px 0 0 0; padding:0; font-size: 10px; }
 
24
 
25    ${plid} .col2_left {width: 306px; float: left; padding-right: 8px; font-size: 10px; }
 
26    ${plid} .col2_right {width: 300px; float: left; border-left:1px solid #cccccc; padding-left:8px; font-size: 10px; }
 
27    ${plid} #tabs .col2_left {width: 300px; padding-left: 8px; }
 
28    ${plid} #tabs .col2_right {width: 292px;}
 
29
 
30    ${plid} h2 { margin: 0px 0px 0px 0px; padding: 0px 0px 1px 0px; border-bottom: 3px #00519e solid; font-weight: bold; font-size: 16px; color: #00519e; }
 
31    ${plid} h3 { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; border-bottom:3px solid #00519e; font-weight: bold; font-size: 11px; color: #00519e; }
 
32
 
33    ${plid} h4{ margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; border-bottom:1px dotted #aaa; font-weight: bold; font-size: 10px; color: #00519e; }
 
34
 
35    ${plid} .dalej{ color:#00519e; text-decoration:none; font-size:8px; }
 
36
 
37    ${plid} div.box{ clear:both;margin-bottom:3px;}
 
38    ${plid} a.box { color:#666; text-decoration:none; height:100%; display:block; padding:3px;}
 
39    ${plid} a:hover.box, ${plid} a:active.box, ${plid} a:focus.box { text-decoration:none;background:#f5f5f5; }
 
40    ${plid} a.box_z_obrazkiem{ min-height: 114px;}
 
41    .ie6 ${plid} a.box_z_obrazkiem { height: 114px;}
 
42
 
43    ${plid} #tabs .czytaj{ display:block; text-decoration: none; clear:both; height:10px; margin:0px 10px 10px 10px; }
 
44    ${plid} .wiecej{text-decoration: none; color: #00519e; font-weight: bold; font-size: 9px; margin:0px; float:right; display:block; background: url("/image/image_gallery?img_id=11932") right no-repeat; padding: 0px 25px 0px 0px; }
 
45
 
46    ${plid} a:visited.wiecej {text-decoration: none; color: #00519e;}
 
47    ${plid} a:hover.wiecej, ${plid} a:active.wiecej, ${plid} a:focus.wiecej {text-decoration: none; color: #2377cd;}
 
48
 
49    ${plid} img.foto {width:100px; height:100px; padding:4px; border:1px solid #cccccc; float:left; margin: 0px 10px 4px 0px; }
 
50
 
51    ${plid} .box2 { margin: 15px 0 0 2px; padding:0px; height:auto; font-size: 10px; }
 
52    ${plid} ul.media li { text-decoration:none; margin:4px 0px 0px 0px; padding:0px 0px 0px 13px; background: url(/image/image_gallery?uuid=7f0ab4af-de30-4f7e-b802-872acc7c44ce&groupId=10172&t=1257529945295) 0 2px no-repeat; text-align: left; list-style:none;}
 
53    ${plid} ul.media li a { color: #666; text-decoration:none;}
 
54    ${plid} ul.media li a:hover, ${plid} ul.media li a:active, ${plid} ul.media li a:focus { text-decoration:none; color: #00519e;}
 
55
 
56    ${plid} h5 {border-bottom:2px solid #00519E; color:#00519E; font-size:11px; font-weight:bold; margin:0; padding:0 0 1px 1px;}
 
57    ${plid} #partnerzy {height: 50px; margin: 30px 0 0 3px;}
 
58    ${plid} #partnerzy ul {margin: 10px auto;}
 
59    ${plid} #partnerzy ul li {display: block; float: left; list-style-image: none; list-style-type: none; margin-right: 5px;}
 
60
 
61</style>
 
62
 
63<#-----------Services----------->
 
64<#--    <#assign assetService = serviceLocator.findService("articles","com.liferay.articles.service.CustomAssetLocalService")/>-->
 
65<#assign tagsService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService")/>
 
66<#assign assetEntryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
 
67<#assign journalArticleResourceService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")/>
 
68<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/>
 
69
 
70<#macro wczytajAtrybutyStronaGlowna asset article>
 
71    <#assign articleId = ""/>
 
72    <#assign articleTitle = ""/>
 
73    <#assign articleSmallImage = ""/>
 
74    <#assign articleDescription = ""/>
 
75    <#assign articleTags = []/>
 
76    <#assign startDate = false/>
 
77    <#assign endDate = false/>
 
78
 
79    <#if asset?is_boolean && !asset>
 
80        <#assign classPK = journalArticleResourceService.getArticleResourcePrimKey(article.getGroupId(), article.getArticleId())/>
 
81        <#assign asset = assetEntryService.getEntry("com.liferay.portlet.journal.model.JournalArticle", classPK)/>
 
82    </#if>
 
83    <#if article?is_boolean && !article>
 
84        <#assign articleResource= journalArticleResourceService.getArticleResource(asset.getClassPK())/>
 
85        <#assign article = journalArticleService.getArticle(articleResource.getGroupId(), articleResource.getArticleId())/>
 
86    </#if>
 
87    <#assign articleStructureValue = ujJournalArticleHelper.getFormValues(article, portletRequest)/>
 
88
 
89    <#assign articleId = article.getArticleId()/>
 
90    <#assign articleTitle = articleStructureValue["tytul"]/>
 
91    <#if !articleTitle?has_content>
 
92        <#assign articleTitle = article.getTitle()/>
 
93    </#if>
 
94    <#assign articleSmallImage = article.getSmallImageURL()/>
 
95    <#if !articleSmallImage?has_content>
 
96        <#if article.isSmallImage()>
 
97            <#assign articleSmallImage = "/image/journal/article?img_id=${article.getSmallImageId()}&t=${imageToken.getToken(article.getSmallImageId())}"/>
 
98        </#if>
 
99    </#if>
 
100    <#assign articleDescription = articleStructureValue["streszczenie"]/>
 
101    <#if articleDescription?has_content>
 
102        <#assign articleDescription = asset.getDescription()/>
 
103    </#if>
 
104    <#assign kawalki = stringUtil.split(articleDescription, '%expando[')/>
 
105    <#list kawalki as kawalek>
 
106        <#if kawalek?counter == 1>
 
107            <#assign articleDescription = kawalek/>
 
108        <#else>
 
109            <#assign j = kawalek?string?index_of(']')/>
 
110            <#if j gte 0>
 
111                <#assign sciezka = stringUtil.split(kawalek[0..j], '/')/>
 
112                <#assign wartosc = '[nieznana wartość]'/>
 
113                <#if sciezka?size == 4>
 
114                    <#assign wartosc = expandoValueLocalService.getValue(getterUtil.getLong(companyId), sciezka[0], sciezka[1], sciezka[3], getterUtil.getLong(sciezka[2])).getData()/>
 
115                </#if>
 
116                <#assign articleDescription = articleDescription + "${wartosc}"/>
 
117                <#assign j += 1/>
 
118                <#assign articleDescription = articleDescription + kawalek[j..]/>
 
119            <#else>
 
120                <#assign articleDescription = articleDescription + "%expando[" + kawalek/>
 
121            </#if>
 
122        </#if>
 
123    </#list>
 
124
 
125    <#assign articleTags = tagsService.getTags(asset.getClassNameId(), asset.getClassPK())/>
 
126
 
127    <#assign startDate = dateUtil.getDate(asset.getStartDate(), "dd.MM.yyyy", locale)/>
 
128    <#assign endDate = dateUtil.getDate(asset.getEndDate(), "dd.MM.yyyy", locale)/>
 
129</#macro>
 
130
 
131<#macro abstraktStronyGlownej hit>
 
132    <#if hit>
 
133        <#assign klasaTytulu = "tytul_hit"/>
 
134        <#assign klasaAbstraktu = "opis_hit"/>
 
135    <#else>
 
136        <#assign klasaTytulu = "tytul"/>
 
137        <#assign klasaAbstraktu = "opis"/>
 
138    </#if>
 
139
 
140    <#if articleDescription?has_content>
 
141        <#assign dlugosc = 0/>
 
142        <#assign dlugosc = htmlUtil.extractText(articleDescription).length()/>
 
143        <#assign ukryj_abstrakt = false/>
 
144        <#if hit>
 
145            <#assign miernikAbstraktow = dlugosc * 1.0 + articleTitle?length * 1.5/>
 
146        <#else>
 
147            <#assign dlugosc = dlugosc + articleTitle?length/>
 
148            <#if miernikAbstraktow && miernikAbstraktow gt 0 && dlugosc lt miernikAbstraktow>
 
149                <#assign miernikAbstraktow = miernikAbstraktow - dlugosc/>
 
150            <#else>
 
151                <#assign ukryj_abstrakt = true/>
 
152            </#if>
 
153        </#if>
 
154        <#if ukryj_abstrakt>
 
155            <span class="${klasaTytulu}">${articleTitle}</span>&nbsp;&raquo;
 
156        <#else>
 
157            <span class="${klasaTytulu}">${articleTitle}</span><br />
 
158            <span class="${klasaAbstraktu}">${articleDescription}...&nbsp;&raquo;</span>
 
159        </#if>
 
160    <#else>
 
161        <#if hit>
 
162            <#assign miernikAbstraktow = articleTitle?length * 1.5/>
 
163        <#else>
 
164            <#assign miernikAbstraktow = miernikAbstraktow - articleTitle?length/>
 
165        </#if>
 
166        <span class="${klasaTytulu}">${articleTitle}</span>&nbsp;&raquo;
 
167    </#if>
 
168</#macro>
 
169
 
170<#assign commonOmitTagIds = []/>
 
171<#if locale.toString() != "pl_PL">
 
172    <#assign commonOmitTagNames = ["polska"]/>
 
173    <#assign commonOmitTagIds = assetService.getTagIds(longGroupId, commonOmitTagNames)/>
 
174</#if>
 
175
 
176<#-- DATES-->
 
177<#assign dzisiaj = dateUtil.parseDate("yyyyMMdd", .now?string("yyyyMMdd"), locale)/>
 
178<#assign m = dzisiaj?long/>
 
179<#assign j = m + 86400000>#
 
180<#assign jutro = j?number_to_date/>
 
181<#assign w = m - 86400000>
 
182<#assign wczoraj = w?number_to_date/>
 
183
 
184<#macro zawartoscZakladkiStronyGlownej z>
 
185    <#assign idJednostkiData = z.idJednostki.getData()/>
 
186    <#if idJednostkiData?has_content && idJednostkiData?matches('[0-9]*')>
 
187        <#assign longGroupId = getterUtil.getLong(idJednostkiData)/>
 
188    <#else>
 
189        <#assign longGroupId = getterUtil.getLong(groupId)/>
 
190    </#if>
 
191
 
192    <#assign hitTagNames = ["hit"]/>
 
193    <#assign hitTagIds = assetService.getTagIds(longGroupId, hitTagNames)/>
 
194
 
195    <#if z.rodzaj.getData() == 'tresc_wlasna'>
 
196        <#assign tresc = z.tresc.getData()/>
 
197        <#assign kawalki = stringUtil.split(tresc, '%expando[')/>
 
198        <#list kawalki as kawalek>
 
199            <#if kawalek?counter == 1>
 
200                <#assign tresc = kawalek/>
 
201            <#else>
 
202                <#assign j = kawalek?string?index_of(']')>
 
203                <#if j gte 0>
 
204                    <#assign sciezka = stringUtil.split(kawalek[0..j], '/')/>
 
205                    <#assign wartosc = '[nieznana wartość]'/>
 
206                    <#if sciezka?size == 4>
 
207                        <#assign wartosc = expandoValueLocalService.getValue(getterUtil.getLong(companyId), sciezka[0], sciezka[1], sciezka[3], getterUtil.getLong(sciezka[2])).getData()/>
 
208                    </#if>
 
209                    <#assign tresc = tresc + wartosc/>
 
210                    <#assign j += 1/>
 
211                    <#assign tresc = tresc + kawalek[j..]/>
 
212                <#else>
 
213                    <#assign tresc = tresc + "%expando[" + kawalek/>
 
214                </#if>
 
215            </#if>
 
216        </#list>
 
217        ${tresc}
 
218    <#else>
 
219        <div class="col2_left">
 
220            <#if z.rodzaj.getData() == 'wydarzenia'>
 
221                <#assign datowane = true/>
 
222            <#else>
 
223                <#assign datowane = false/>
 
224            </#if>
 
225
 
226            <#assign count = getterUtil.getInteger(z.iloscWiadomosci.getData())/>
 
227            <#if count == 0>
 
228                <#assign count = 3/>
 
229            </#if>
 
230
 
231            <#assign tagNames = []/>
 
232            <#assign omitTagNames = []/>
 
233            <#assign tags = stringUtil.split(z.tag.getData(), ",")/>
 
234            <#list tags as nazwa>
 
235                <#if nazwa?has_content>
 
236                    <#if nazwa.charAt(0) == '-'>
 
237                        <#assign omitTagNames += [nazwa[1..]]/>
 
238                    <#else>
 
239                        <#assign tagNames += [nazwa]/>
 
240                    </#if>
 
241                </#if>
 
242            </#list>
 
243
 
244            <#assign tagIds = assetService.getTagIds(longGroupId, tagNames)/>
 
245            <#assign omitTagIds = assetService.getTagIds(longGroupId, omitTagNames)/>
 
246
 
247            <#assign omitTagIds = arrayUtil.append(commonOmitTagIds, omitTagIds)/>
 
248
 
249            <#assign categoryNames = []/>
 
250            <#assign omitCategoryNames = []/>
 
251
 
252            <#assign categories = stringUtil.split(z.kategoria.getData() ,",")/>
 
253            <#list categoreis as nazwa>
 
254                <#if nazwa?has_content>
 
255                    <#if nazwa.charAt(0) == '-'>
 
256                        <#assign omitCategoryNames += [nazwa[1..]]/>
 
257                    <#else>
 
258                        <#assign categoryNames += [nazwa]/>
 
259                    </#if>
 
260                </#if>
 
261            </#list>
 
262
 
263            <#assign categoryIds = assetService.getCategoryIds(longGroupId, categoryNames)/>
 
264            <#assign omitCategoryIds = assetService.getCategoryIds(longGroupId, omitCategoryNames)/>
 
265
 
266            <#assign asset = false/>
 
267            <#assign article = false/>
 
268            <#if z.hit.getData()?has_content>
 
269                <#assign article = journalArticleService.getArticle(longGroupId, z.hit.getData())/>
 
270            </#if>
 
271
 
272            <#if article?is_boolean && !article>
 
273                <#if datowane>
 
274                <#-- brak wybranego priorytetu, szukamy ostatnio opublikowanego hita -->
 
275                    <#assign assets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, arrayUtil.append(tagIds, hitTagIds),omitTagIds,
 
276                    "publishDate","endDate","DESC","ASC", wczoraj, null, null, null, .now?date, 0, 1)/>
 
277                    <#if assets?size gt 0>
 
278                        <#assign asset = assets[0]/>
 
279                    <#else>
 
280                    <#-- brak hitów, szukamy wydarzeń z dzisiaj -->
 
281                        <#assign assets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
282                        "startDate", "endDate", "DESC", "ASC", dzisiaj, null, jutro, null,.now?date, 0, 1)/>
 
283                        <#if assets?size gt 0>
 
284                            <#assign asset = assets[0]/>
 
285                        <#else>
 
286                        <#-- ciągle nic, szukamy wydarzeń trwających -->
 
287                            <#assign assets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
288                            "startDate", "endDate", "DESC", "ASC", null, null, dzisiaj, dzisiaj,.now?date, 0,1)/>
 
289                            <#if assets?size gt 0>
 
290                                <#assign asset = assets[0]/>
 
291                            <#else>
 
292                            <#-- dalej nic, szukamy wydarzeń nadchodzących -->
 
293                                <#assign assets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
294                                "startDate", "endDate", "ASC", "ASC", jutro, null, null, null,.now?date, 0,1)/>
 
295                                <#if assets?size gt 0>
 
296                                    <#assign asset = assets[0]/>
 
297                                </#if>
 
298                            </#if>
 
299                        </#if>
 
300                    </#if>
 
301                <#else>
 
302                <#-- brak wybranego priorytetu, szukamy ostatnio opublikowanego hita -->
 
303                    <#assign assets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, arrayUtil.append(tagIds, hitTagIds),
 
304                    omitTagIds, "publishDate", "title", "DESC", "ASC", null, null, null, null,.now?date, 0,1)/>
 
305                    <#if assets?size gt 0>
 
306                        <#assign asset = assets[0]/>
 
307                    <#else>
 
308                    <#-- brak hitów, szukamy z pozostałych -->
 
309                        <#assign assets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
310                        "publishDate", "title", "DESC", "ASC", null, null, null, null,.now?date, 0, 1)/>
 
311                        <#if assets?size gt 0>
 
312                            <#assign asset = assets[0]/>
 
313                        </#if>
 
314                    </#if>
 
315                </#if>
 
316            </#if>
 
317
 
318            <#assign priorytetId = 0/>
 
319            <#assign countToRead = count + 1/> <#-- ilość artykułów do wczytania dla prawej kolumny -->
 
320
 
321            <#if (asset?is_boolean && asset) || (article?is_boolean && article)> <#-- TODO dobry warunek w stosunku do lf6? -->
 
322                <@wczytajAtrybutyStronaGlowna asset=asset article=article/>
 
323                <#assign priorytetId = articleId/>
 
324                <#assign countToRead += 1/> <#-- wczytać o jeden więcej, na wypadek, gdyby jest ze wczytanych był identyczny z priorytetem -->
 
325
 
326                <div class="box">
 
327                    <a href="${htmlUtil.escape("${z.adresStrony.getData()}/-/journal_content/${z.idPortletu.getData()}/${longGroupId}/${articleId}")}" class="box box_z_obrazkiem">
 
328                        <#if articleSmallImage?has_content>
 
329                            <img class="foto" src="${articleSmallImage}" alt="miniatura do artykułu $articleTitle" />
 
330                        <#else>
 
331                            <img class="foto" src="${z.domyslnaIkonkaHitu.getData()}" alt="Domyślna miniatura do artykułu ${articleTitle}"/>
 
332                        </#if>
 
333                        <#if datowane>
 
334                            <#if startDate?has_content && endDate?has_content>
 
335                                <#if startDate  == endDate>
 
336                                    ${startDate}
 
337                                <#else>
 
338                                    ${startDate} - ${endDate}
 
339                                </#if>
 
340                                <br />
 
341                            <#elseif startDate?has_content && !endDate?has_content>
 
342                                ${startDate}<br />
 
343                            <#elseif !startDate?has_content && endDate?has_content>
 
344                                ${endDate}<br />
 
345                            </#if>
 
346                        </#if>
 
347                        <@abstraktStronyGlownej hit=true/>
 
348                    </a>
 
349                </div>
 
350            </#if>
 
351        </div>
 
352
 
353        <div class="col2_right">
 
354            <#if datowane>
 
355                <#assign assets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
356                "startDate","endDate","DESC","ASC", dzisiaj, null, jutro, null, .now?date, 0, countToRead)/>
 
357                <#assign missing = countToRead - assets?size/>
 
358                <#if missing gt 0>
 
359                <#-- wyciąganie wydarzeń trwających -->
 
360                    <#assign additionalAssets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
361                    "startDate","endDate","DESC","ASC", null, null, dzisiaj, dzisiaj, .now?date,0 , missing)/>
 
362                    <#assign assets += [additionalAssets]/>
 
363                    <#assign missing = countToRead - assets?size/>
 
364                    <#if missing gt 0>
 
365                    <#-- wyciąganie wydarzeń nadchodzących -->
 
366                        <#assign additionalAssets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
367                        "startDate", "endDate", "ASC", "ASC", jutro, null, null, null, .now?date, 0, missing)/>
 
368                        <#assign assets += [additionalAssets]/>
 
369                        <#assign missing = countToRead - assets?size/>
 
370                        <#if missing gt 0>
 
371                        <#-- wyciąganie wydarzeń z pozostałych opublikowanych -->
 
372                            <#assign additionalAssets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
373                            "startDate", "endDate", "DESC", "ASC", null, dzisiaj, dzisiaj, null, .now?date, 0, missing)/>
 
374                            <#assign assets += [additionalAssets]/>
 
375                        </#if>
 
376                    </#if>
 
377                </#if>
 
378            <#else>
 
379                <#assign assets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
380                "publishDate", "title", "DESC", "ASC", null, null, null, null, .now?date, 0, countToRead)/>
 
381            </#if>
 
382
 
383            <#assign counter = 0/>
 
384            <#list assets as asset>
 
385                <#if counter lt count>
 
386                    <@wczytajAtrybutyStronaGlowna asset=asset article=false/>
 
387                    <#if articleId != hitId && articleId != priorytetId>
 
388                        <#assign counter += 1/>
 
389                        <div class="box">
 
390                            <a href="${htmlUtil.escape("${z.adresStrony.getData()}/-/journal_content/${z.idPortletu.getData()}/${longGroupId}/${articleId}")}" class="box" >
 
391                                <#if datowane>
 
392                                    <#if startDate?has_content && endDate?has_content>
 
393                                        <#if startDate == endDate>
 
394                                            ${startDate}
 
395                                        <#else>
 
396                                            ${startDate} - ${endDate}
 
397                                        </#if>
 
398                                        <br />
 
399                                    <#elseif startDate?has_content && !endDate?has_content>
 
400                                        ${startDate}<br />
 
401                                    <#elseif !startDate?has_content && endDate?has_content>
 
402                                        ${endDate}<br />
 
403                                    </#if>
 
404                                </#if>
 
405                                <@abstraktStronyGlownej hit=false/>
 
406                            </a>
 
407                        </div>
 
408                    </#if>
 
409                </#if>
 
410            </#list>
 
411        </div>
 
412    </#if>
 
413</#macro>
 
414
 
415<#macro zawartoscPrawejKolumnyStronyGlownej e>
 
416    <#if e.rodzaj1.getData() == 'tresc_wlasna'>
 
417        <#assign tresc = e.tresc1.getData()/>
 
418        <#assign kawalki = stringUtil.split(tresc, '%expando[')/>
 
419        <#list kawalki as kawalek>
 
420            <#if kawalek?counter==1>
 
421                <#assign tresc = kawalek/>
 
422            <#else>
 
423                <#assign j = kawalek.indexOf(']')/>
 
424                <#if j gte 0>
 
425                    <#assign sciezka = stringUtil.split(kawalek[0..j], '/')/>
 
426                    <#assign wartosc = '[nieznana wartość]'/>
 
427                    <#if sciezka?size ==4>
 
428                        <#assign wartosc = expandoValueLocalService.getValue(getterUtil.getLong(companyId), sciezka[0], sciezka[1], sciezka[3], getterUtil.getLong(sciezka[2])).getData()/>
 
429                    </#if>
 
430                    <#assign tresc = tresc + wartosc/>
 
431                    <#assign j += 1/>
 
432                    <#assign tresc = tresc + kawalek[j..]/>
 
433                <#else>
 
434                    <#assign tresc = tresc + "%expando[" + kawalek/>
 
435                </#if>
 
436            </#if>
 
437        </#list>
 
438        ${tresc}
 
439
 
440    <#elseif e.rodzaj1.getData() == 'linki'>
 
441
 
442        <ul class="media">
 
443            <#list e.FieldsetLink.getSiblings() as link>
 
444                <li><a title="${link.link.getData()}" href="${link.linkAdres.getData()}">${link.link.getData()}</a></li>
 
445            </#list>
 
446        </ul>
 
447
 
448    <#else>
 
449
 
450        <#if e.idJednostki1.getData()?has_content && e.idJednostki1.getData()?matches('[0-9]*')>
 
451            <#assign longGroupId = getterUtil.getLong(e.idJednostki1.getData())/>
 
452        <#else>
 
453            <#assign longGroupId = getterUtil.getLong(groupId)/>
 
454        </#if>
 
455
 
456        <#assign article = false/>
 
457        <#if e.wybrana_wiadomosc.getData()?has_content>
 
458            <#assign article = journalArticleService.getArticle(longGroupId, e.wybranaWiadomosc.getData())/>
 
459        </#if>
 
460
 
461        <#if article?is_boolean && article>
 
462            <@wczytajAtrybutyStronaGlowna asset=false article=article/>
 
463            <div class="box">
 
464                <a href="${htmlUtil.escape("${e.adresStrony1.getData()}/-/journal_content/${e.idPortletu1.getData()}/${longGroupId}/${articleId}")}" class="box box_z_obrazkiem">
 
465                    <#if articleSmallImage?has_content>
 
466                        <img class="foto" src="${articleSmallImage}" alt="miniatura do artykułu ${articleTitle}"/>
 
467                    <#else>
 
468                        <img class="foto" ${e.domyslnaIkonka.getData()}" alt="domyślna miniatura do artykułu ${articleTitle}"/>
 
469                    </#if>
 
470
 
471                    <#if articleDescription?has_content>
 
472                    <span class="tytul_hit">${articleTitle}</span><br />
 
473                    <span class="opis_hit">${articleDescription}...&nbsp;&raquo;
 
474                    <#else>
 
475                        <span class="tytul_hit">${articleTitle}<span class="opis">&nbsp;&raquo;
 
476                    </#if>
 
477                    </span>
 
478                </a>
 
479            </div>
 
480        <#else>
 
481
 
482            <#assign tagNames = []/>
 
483            <#assign omitTagNames = []/>
 
484            <#assign tags = stringUtil.split(e.tag1.getData(), ",")/>
 
485            <#list tags as nazwa>
 
486                <#if nazwa?has_content>
 
487                    <#if nazwa.charAt(0) == '-'>
 
488                        <#assign omitTagNames += [nazwa[1..]]/>
 
489                    <#else>
 
490                        <#assign tagNames += [nazwa]/>
 
491                    </#if>
 
492                </#if>
 
493            </#list>
 
494
 
495            <#assign tagIds = assetService.getTagIds(longGroupId, tagNames)/>
 
496            <#assign omitTagIds = assetService.getTagIds(longGroupId, omitTagNames)/>
 
497
 
498            <#assign omitTagIds = arrayUtil.append(commonOmitTagIds, omitTagIds)/>
 
499
 
500            <#assign categoryNames = []/>
 
501            <#assign omitCategoryNames = []/>
 
502            <#assign categories = stringUtil.split(e.kategoria1.getData() ,",")/>
 
503            <#list categoreis as nazwa>
 
504                <#if nazwa?has_content>
 
505                    <#if nazwa.charAt(0) == '-'>
 
506                        <#assign omitCategoryNames += [nazwa[1..]]/>
 
507                    <#else>
 
508                        <#assign categoryNames += [nazwa]/>
 
509                    </#if>
 
510                </#if>
 
511            </#list>
 
512            <#assign categoryIds = assetService.getCategoryIds(longGroupId, categoryNames)/>
 
513            <#assign omitCategoryIds = assetService.getCategoryIds(longGroupId, omitCategoryNames)/>
 
514
 
515            <#assign assets = assetService.getAssetsFromGroup(longGroupId, "news", categoryIds, omitCategoryIds, tagIds, omitTagIds,
 
516            "publishDate", "title", "DESC", "ASC", null, null, null, null, .now?date, 0, 1)/>
 
517
 
518            <#list assets as asset>
 
519                <@wczytajAtrybutyStronaGlowna asset=asset article=false/>
 
520                <div class="box">
 
521                    <a href="${htmlUtil.escape("${e.adresStrony1.getData()}/-/journal_content/${e.idPortletu1.getData()}/${longGroupId}/${articleId}")}" class="box">
 
522                        <#if articleSmallImage?has_content>
 
523                            <img class="foto" src="${articleSmallImage}" alt="miniatura do artykułu ${articleTitle}"/>
 
524                        <#else>
 
525                            <img class="foto" src="${e.domyslnaIkonka.getData()}" alt="domyślna miniatura do artykułu ${articleTitle}"/>
 
526                        </#if>
 
527
 
528                        <#if articleDescription?has_content>
 
529                        <span class="tytul_hit">${articleTitle}</span><br />
 
530                        <span class="opis_hit">${articleDescription}...&nbsp;&raquo;
 
531                        <#else>
 
532                            <span class="tytul_hit">${articleTitle}<span class="opis">&nbsp;&raquo;
 
533                        </#if>
 
534                        </span>
 
535                    </a>
 
536                </div>
 
537            </#list>
 
538        </#if>
 
539    </#if>
 
540</#macro>
 
541
 
542<#macro czytajWiecej1StronyGlownej z>
 
543    <#if (z.rodzaj.getData() != 'tresc_wlasna' && z.rodzaj.getData() != 'linki') || (z.adresStrony.getData()?has_content && z.wiecej.getData()?has_content)>
 
544        <div class="czytaj">
 
545            <a class="wiecej" href="${htmlUtil.escape(z.adresStrony.getData())}">${z.wiecej.getData()}</a>
 
546        </div>
 
547    </#if>
 
548</#macro>
 
549
 
550<#macro czytajWiecej2StronyGlownej z>
 
551    <#if (z.rodzaj1.getData()!= 'tresc_wlasna' && z.rodzaj1.getData() != 'linki') || (z.adresStrony1.getData()?has_content && z.wiecej1.getData()?has_content)>
 
552        <div class="czytaj">
 
553            <a class="wiecej" href="${htmlUtil.escape(z.adresStrony1.getData())}">${z.wiecej1.getData()}</a>
 
554        </div>
 
555    </#if>
 
556</#macro>
 
557
 
558<#assign elementyPrawejKolumny = FieldsetElementPrawejKolumny.getSiblings()/>
 
559<#assign zakladki = FieldsetZakladka.getSiblings()/>
 
560<#assign indeksPrawejKolumny = 0/>
 
561
 
562
 
563<#assign saZakladki = false/>
 
564
 
565<div id="main-content">
 
566
 
567    <#list zakladki as z>
 
568        <#if getterUtil.getBoolean(z.wyciagnijNaGore.getData())>
 
569            <div class="kontener">
 
570                <div class="podkontener_lewy">
 
571                    <h2>${z.zakladka.getData()}</h2>
 
572                    <div class="wyciagnieta">
 
573                        <@zawartoscZakladkiStronyGlownej z=z/>
 
574                    </div>
 
575                </div>
 
576                <div class="podkontener_prawy">
 
577                    <#if indeksPrawejKolumny lt elementyPrawejKolumny?size>
 
578                        <#if elementyPrawejKolumny.indeksPrawejKolumny.getData()?has_content>
 
579                            <h2>${elementyPrawejKolumny.indeksPrawejKolumny.getData()}</h2>
 
580                        </#if>
 
581                        <div class="wyciagnieta">
 
582                            <@zawartoscPrawejKolumnyStronyGlownej e=elementyPrawejKolumny[indeksPrawejKolumny]/>
 
583                        </div>
 
584                    </#if>
 
585                </div>
 
586            </div>
 
587            <div class="kontener">
 
588                <div class="podkontener_lewy">
 
589                    <@czytajWiecej1StronyGlownej z=z/>
 
590                </div>
 
591                <div class="podkontener_prawy">
 
592                    <#if indeksPrawejKolumny lt elementyPrawejKolumny?size>
 
593                        <@czytajWiecej2StronyGlownej z=elementyPrawejKolumny[indeksPrawejKolumny]/>
 
594                        <#assign indeksPrawejKolumny += 1/>
 
595                    </#if>
 
596                </div>
 
597            </div>
 
598        <#else>
 
599            <#if z.zakladka.getData()?has_content>
 
600                <#assign saZakladki = true/>
 
601            </#if>
 
602        </#if>
 
603    </#list>
 
604
 
605    <#if saZakladki>
 
606        <div class="kontener">
 
607            <div id="tabs" style="display:block;">
 
608                <ul>
 
609                    <#list zakladki as z>
 
610                        <#if getterUtil.getBoolean(z.wyciagnijNaGore.getData())>
 
611                            <#if z.zakladka.getData()?has_content><li><a href="#tab${z?counter}">${z.zakladka.getData()}</a></li></#if>
 
612                        </#if>
 
613                    </#list>
 
614                </ul>
 
615                <div class="tabs_inner">
 
616                    <#list zakladki as z>
 
617                        <#if getterUtil.getBoolean(z.wyciagnijNaGore.getData()) && z.zakladka.getData()?has_content>
 
618                            <div id="tab${z.zakladka.getData()}" class="tabdiv">
 
619                                <@zawartoscZakladkiStronyGlownej z=z/>
 
620                                <@czytajWiecej1StronyGlownej z=z/>
 
621                            </div>
 
622                        </#if>
 
623                    </#list>
 
624                </div>
 
625            </div>
 
626            <div class="podkontener_prawy">
 
627                <#assign ostatniaPrawaKolumna = elementyPrawejKolumny?size - 1/>
 
628                <#if indeksPrawejKolumny lte ostatniaPrawaKolumna>
 
629                    <#list indeksPrawejKolumny..ostatniaPrawaKolumna as i>
 
630                        <div class="box2">
 
631                            <#if elementyPrawejKolumny[i].elementPrawejKolumny.getData()?has_content>
 
632                                <h2>${elementyPrawejKolumny[i].elementPrawejKolumny.getData()}</h2>
 
633                            </#if>
 
634                            <@zawartoscPrawejKolumnyStronyGlownej e=elementyPrawejKolumny[i]/>
 
635                            <@czytajWiecej2StronyGlownej z=elementyPrawejKolumny[i]/>
 
636                        </div>
 
637                    </#list>
 
638                </#if>
 
639            </div>
 
640        </div>
 
641    </#if>
 
642
 
643</div> <#-- end of #main-content -->
 
644
 
645<script type="text/javascript">
 
646    elements = jQuery('.gray ${plid} img.foto')
 
647    if (elements.length) grayscaleIMGs(elements);
 
648    <#if saZakladki>
 
649    jQuery.extend(jQuery.ui.tabs.defaults,{ navClass: 'ui-tabs',selectedClass: 'current' });
 
650    jQuery("#tabs > ul").tabs();
 
651    jQuery("#tabs").fadeIn(500);
 
652    </#if>
 
653</script>