Aktualności - Katedra Komparatystyki Literackiej
Wystąpił błąd podczas przetwarzania szablonu.
The following has evaluated to null or missing:
==> $indeksPoczatkowy [in template "20096#20121#14-LISTA-AKTUALNOSCI" at line 190, column 37]
----
Tip: Variable references must not start with "$", unless the "$" is really part of the variable name.
----
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 indeksPoczatkowy = $indeksPoc... [in template "20096#20121#14-LISTA-AKTUALNOSCI" at line 190, column 9]
----
1<#assign adresStrony = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()?replace("\\?.*", '', 'r')/>
2<#assign currentRenderUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()/>
3
4<#assign
5 titleData = ''
6 rodzajData = ''
7 typData = ''
8 kategoriaData = ''
9 tagData = ''
10 iloscWiadomosciData = ''
11 brakData = ''
12 showDateData = ''
13 showAuthorData = ''
14/>
15
16<#if (tytul.getData())??>
17 <#assign titleData = tytul.getData()/>
18</#if>
19<#if (rodzaj.getData())??>
20 <#assign rodzajData = rodzaj.getData()/>
21</#if>
22<#if (typ.getData())??>
23 <#assign typData = typ.getData()/>
24</#if>
25<#if (kategoria.getData())??>
26 <#assign kategoriaData = kategoria.getData()/>
27</#if>
28<#if (tag.getData())??>
29 <#assign tagData = tag.getData()/>
30</#if>
31<#if (iloscWiadomosci.getData())??>
32 <#assign iloscWiadomosciData = iloscWiadomosci.getData()/>
33</#if>
34<#if (brak.getData())??>
35 <#assign brakData = brak.getData()/>
36</#if>
37<#if (showDate.getData())??>
38 <#assign showDateData = showDate.getData()/>
39</#if>
40<#if (showAuthor.getData())??>
41 <#assign showAuthorData = showAuthor.getData()/>
42</#if>
43
44<#assign iloscNaStronie = getterUtil.getInteger(iloscWiadomosciData)/>
45<#if iloscNaStronie == 0>
46 <#assign iloscNaStronie = 7/>
47</#if>
48<#assign strona = 1/>
49<#if renderRequest.getOriginalHttpServletRequest().getParameter('strona')??>
50 <#assign strona = getterUtil.getInteger(renderRequest.getOriginalHttpServletRequest().getParameter('strona')?html)>
51</#if>
52
53<#assign obrazekW = 36/>
54<#assign obrazekH = 36/>
55<#assign boxH = obrazekH + 6 />
56
57<#assign plid = "#portlet_" + themeDisplay.getPortletDisplay().getId()/>
58
59<style type="text/css">
60
61 ${plid} .tytul { color:#666; font-weight: bold; display:block; }
62 ${plid} .opis { color: #666; font-weight: normal; display:block;margin-bottom: 4px; }
63 ${plid} .date {font-size: 9px; color: #ababab; margin-bottom: 4px;}
64 ${plid} .author {font-size: 9px; color: #ababab; margin-bottom: 4px;}
65
66 ${plid} p { text-align: left; }
67
68 ${plid} img.foto {width:${obrazekW}px; height:${obrazekH}px; padding:2px; border:1px solid #cccccc; float:left; display: inline-block; margin: 0px 4px 2px 0px; overflow:hidden;}
69
70 ${plid} h2{ margin: 0px 0px 10px 0px;padding: 0px 0px 1px 0px; width: 100%; border-bottom: 4px #00519e solid; font-weight: bold; font-size: 16px; color: #00519e;}
71 ${plid} h3{ margin: 0px 0px 10px 0px; padding: 10px 0px 6px 0px; width: 100%; border-bottom: 4px solid #00519e; font-weight: bold; font-size: 11px; color: #00519e;}
72 ${plid} h4{ margin: 0px 0px 10px 0px; padding: 10px 0px 6px 0px; width: 100%; border-bottom: 1px dotted #aaa; font-weight: bold; font-size: 11px; color: #00519e;}
73
74 ${plid} div{
75 clear:both;
76 margin-bottom:10px;
77 }
78
79 ${plid} a.box {
80 clear:both;
81 color:#666;
82 text-decoration:none;
83 height:100%;
84 display:block;
85 padding:3px;
86 }
87
88 ${plid} div.box a:hover.box {
89 text-decoration:none;
90 background:#f5f5f5;
91 }
92
93 ${plid} a.box_z_obrazkiem{ min-height: ${boxH}px;}
94 .ie6 ${plid} a.box_z_obrazkiem { height: ${boxH}px;}
95
96 ${plid} .ikona_audio { margin:1px; padding:0px 1px 0px 8px; display:inline-block; background: url(/image/image_gallery?uuid=26e82bf7-1deb-4583-a90f-c61fb8514f27&groupId=10172&t=1257529901140) left no-repeat }
97 ${plid} .ikona_foto { margin:1px; padding:0px 1px 0px 8px; display:inline-block; background: url(/image/image_gallery?uuid=56901e74-f170-484b-b7ff-1d8e92714475&groupId=10172&t=1257529901237) left no-repeat }
98 ${plid} .ikona_video { margin:1px; padding:0px 1px 0px 8px; display:inline-block; background: url(/image/image_gallery?uuid=03abf4cf-0067-4f5c-b04c-1385e02321ee&groupId=10172&t=1257529901425) left no-repeat }
99
100 ul.paginacja { list-style-type: none; color:#666; margin: 0; }
101 ul.paginacja li { float: left; display: block; background-color: #FFF; margin-right: 8px; }
102 ul.paginacja li a:link { text-decoration: none; padding: 3px 5px 4px 5px; border: 1px solid #999; color:#666; }
103 ul.paginacja li a:visited { text-decoration: none; padding: 3px 5px 4px 5px; color:#666; border: 1px solid #999; }
104 ul.paginacja li a:hover { text-decoration: none; padding: 2px 4px 3px 4px; border: 2px solid #00519e; color:#666; }
105 ul.paginacja li a:active { text-decoration: none; padding: 2px 4px 3px 4px; border: 2px solid #00519e; color:#666; }
106 ul.paginacja li span {font-weight: bold; color: #00519e;}
107
108 .journal-content-article ul.paginacja {
109 margin: 0;
110 }
111</style>
112
113<#assign longGroupId = themeDisplay.getScopeGroupId()/>
114
115<#-----------Services----------->
116<#-- <#assign assetService = serviceLocator.findService("articles","com.liferay.articles.service.CustomAssetLocalService")/>-->
117<#assign journalArticleResourceService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")/>
118<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/>
119
120<#-----------Dates----------->
121<#assign dzisiaj = dateUtil.parseDate("yyyyMMdd", .now?string("yyyyMMdd"), locale)/>
122<#assign m = dzisiaj?long/>
123<#assign j = m + 86400000>
124<#assign jutro = j?number_to_date/>
125
126<#assign emptyLongArray = getterUtil.getLongValues([])/>
127<#-----------Categories----------->
128<#assign categoryIds = emptyLongArray/>
129<#assign omitCategoryIds = emptyLongArray/>
130
131<#list stringUtil.split(categoriesData, ",") as categorie>
132 <#if categorie?length gt 0>
133 <#assign categoryNameTmp = [categorie?trim]/>
134 <#list groupIds as longGroupId>
135 <#assign categoryIdTmp = ujCustomAssetHelper.getCategoryIds(longGroupId, categoryNameTmp)/>
136 <#assign categoryIds = arrayUtil.append(categoryIds, categoryIdTmp)/>
137 </#list>
138 </#if>
139</#list>
140
141<#-----------Tags----------->
142<#assign tagIds = emptyLongArray/>
143<#assign omitTagIds = emptyLongArray/>
144
145<#list stringUtil.split(tagsData) as tag>
146 <#if tag?length gt 0>
147 <#assign tagNameTmp = [tag?trim]/>
148 <#list groupIds as longGroupId>
149 <#assign tagIdTmp = ujCustomAssetHelper.getTagIds(longGroupId, tagNameTmp)/>
150 <#assign tagIds = arrayUtil.append(tagIds, tagIdTmp)/>
151 </#list>
152 </#if>
153</#list>
154
155<#assign addTagId = ''/>
156<#assign addLongTagId = 0/>
157<#if renderRequest.getOriginalHttpServletRequest().getParameter('tagId')??>
158 <#assign addTagId = renderRequest.getOriginalHttpServletRequest().getParameter('tagId')?html/>
159 <#assign addLongTagId = getterUtil.getLong(addTagId)/>
160</#if>
161<#assign indeksPoczatkowy = iloscNaStronie*(strona - 1)/>
162<#assign indeksKoncowy = indeksPoczatkowy + iloscNaStronie/>
163
164<#if rodzajData == 'wydarzenia'>
165 <#assign datowane = true/>
166
167 <#assign iloscDzisiejszych = ujCustomAssetHelper.getAssetsCount(longGroupId, typData, categoryIds, omitCategoryIds, tagIds, omitTagIds,
168 dzisiaj, null, jutro, null, .now?date)/>
169 <#assign iloscTrwajacych = ujCustomAssetHelper.getAssetsCount(longGroupId, typData, categoryIds, omitCategoryIds, tagIds, omitTagIds,
170 null, null, dzisiaj, dzisiaj, .now?date)/>
171 <#assign ilosc_Ndchodzacych = ujCustomAssetHelper.getAssetsCount(longGroupId, typData, categoryIds, omitCategoryIds, tagIds, omitTagIds,
172 jutro, null, null, null, .now?date)/>
173 <#assign iloscPozostalych = ujCustomAssetHelper.getAssetsCount(longGroupId, typData, categoryIds, omitCategoryIds, tagIds, omitTagIds,
174 null, dzisiaj, dzisiaj, null, .now?date)/>
175 <#assign iloscWszystkich = iloscDzisiejszych + iloscTrwajacych + ilosc_Ndchodzacych + iloscPozostalych/>
176 <#assign iloscStron = (iloscWszystkich/iloscNaStronie)?ceiling>
177 <#if strona gt iloscStron>
178 <#assign strona = iloscStron/>
179 </#if>
180
181 <#if indeksPoczatkowy lt iloscDzisiejszych>
182 <#assign assets = ujCustomAssetHelper.getAssets(longGroupId, typData, categoryIds, omitCategoryIds, tagIds, omitTagIds,
183 "startDate","publishDate","DESC","DESC", dzisiaj, null, jutro, null, .now?date, indeksPoczatkowy, indeksKoncowy)/>
184 <#else>
185 <#assign assets = []/>
186 </#if>
187
188 <#assign missing = iloscNaStronie - assets?size/>
189 <#if missing gt 0>
190 <#assign indeksPoczatkowy = $indeksPoczatkowy + assets?size - iloscDzisiejszych/>
191 <#if indeksPoczatkowy lt iloscTrwajacych>
192 <#assign indeksKoncowy = indeksPoczatkowy + missing/>
193 <#assign additionalAssets = ujCustomAssetHelper.getAssets(longGroupId, typData, categoryIds, omitCategoryIds, tagIds, omitTagIds,
194 "startDate","publishDate","DESC","DESC", null, null, dzisiaj, dzisiaj, .now?date, indeksPoczatkowy, indeksKoncowy)/>
195 <#else>
196 <#assign additionalAssets = []/>
197 </#if>
198 <#assign assets += [additionalAssets]/>
199 <#assign missing = iloscNaStronie - assets?size/>
200 <#if missing gt 0>
201 <#assign indeksPoczatkowy = indeksPoczatkowy + additionalAssets?size - iloscTrwajacych/>
202 <#if indeksPoczatkowy lt iloscNadchodzacych>
203 <#assign indeksKoncowy = indeksPoczatkowy + missing/>
204 <#assign additionalAssets = ujCustomAssetHelper.getAssets(longGroupId, typData, categoryIds, omitCategoryIds, tagIds, omitTagIds,
205 "startDate", "publishDate", "ASC", "DESC", jutro, null, null, null, .now?date, indeksPoczatkowy, indeksKoncowy)/>
206 <#else>
207 <#assign additionalAssets = []/>
208 </#if>
209 <#assign assets += [additionalAssets]/>
210 <#assign missing = iloscNaStronie - assets?size/>
211 <#if missing gt 0>
212 <#assign indeksPoczatkowy = indeksPoczatkowy + additionalAssets?size - iloscNadchodzacych/>
213 <#if indeksPoczatkowy lt iloscPozostalych>
214 <#assign indeksKoncowy = indeksPoczatkowy + missing/>
215 <#assign additionalAssets = ujCustomAssetHelper.getAssets(longGroupId, typData, categoryIds, omitCategoryIds, tagIds, omitTagIds,
216 "startDate","publishDate","DESC","DESC", null, dzisiaj, dzisiaj, null, .now?date, indeksPoczatkowy,indeksKoncowy)/>
217 <#else>
218 <#assign additionalAssets = []/>
219 </#if>
220 <#assign assets += [additionalAssets]/>
221 </#if>
222 </#if>
223 </#if>
224<#else>
225 <#assign datowane = false/>
226
227 <#assign iloscWszystkich = ujCustomAssetHelper.getAssetsCount(longGroupId, typData , categoryIds, omitCategoryIds, tagIds, omitTagIds,
228 null, null, null, null, .now?date)/>
229 <#assign iloscStron = (iloscWszystkich/iloscNaStronie)?ceiling>
230 <#if strona gt iloscStron>
231 <#assign strona = iloscStron/>
232 </#if>
233 <#assign indeks_poczatkowy = iloscNaStronie * (strona - 1)/>
234 <#assign indeks_koncowy = indeks_poczatkowy + iloscNaStronie/>
235
236 <#-- sortowanie wg wybranej opcji showDate -->
237 <#if !showDateData?has_content || showDateData == 'none' || showDateData == 'brak'>
238 <#assign sortowanie = "publishDate"/>
239 <#elseif showDateData?has_content && showDateData == 'displayDate'>
240 <#assign sortowanie = "publishDate"/>
241 <#elseif showDateData?has_content && showDateData == 'modifiedDate'>
242 <#assign sortowanie = "modifiedDate"/>
243 </#if>
244
245 <#assign assets = ujCustomAssetHelper.getAssets(longGroupId, typData , categoryIds, omitCategoryIds, tagIds, omitTagIds,
246 sortowanie,"title","DESC","ASC", null, null, null, null, .now?date, indeksPoczatkowy, indeksKoncowy)/>
247
248</#if>
249
250<#if titleData?has_content>
251 <h2>${titleData}</h2>
252</#if>
253
254<#if assets?size == 0>
255 ${brakData}
256</#if>
257
258<#list assets as asset>
259 <#assign articleId = ""/>
260 <#assign articleTitle = ""/>
261 <#assign articleModifiedDate = ""/>
262 <#assign articleAuthorJob = ""/>
263 <#assign articleShortContent = ""/>
264 <#assign articleSmallImageUrl = ""/>
265 <#assign articleDescription = ""/>
266 <#assign articleTags = []/>
267
268 <#assign articleFirst = ''/>
269 <#assign articleAuthorNameFirst = ''/>
270 <#assign articleAuthorName = ''/>
271
272
273 <#assign articleResource = journalArticleResourceService.getArticleResource(asset.getClassPK())/>
274 <#assign articleId = articleResource.getArticleId()/>
275 <#assign article = journalArticleService.getArticle(articleResource.getGroupId(), articleId)/>
276
277 <#assign articleFirst = journalArticleService.getArticle(articleGroupId, articleId, 1.0)/>
278 <#assign articleAuthorNameFirst = articleFirst.getUserName()/>
279 <#assign articleAuthorName = article.getUserName()/>
280
281
282 <#if article.getStatus() == 0> <#-- check if not expired and draft -->
283 <#assign articleStructureValue = ujJournalArticleHelper.getFormValues(article, portletRequest)/>
284
285 <#assign articleId = article.getArticleId()/>
286 <#assign articleTitle = articleStructureValue["tytul"]/>
287 <#if !articleTitle?has_content>
288 <#assign articleTitle = article.getTitle()/>
289 </#if>
290
291 <#assign articleSmallImageUrl = article.getSmallImageURL()/>
292
293 <#-- WYCIAGANIE MINIATURY OKŁADKI WYGENEROWANEJ PRZEZ LIFERYA -->
294 <#assign smallImageId = article.getSmallImageId()/>
295 <#assign dlFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
296
297 <#assign uuid = getterUtil.getString(httpUtil.getParameter(articleSmallImageUrl, "uuid", false))/>
298 <#assign imageLongGroupId = getterUtil.getLong(httpUtil.getParameter(articleSmallImageUrl, "groupId", false))/>
299
300 <#assign miniaturka = dlFileEntryService.getFileEntryByUuidAndGroupId(uuid, imageLongGroupId)/>
301
302 <#-- początek ustawiania uprawnień do miniatur -->
303 <#assign resourcePermissionService = serviceLocator.findService("com.liferay.portal.kernel.service.ResourcePermissionLocalService")/>
304 <#assign userRoleService = serviceLocator.findService("com.liferay.portal.kernel.service.RoleLocalService")/> <#-- w celu odczytania id roli -->
305
306 <#assign longCompanyId = getterUtil.getLong(companyId)/>
307 <#assign rolaGuest = userRoleService.getRole(longCompanyId, "Guest").getRoleId()/>
308 <#assign nazwaKlasy = "com.liferay.document.library.kernel.model.DLFileEntry"/>
309 <#assign scope = 4/>
310
311 <#assign listaUprawnien = ['ADD_DISCUSSION','DELETE','DELETE_DISCUSSION','PERMISSIONS','UPDATE','UPDATE_DISCUSSION','VIEW']/>
312
313 <#-- najpierw trzeba wyciągnąć jakie już sa upranwienia do danego pliku -->
314 <#assign availablePermissions = resourcePermissionService.getAvailableResourcePermissionActionIds(longCompanyId, nazwaKlasy, scope, miniaturka.getPrimaryKey(), rolaGuest, listaUprawnien)/>
315
316 <#assign listaNowychUprawnien = ['VIEW']/>
317 <#assign tablicaNowychUprawnien = listaNowychUprawnien.toArray($propsUtil.getArray(""))/>
318
319 <#-- $resourcePermissionService.setResourcePermissions($longCompanyId, "$nazwaKlasy", $scope, "$miniaturka.getPrimaryKey()", $rola-guest, $tablicaNowychUprawnien) TODO ??-->
320
321 <#-- koniec ustawiania uprawnień do miniatur -->
322
323 <#if !articleSmallImageUrl?has_content>
324 <#if article.isSmallImage()>
325 <#assign articleSmallImageUrl = "/image/journal/article?img_id=${article.getSmallImageId()}&t=${imageToken.getToken(article.getSmallImageId())}"/>
326 </#if>
327 </#if>
328 <#assign articleDescription = articleStructureValue["streszczenie"]/>
329 <#if !articleDescription?has_content>
330 <#assign articleDescription = asset.getDescription()/>
331 </#if>
332
333 <#assign kawalki = stringUtil.split(articleDescription, '%expando[')/>
334 <#list kawalki as kawalek>
335 <#if kawalek?counter == 1>
336 <#assign articleDescription = kawalek/>
337 <#else>
338 <#assign j = kawalek?string?index_of(']')/>
339 <#if j gte 0>
340 <#assign sciezka = stringUtil.split(kawalek[0..j], '/')/>
341 <#assign wartosc = '[nieznana wartość]'/>
342 <#if sciezka?size == 4>
343 <#assign wartosc = expandoValueLocalService.getValue(getterUtil.getLong(companyId), sciezka[0], sciezka[1], sciezka[3], getterUtil.getLong(sciezka[2])).getData()/>
344 </#if>
345 <#assign articleDescription = articleDescription + wartosc/>
346 <#assign j += 1/>
347 <#assign articleDescription = articleDescription + kawalek[j..]/>
348 <#else>
349 <#assign articleDescription = articleDescription + "%expando[" + kawalek/>
350 </#if>
351 </#if>
352 </#list>
353
354 <#assign articleTags = tagsService.getTags(asset.getClassNameId(), asset.getClassPK())/>
355
356 <div class="box">
357 <#if rodzajData == 'nekrologi'>
358 <a href="${htmlUtil.escape("${currentRenderUrl}&groupId=${groupId}&articleId=${articleId}")}" class="box nekrolog">
359 <#assign dataSmierci = false/>
360 <#assign dataSmierci = dateUtil.parseDate("yyyyMMdd", articleStructureValue["dataSmierci"], locale)/>
361 <#if articleStructureValue["dataSmierci"]?has_content>
362 ${dateUtil.getDate(dataSmierciData, "dd.MM.yyyy", locale)} <br />
363 </#if>
364 <span class="tytul">
365 ${articleStructureValue["tytul"]}
366 ${articleStructureValue["imie"]}
367 ${articleStructureValue["nazwisko"]}
368 </span> »
369 </a>
370 <#else>
371 <#assign adresArtykulu = "${adresStrony}/-/journal_content/${themeDisplay.getPortletDisplay().getId()}/${groupId}/${articleId}"/>
372
373 <#if articleDescription?has_content && articleSmallImageUrl?has_content>
374 <a href="${htmlUtil.escape(adresArtykulu)}" class="box box_z_obrazkiem" >
375 <img class="foto" src="${articleSmallImageUrl}" alt="miniatura ${articleTitle}"/>
376 <#else>
377 <a href="${htmlUtil.escape(adresArtykulu)}" class="box" >
378 </#if>
379
380 <#if datowane>
381 <#assign startDate = dateUtil.getDate(asset.getStartDate(), "dd.MM.yyyy", locale)/>
382 <#assign endDate = dateUtil.getDate(asset.getEndDate(), "dd.MM.yyyy", locale)/>
383
384 <#if startDate?has_content && endDate?has_content>
385 <#if startDate == endDate>
386 ${startDate}
387 <#else>
388 ${startDate} - ${endDate}
389 </#if>
390 <#elseif startDate?has_content && !endDate?has_content>
391 ${startDate}
392 <#elseif !startDate?has_content && endDate?has_content>
393 ${endDate}<br />
394 </#if>
395 </#if>
396
397 <#if articleDescription?has_content>
398 <span class="tytul">${articleTitle}</span>
399 <span class="opis">${articleDescription}<#if !articleDescription?ends_with(".")>.</#if>.. »</span>
400 <#else>
401 <span class="tytul">${articleTitle} »</span>
402 </#if>
403
404 <#list articleTags as tag>
405 <#if tag.getName() == "audio">
406 <span class="ikona_audio"> </span>
407 </#if>
408 <#if tag.getName() == "video">
409 <span class="ikona_video"> </span>
410 </#if>
411 <#if tag.getName() == "foto">
412 <span class="ikona_foto"> </span>
413 </#if>
414 </#list>
415
416 <#if !showDateData?has_content || showDateData == 'none' || showDateData == 'brak'>
417 <#elseif showDateData == 'displayDate'>
418 <span class="date">
419 <#if articleFirst.getDisplayDate() != article.getDisplayDate()>
420 ${dateUtil.getDate(articleFirst.getDisplayDate(), "dd.MM.yyyy", locale)}
421 <#else>
422 ${dateUtil.getDate($article.getDisplayDate(), "dd.MM.yyyy", locale)}
423 </#if>
424 </span>
425 <#elseif showDateData == 'modifiedDate'>
426 <span class="date">
427 ${dateUtil.getDate($article.getModifiedDate(), "dd.MM.yyyy", locale)}
428 </span>
429 </#if>
430
431 <#if !showAuthorData?has_content || showAuthorData == 'none'>
432 <#elseif showAuthorData?has_content && showAuthorData == 'firstAuthor'>
433 <span class="author">- ${articleAuthorNameFirst}</span>
434 <#elseif showAuthorData?has_content && showAuthorData == 'lastAuthor'>
435 <span class="author">- ${articleAuthorName}</span>
436 </#if>
437 </a>
438 </#if>
439 </div>
440 </#if> <#-- end checking it's not expired or draft article -->
441</#list>
442
443<#if iloscStron gt 1>
444 <#assign adres = currentRenderUrl/>
445 <ul class="paginacja">
446 <#if iloscStron lt 8>
447 <#list 1..iloscStron as s>
448 <#if s == strona>
449 <li><span>${s}</span></li>
450 <#else>
451 <li><a href="${httpUtil.addParameter(adres,'strona', s)}">${s}</a></li>
452 </#if>
453 </#list>
454 <#elseif strona lt 5>
455 <#list 1..6 as s>
456 <#if s == strona>
457 <li><span class="journal-article-page-number">${s}</span></li>
458 <#else>
459 <li><a href="${httpUtil.addParameter(adres, 'strona',s)}">${s}</a></li>
460 </#if>
461 </#list>
462 <li>...</li>
463 <li><a href="${httpUtil.addParameter(adres, 'strona', iloscStron)}">${iloscStron}</a></li>
464 <#elseif strona + 4 gt iloscStron>
465 <li><a href="${httpUtil.addParameter(adres, 'strona', 1)}">1</a></li>
466 <li>...</li>
467 <#assign x = iloscStron -5/>
468 <#list x..iloscStron as s>
469 <#if s == strona>
470 <li><span>${s}</span></li>
471 <#else>
472 <li><a href="${httpUtil.addParameter(adres, 'strona', s)}">${s}</a></li>
473 </#if>
474 </#list>
475 <#else>
476 <li><a href="${httpUtil.addParameter(adres, 'strona', 1)}">1</a></li>
477 <li>...</li>
478 <#assign x = strona - 2/>
479 <#assign y = strona + 2/>
480 <#list x..y as s>
481 <#if s == strona>
482 <li><span>${s}</span></li>
483 <#else>
484 <li><a href="${httpUtil.addParameter(adres, 'strona', s)}">${s}</a></li>
485 </#if>
486 </#list>
487 <li>...</li>
488 <li><a href="${httpUtil.addParameter(adres,'strona', iloscStron)}">${iloscStron}</a></li>
489 </#if>
490 </ul>
491 <ul class="paginacja" style="float:right;">
492 <#if strona gt 1>
493 <#assign poprzednia = strona - 1/>
494 <li><a href="${httpUtil.addParameter(adres, 'strona', poprzednia)}" class="previous">«${languageUtil.get(locale, "previous")}</a></li>
495 </#if>
496 <#if strona lt iloscStron>
497 <#assign nastepna = strona + 1/>
498 <li><a href="${httpUtil.addParameter(adres, 'strona', nastepna)}" class="next">${languageUtil.get(locale, "next")}»</a></li>
499 </#if>
500 </ul>
501</#if>