Wybrane publikacje pracowników WZiKS UJ - Biblioteka Wydziału Zarządzania i Komunikacji Społecznej
Wystąpił błąd podczas przetwarzania szablonu.
Java method "com.sun.proxy.$Proxy168.getFolder(long, long, String)" threw an exception when invoked on com.sun.proxy.$Proxy168 object "com.liferay.portlet.documentlibrary.service.impl.DLFolderLocalServiceImpl@12e86b45"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign folderId = folderService.getF... [in template "20096#20121#05-REPORTAZ-FOTO" at line 143, column 5]
----
1<#assign plid = "#portlet_" + themeDisplay.getPortletDisplay().getId()/>
2
3<#assign wysObrazka = 460/>
4<#assign wysMiniatury = 80/>
5
6<style type="text/css">
7 ${plid} h2{
8 margin: 0px 0px 18px 0px;
9 padding: 0px 0px 0px 0px;
10 width: 100%;
11 border-bottom: 4px #00519e solid;
12 font-weight: bold;
13 font-size: 16px;
14 color: #00519e;}
15
16 .fotogaleria {background: #eee;
17 width:100%;
18 max-width:723px;
19 margin:0px; overflow:hidden;
20 }
21 .opakowanie{position:relative; margin: 14px; text-align:center;}
22
23 .info {margin: 10px 30px; overflow:hidden;}
24 .licznik{clear:both; display:block; text-align:right; font-style: italic;}
25 .opis{float:left; margin:0px; width:550px; min-height:30px;}
26 .autor-foto{float:right; font-style: italic; margin:0px;}
27
28 .obrazek{ width: 100%; height: ${wysObrazka}px; position:relative; margin: 0 auto; text-align:center; }
29 .obrazek img{display:block; margin: 0 auto; text-align:center; max-width:695px;}
30
31 .obrazek-left{width:340px; height:${wysObrazka}px; cursor:pointer; position:absolute; left:0px; top:0px;
32 background:transparent url('https://www.uj.edu.pl/image/image_gallery?img_id=5984528') left -100px no-repeat; }
33
34 .obrazek-left:hover{ background-position: left 192px; }
35
36 .obrazek-right{width:340px; height:${wysObrazka}px; cursor:pointer; position:absolute; right:0px; top:0px;
37 background:transparent url('https://www.uj.edu.pl/image/image_gallery?img_id=5984532') right -100px no-repeat; }
38 .obrazek-right:hover{ background-position: right 192px; }
39
40
41 .ramka {margin:0px; width:100%;
42 height: 108px;
43 position:relative; overflow:hidden; padding:0px; }
44
45
46 .ramka .zawartosc{
47 background: none repeat scroll 0 0 #222;
48 height: 86px;
49 margin: 0;
50 padding: 0;
51 position: absolute;
52 white-space: nowrap;
53 word-spacing: -0.35em;
54 font-size:0px;
55 border: 3px solid #222;
56 }
57 .ramka .zawartosc a{
58 margin:0px;padding:0px; text-decoration:none;
59 outline:none; }
60 .ramka .zawartosc a:focus, .ramka .zawartosc a:active {
61 noFocusLine: expression(this.onFocus=this.blur());
62 }
63
64 .ramka .zawartosc a img{ margin:0px;padding:0px; height: ${wysMiniatury}px;
65 border: 3px solid #222;
66 opacity:0.6;
67 filter: alpha(opacity = 60);
68 }
69 .ramka .zawartosc a img:hover{
70 opacity:0.9;
71 filter: alpha(opacity = 90);
72 border: 3px solid #222;}
73
74 .ramka .zawartosc a.wybrany img{
75 opacity:1;
76 filter: alpha(opacity = 100);
77 border: 3px solid #ccc;}
78
79 .ramka .zawartosc a:first-child{ padding:0 0 0 30px; }
80 .ramka .zawartosc a:last-child{ padding:0 34px 0 0; }
81
82 .ramka .nav-left{ top:0px; left: 0; z-index:1000;
83 background:#eee url('https://www.uj.edu.pl/image/image_gallery?img_id=5984542') left top repeat-y ;
84 color:#fff;
85 position:absolute; width:30px; height:92px; cursor:pointer;}
86
87 .ramka .nav-right{ top:0px; right: 0; z-index:1000;
88 background:#eee url('https://www.uj.edu.pl/image/image_gallery?img_id=5984547') right top repeat-y ;
89 color:#fff;
90 position:absolute; width:28px; height:92px; cursor:pointer;}
91
92 .preloader{background: url("https://www.uj.edu.pl/image/image_gallery?img_id=5984538") no-repeat 250px 200px;
93 position:absolute;
94 top:0;left:0;
95 width:100%;
96 height:${wysObrazka}px;
97 text-align:center; margin: 0 auto;}
98
99</style>
100
101<#assign
102 titleData = ""
103 streszczenieData = ""
104 trescData = ""
105 autorData = ""
106 dodatkoweZdjeciaData = FieldsetZdjecie.getSiblings()
107 folderGaleriiData = ""
108 miniaturkaData = ""
109 miniaturkaAltData =""
110/>
111
112<#if (tytul.getData())??>
113 <#assign titleData = tytul.getData()/>
114</#if>
115<#if (streszczenie.getData())??>
116 <#assign streszczenieData = streszczenie.getData()/>
117</#if>
118<#if (tresc.getData())??>
119 <#assign trescData = tresc.getData()/>
120</#if>
121<#if (autor.getData())??>
122 <#assign autorData = autor.getData()/>
123</#if>
124<#if (folderGalerii.getData())??>
125 <#assign folderGaleriiData = folderGalerii.getData()/>
126</#if>
127<#if (miniaturka.getData())??>
128 <#assign miniaturkaData = miniaturka.getData()/>
129</#if>
130<#if (miniaturkaAlt.getData())??>
131 <#assign miniaturkaAltData = miniaturkaAlt.getData()/>
132</#if>
133
134<#assign longGroupId = getterUtil.getLong(themeDisplay.getScopeGroupId())/>
135
136<#assign folderService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFolderLocalService")/>
137<#assign imageService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")/>
138
139<#if folderGaleriiData?has_content>
140 <#assign sciezka = folderGaleriiData?split("/")/>
141 <#assign folderId = getterUtil.getLong("0")/>
142<#list sciezka as nazwa>
143 <#assign folderId = folderService.getFolder(longGroupId, folderId, nazwa).getFolderId()/>
144</#list>
145 <#assign obrazki = imageService.getFileEntries(longGroupId, folderId, -1, -1, null)?sort_by("title")/>
146</#if>
147
148<div class="boxy" class="fotoreportaz-box">
149
150 <#if titleData?has_content>
151 <h2>${titleData}</h2>
152 </#if>
153
154 <p>${trescData}</p>
155
156 <div class="fotogaleria">
157 <div class="opakowanie">
158 <div class="obrazek"></div>
159 <div class="obrazek-left"></div>
160 <div class="obrazek-right"></div>
161 </div>
162
163 <div class="info">
164
165 <div>
166 <div class="opis"></div>
167 <div class="autor-foto"><#if autor.data!=""> fot. ${autorData} </#if>
168 <span class="licznik"></span>
169 </div>
170 </div>
171
172 </div>
173
174 <div class="ramka">
175 <div class="zawartosc" >
176 <#if obrazki?? && obrazki?size gt 0>
177 <#list obrazki as obrazek>
178 <#assign obrazeczek = "/image/image_gallery?uuid=${obrazek.getUuid()}&groupId=${longGroupId}"/>
179 <#assign miniatura = "${obrazeczek}&height=${wysMiniatury}"/>
180
181 <#assign tytulObrazka = obrazek.getDescription()?replace('(.*?)(fot.*)','$1')/>
182 <#if !tytulObrazka?has_content>
183 <#assign tytulObrazka = miniaturkaAltData/>
184 </#if>
185
186 <a href="${obrazeczek}" title="${tytulObrazka}" class="miniatura">
187 <img src="${miniatura}" alt="${tytulObrazka}"/>
188 </a>
189 </#list>
190 </#if>
191
192
193 <#list dodatkoweZdjeciaData as x>
194 <#if x.fotoSrc.getData()?has_content>
195 <a href="${x.fotoSrc.getData()}" title="${x.fotoAlt.getData()}"
196 <#if x.fotoAutor.getData()?has_content> (fot. ${x.fotoAutor.getData()}) </#if>>
197 <img src="${x.fotoSrc.getData()}&height=${wysMiniatury}"
198 <#if x.fotoAlt.getData()?has_content> alt="${x.fotoAlt.getData()}" </#if> /></a>
199 </#if>
200 </#list>
201 </div>
202 <div class="nav-left"></div>
203 <div class="nav-right"></div>
204 </div>
205 </div><#-- koniec id fotogaleria -->
206</div>
207
208<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/>
209<#assign assetEntryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
210<#assign model = "com.liferay.journal.model.JournalArticle"/>
211
212<#assign artykulStworzony = journalArticleService.getArticle(longGroupId, .vars["reserved-article-id"].data, getterUtil.getDouble('1'))/>
213<#assign dateArticleCreated = dateUtil.getDate(artykulStworzony.getDisplayDate(), "dd.MM.yyyy", locale, timeZoneUtil.getDefault())/>
214<#assign authorArticleCreated = artykulStworzony.getUserName()/>
215<#assign artPrimKey = artykulStworzony.getResourcePrimKey()/>
216<#assign asset = assetEntryService.getEntry(model, artPrimKey)/>
217
218<#if ujCustomAssetHelper.getArticleType(asset) == 'NEWS'>
219 <div style="clear: both; font-size: 9px; color: #ababab; float: left; width: auto; margin-bottom: 20px; margin-top: 20px;">
220 Data publikacji: <b>${dateArticleCreated}</b><br/>
221 Osoba publikująca: <b>${authorArticleCreated}</b>
222 </div>
223</#if>
224
225<div class="informacje"></div>
226
227<script type="text/javascript">
228
229 function Scroller(ramka,f,k,sF,fF) {
230
231 var scroller = this;
232
233 this.ramka = ramka;
234
235 this.x=0;
236 this.v=0;
237 this.F=0;
238
239 this.xmin=function() { return 0; }
240 this.xmax=function() { return scroller.ramka.find(".zawartosc").width()-scroller.ramka.width(); }
241
242 this.targetting=false;
243 this.target=0;
244
245 if (this.xmax()>0){
246 this.odswiez_pozycje=function(){
247 scroller.ramka.find(".zawartosc").css("left",""+(-scroller.x)+"px");
248 }
249
250 setInterval(function(){
251
252 if (scroller.targetting) {
253 distance = scroller.target-scroller.x;
254 if (Math.abs(distance)>1) {
255 scroller.x = scroller.x + distance*Math.pow(0.9,f);
256 scroller.odswiez_pozycje();
257 }
258 else {
259 scroller.x = scroller.target;
260 scroller.targetting = false;
261 }
262 }
263 else {
264 scroller.x = scroller.x + scroller.v/f;
265 if (scroller.x<scroller.xmin()) scroller.x = scroller.xmin();
266 if (scroller.x>scroller.xmax()) scroller.x = scroller.xmax();
267 scroller.odswiez_pozycje();
268
269 a = scroller.F - k*scroller.v;
270 scroller.v = scroller.v + a;
271
272 if (Math.abs(scroller.v)<1) scroller.v = 0;
273 }
274
275 },1000/f);
276
277 this.ramka.find(".nav-right").mouseover(function(){ scroller.F=sF; });
278 this.ramka.find(".nav-right").mouseout(function(){ scroller.F=0; });
279
280 this.ramka.find(".nav-right").mousedown(function(){ scroller.F=fF; scroller.targetting = false; });
281 this.ramka.find(".nav-right").mouseup(function(){ scroller.F=sF; });
282
283 this.ramka.find(".nav-left").mouseover(function(){ scroller.F=-sF; });
284 this.ramka.find(".nav-left").mouseout(function(){ scroller.F=0; });
285
286 this.ramka.find(".nav-left").mousedown(function(){ scroller.F=-fF; scroller.targetting = false; });
287 this.ramka.find(".nav-left").mouseup(function(){ scroller.F=-sF; });
288
289 this.centruj = function(element) {
290 scroller.target = element.offset().left - scroller.ramka.find('.zawartosc').offset().left - ( scroller.ramka.width()-element.width() )/2;
291 if (scroller.target<scroller.xmin()) scroller.target = scroller.xmin();
292 if (scroller.target>scroller.xmax()) scroller.target = scroller.xmax();
293 scroller.targetting = true;
294 }
295
296 }
297 else{
298 this.ramka.find(".zawartosc").css("left",""+(-this.xmax()/2)+"px");
299 this.ramka.find(".nav-left").hide();
300 this.ramka.find(".nav-right").hide();
301
302 this.centruj = function(element) {
303 scroller.target = element.offset().left - scroller.ramka.find('.zawartosc').offset().left - ( scroller.ramka.width()-element.width() )/2;
304 if (scroller.target<scroller.xmin()) scroller.target = scroller.xmin();
305 if (scroller.target>scroller.xmax()) scroller.target = scroller.xmax();
306 scroller.targetting = true;
307 }
308 }
309
310 return this;
311 }
312
313 function Galeria(portlet) {
314
315 var galeria = this;
316
317 this.ladowany=null;
318
319 this.wyswietlObrazek = function(a){
320
321 if (a.hasClass('wybrany')) return;
322 var obrazki = portlet.find(".ramka .zawartosc a");
323 if (galeria.ladowany) galeria.ladowany.remove();
324 else portlet.find(".obrazek").append('<div class="preloader"> </div>');
325
326 galeria.ladowany = jQuery('<img />').data('a',a).hide().load(function(){
327
328 portlet.find(".obrazek").empty().append(galeria.ladowany);
329 obrazki.removeClass('wybrany');
330 a.addClass('wybrany');
331 galeria.ladowany = null;
332
333 var wybrany = 0;
334 obrazki.each(function(index,element) {
335 if (jQuery(element).hasClass('wybrany')) {
336 wybrany = index+1;
337 }
338 });
339 portlet.find('.licznik').html(wybrany+"/"+obrazki.length);
340
341 portlet.find('.opis').html(a.attr('title'));
342
343 jQuery(this).fadeIn();
344 jQuery(this).unbind('load');
345
346 });
347
348 galeria.ladowany[0].alt = a.attr('title');
349 galeria.ladowany[0].src = a.attr('href')+'&height=$wys-obrazka';
350
351 if (galeria.ladowany && galeria.ladowany.length>0 && (galeria.ladowany[0].complete || galeria.ladowany.width()>0) ) galeria.ladowany.trigger('load');
352
353 galeria.lista.centruj(a);
354 }
355
356
357 this.wyswietlNastepny = function(){
358 a = portlet.find('.obrazek img').data('a').next();
359 if (a.length==0) a = portlet.find('.ramka .zawartosc a:first');
360 galeria.wyswietlObrazek(a);
361 };
362
363 this.wyswietlPoprzedni = function(){
364 a = portlet.find('.obrazek img').data('a').prev();
365 if (a.length==0) a = portlet.find('.ramka .zawartosc a:last');
366 galeria.wyswietlObrazek(a);
367 };
368
369 portlet.find(".ramka .zawartosc a").click(function(){
370 galeria.wyswietlObrazek(jQuery(this));
371 return false;
372 });
373 portlet.find(".obrazek-left").click(galeria.wyswietlPoprzedni);
374 portlet.find(".obrazek-right").click(galeria.wyswietlNastepny);
375
376 jQuery(document).keydown(function(event) {
377 switch (event.keyCode) {
378 case 37: galeria.wyswietlPoprzedni(); return false;
379 case 39: galeria.wyswietlNastepny(); return false;
380 case 13: galeria.wyswietlNastepny(); return false;
381 }
382 });
383
384 var miniaturki = portlet.find(".ramka .zawartosc img");
385 var do_zaladowania = miniaturki.length;
386
387 miniaturki.each(function(){
388 var miniaturka = jQuery(this);
389 var ladunek = jQuery('<img />').load(function(){
390 if (!miniaturka.data('loaded')) {
391 miniaturka.data('loaded',true);
392 if (--do_zaladowania==0) {
393 galeria.lista = new Scroller(portlet.find(".ramka"),23,0.2,20,200);
394 galeria.wyswietlObrazek(portlet.find('.ramka .zawartosc a:first'));
395 }
396 }
397 });
398 ladunek[0].src = this.src;
399 if (ladunek[0].complete || ladunek.width()>0) ladunek.trigger('load');
400 });
401
402 }
403
404 new Galeria(jQuery("${plid}"));
405
406</script>