An error occurred while processing the template.
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">&nbsp;</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>