Pomiń baner
Wystąpił błąd podczas przetwarzania szablonu.
The following has evaluated to null or missing:
==> streamtype  [in template "20096#20121#SKORKA2015-ARTYKUL" at line 99, column 14]

----
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: #if streamtype == "vimeo"  [in template "20096#20121#SKORKA2015-ARTYKUL" in macro "flashMedia" at line 99, column 9]
	- Reached through: @flashMedia flashWidth=audWidth flash...  [in template "20096#20121#SKORKA2015-ARTYKUL" at line 392, column 33]
----
1<#assign sciezkaObrazkow = ''> 
2<#if request?? && request?has_content> 
3    <#assign sciezkaObrazkow = themeDisplay.getPathThemeImages()/> 
4    <#assign longGroupIdFromRequest = themeDisplay.getScopeGroupId()/> 
5    <#assign currentLanguageId = languageUtil.getLanguageId(themeDisplay.getLocale()) /> 
6    <#assign currentRenderUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
7</#if> 
8 
9<#if sciezkaObrazkow?has_content || sciezkaObrazkow?matches(".*/uj-lift-theme/images.*")> 
10    <style> 
11        .hidden {  display: none;} 
12 
13        .placeholder {display: none;} 
14        .resizing .placeholder { 
15            display: block; 
16            background: #333; 
17            border: 2px solid #aaa; 
18            color: #aaa; 
19
20 
21        .resizing video, 
22        .resizing audio, 
23        .resizing object, 
24        .resizing embed 
25
26            display: none; 
27
28 
29        @media all and (min-width:480px){ 
30            html .article__content img.thumb, html.view-gt480 .article__content img.thumb{width: 300px;} 
31
32 
33        /*wow button - autor: Gracja*/ 
34        a.wow-btn { 
35            display: inline-block;                  /* Ważne: pozwala na padding i transformacje */ 
36            text-decoration: none !important;       /* Usuwa podkreślenie motywu */ 
37            vertical-align: middle; 
38            position: relative; 
39            padding: 10px 20px; 
40            background: linear-gradient(90deg, #e63946 0%, #c500cc 100%); 
41            color: white !important;     /* !important chroni kolor przed motywem */ 
42            border: none; 
43            border-radius: 5px; 
44            cursor: pointer; 
45            font-family: sans-serif; 
46            overflow: hidden; 
47
48 
49        /* Nadpisanie stanu hover z motywu */ 
50        a.wow-btn:hover { 
51            color: white !important;     /* Zapobiega zmianie koloru tekstu w motywie */ 
52            text-decoration: none;       /* Zapobiega pojawieniu się podkreślenia */ 
53            opacity: 0.9;                /* Opcjonalny efekt lekkiego rozjaśnienia */ 
54
55 
56        /* Rozbłysk */ 
57        a.wow-btn::after { 
58            content: ""; 
59            position: absolute; 
60            top: 0; 
61            left: -100%; 
62            width: 50%; 
63            height: 100%; 
64            background: linear-gradient( 
65                    90deg, 
66                    transparent, 
67                    rgba(255, 255, 255, 0.4), 
68                    transparent 
69            ); 
70            transform: skewX(-25deg); 
71            transition: none; 
72
73 
74        a.wow-btn:hover::after { 
75            left: 150%; 
76            transition: left 0.6s ease-in-out; 
77
78    </style> 
79 
80    <link rel="stylesheet" type="text/css" href="/o/uj-lift-theme/external-library/mediaPlayer/mediaelementplayer.min.css" /> 
81 
82<#-----------Services-----------> 
83    <#assign assetVocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")/> 
84    <#assign assetEntryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/> 
85    <#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")/> 
86    <#assign assetTagService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService")/> 
87    <#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/> 
88    <#assign journalArticleResourceService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")/> 
89    <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")/> 
90    <#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")/> 
91    <#assign fileEntryServiceRemote = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryService")/> 
92    <#assign folderService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFolderLocalService")/> 
93    <#assign longGroupId = getterUtil.getLong(groupId)/> 
94 
95    <#macro flashMedia flashWidth flashHeight streamType flashUrl flashThumb flashTitle> 
96        <#if !flashThumb?has_content || flashThumb?length == 0> 
97            <#assign flashThumb = sciezkaObrazkow + "/default_thumbs/ujThemeArticleVideo-930x450.jpg"/> 
98        </#if> 
99        <#if streamtype == "vimeo"> 
100            <#assign vimeoID = flashUrl?replace("\\D", "", "r")/> 
101            <#assign autoplay = 0/> 
102            <object width="${flashWidth}" height="${flashHeight}"> 
103                <param name="allowfullscreen" value="true" /> 
104                <param name="allowscriptaccess" value="always" /> 
105                <param name="movie" value="//vimeo.com/moogaloop.swf?clip_id=${vimeoID}&amp;server=vimeo.com&amp;color=00adef&amp;fullscreen=1&amp;autoplay=${autoplay}" /> 
106                <embed src="//vimeo.com/moogaloop.swf?clip_id=${vimeoID}&amp;server=vimeo.com&amp;color=00adef&amp;fullscreen=1" 
107                       type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" flashvars="autoplay=${autoplay}" 
108                       width="${flashWidth}" height="${flashHeight}"> 
109            </object> 
110        <#-- pozostale typy--> 
111        <#else> 
112            <#assign autostart = "false"/> 
113            <#assign flashPlayerUrl = "/uj-lift-theme/swf/jarisplayer.swf"/> 
114            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
115                    codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,45,2" 
116                    width="${flashWidth}" height="${flashHeight}"> 
117 
118                <param name="allowFullscreen" value="true"> 
119                <param name="allowScriptAccess" value="always"> 
120                <param name="movie" value="${flashPlayerUrl}"> 
121                <param name="bgcolor" value="#ffffff"> 
122                <param name="quality" value="high"> 
123                <param name="scale" value="noscale"> 
124                <param name="wmode" value="opaque"> 
125                <param name="flashvars" value="source=${flashUrl}&streamtype=${streamtype}&poster=${flashThumb}&autostart=${autostart}&&hardwarescaling=false&darkcolor=000000&brightcolor=4c4c4c&controlcolor=FFFFFF&hovercolor=67A8C1&controltype=1"> 
126                <param name="seamlesstabbing" value="false"> 
127 
128                <embed 
129                        type="application/x-shockwave-flash" 
130                        pluginspage="//www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" 
131                        width="${flashWidth}" height="${flashHeight}" 
132                        src="${flashPlayerUrl}" 
133                        allowfullscreen="true" 
134                        allowscriptaccess="always" 
135                        bgcolor="#ffffff" 
136                        quality="high" 
137                        scale="noscale" 
138                        wmode="opaque" 
139                        flashvars="source=${flashUrl}&streamtype=${streamtype}&poster=${flashThumb}&autostart=${autostart}&hardwarescaling=false&darkcolor=000000&brightcolor=4c4c4c&controlcolor=FFFFFF&hovercolor=67A8C1&controltype=1" 
140                        seamlesstabbing="false" 
141
142                <noembed> 
143                </noembed> 
144                </embed> 
145            </object> 
146        </#if> <#-- end of checking streamtype--> 
147    </#macro> <#-- end of macro flashMedia--> 
148 
149    <#assign langPublishedDate = htmlUtil.escape(languageUtil.get(locale, "uj-lift-theme.published-date"))/> 
150    <#assign langModifiedDate = htmlUtil.escape(languageUtil.get(locale, "uj-lift-theme.modified-date"))/> 
151    <#assign langDownloadFiles = htmlUtil.escape(languageUtil.get(locale, "uj-lift-theme.download-files"))/> 
152    <#assign langShowPhotogallery = htmlUtil.escape(languageUtil.get(locale, "uj-lift-theme.show-photogallery"))/> 
153    <#assign langShowPhotogalleryMore = htmlUtil.escape(languageUtil.get(locale, "uj-lift-theme.show-photogallery-more"))/> 
154    <#assign langPlayAudio = htmlUtil.escape(languageUtil.get(locale, "uj-lift-theme.play-audio"))/> 
155    <#assign langPlayVideo = htmlUtil.escape(languageUtil.get(locale, "uj-lift-theme.play-video"))/> 
156    <#assign langRecommended = htmlUtil.escape(languageUtil.get(locale, "uj-lift-theme.recommended"))/> 
157 
158<#---------Article variables---------> 
159    <#assign articleId = .vars['reserved-article-id'].data/> 
160    <#assign actualVersion = .vars['reserved-article-version'].data/> 
161    <#assign article = journalArticleService.getArticle(longGroupId, articleId, getterUtil.getDouble(actualVersion))/> 
162 
163    <#assign 
164    tytulData = "" 
165    streszczenieData = "" 
166    grafikaListaData = "" 
167    naglowkiData = [] 
168    /> 
169 
170    <#if (tytul.getData())??> 
171        <#assign tytulData = tytul.getData()/> 
172        <#assign tytulData = tytulData?replace("\"", "&quot;")/> 
173    </#if> 
174    <#if (streszczenie.getData())??> 
175        <#assign streszczenieData = streszczenie.getData()/> 
176        <#assign streszczenieData = streszczenieData?replace("\"", "&quot;")/> 
177    </#if> 
178    <#if (grafikaLista.getData())??> 
179        <#assign grafikaListaData = grafikaLista.getData()/> 
180    </#if> 
181    <#if FieldsetNaglowek.getSiblings()??> 
182        <#assign naglowkiData = FieldsetNaglowek.getSiblings()/> 
183    </#if> 
184    <#if (ukryjPolecane.getData())??> 
185        <#assign ukryjPolecaneData = getterUtil.getBoolean(ukryjPolecane.getData())/> 
186    </#if> 
187<#-----------------------------------------> 
188<#-------------TRESC ARTYKUŁU--------------> 
189<#-----------------------------------------> 
190 
191    <section class="main-content" id="main-content" tabindex="-1"> 
192        <article class="article"> 
193            <#if tytulData?has_content> 
194                <div class="page-sub-heading"> 
195                    <h2 class="page-sub-heading__title">${tytulData}</h2> 
196                </div> 
197            </#if> 
198            <div class="article__content"> 
199                <#if grafikaListaData?has_content> 
200                    <img class="thumb" src="${grafikaListaData}" alt="${tytulData}"/> 
201                </#if> 
202                <#if streszczenieData?has_content> 
203                    <p class="article__description"> 
204                        ${streszczenieData} 
205                    </p> 
206                </#if> 
207                <#if naglowkiData?size gt 0> 
208                    <#list naglowkiData as naglowek> 
209                        <#if naglowek.naglowek.getData()?has_content> 
210                            <h3>${naglowek.naglowek.getData()}</h3> 
211                        </#if> 
212                        <#assign articleTresc = ""/> 
213                        <#if naglowek.tresc.getData()?has_content> 
214                            <#assign articleTresc = naglowek.tresc.getData()/> 
215                        </#if> 
216                        <#if articleTresc?has_content> 
217                            ${articleTresc} 
218                        </#if> 
219                    </#list> 
220                </#if> <#-- end of checking naglowkis' size--> 
221 
222                <#-----------------------------------------> 
223                <#-----------POBIERANIE PLIKOW-------------> 
224                <#-----------------------------------------> 
225                <#assign plikiData = []/> 
226                <#if FieldsetPlikDoPobrania.getSiblings()??> 
227                    <#assign plikiData = FieldsetPlikDoPobrania.getSiblings()/> 
228                </#if> 
229                <#assign nameOfFirstFile = plikiData[0].plikNazwa.getData()/> 
230 
231                <#if plikiData?size gt 0 && nameOfFirstFile?has_content> 
232                    <div class="article__section"> 
233                        <div class="article__section-title"> 
234                            <i class="icon icon-arrow"> 
235                            </i> 
236                            <span class="article__section-title-text">${langDownloadFiles}</span> 
237                        </div> 
238                        <#list plikiData as plik> 
239                            <#assign adresPliku = ""/> 
240                            <#assign adresPliku = plik.plikAdres.getData()/> 
241                            <#if adresPliku?has_content> 
242                                <#assign adresPlikuArray = stringUtil.split(adresPliku, "/")/> 
243                                <#assign grupaPliku = adresPlikuArray[2]/> 
244                                <#assign katalogPliku = adresPlikuArray[3]/> 
245 
246<#--                                <#assign grupaPliku = adresPliku?replace(".*documents/", "", "r")/> TODO do usuniecia jezeli po na splicie bedzie działać --> 
247<#--                                <#assign grupaPliku = grupaPliku?replace("/.*", "", "r")/>--> 
248 
249<#--                                <#assign katalogPliku = adresPliku?replace("/documents/" + grupaPliku + "/", "")/>--> 
250<#--                                <#assign katalogPliku = katalogPliku?replace("/.*", "", "r")/>--> 
251                                <#assign katalogPliku = getterUtil.getLong(katalogPliku)/> 
252                                <#assign grupaPliku = getterUtil.getLong(grupaPliku)/> 
253                                <#assign file = ""/> 
254                                <#assign fileExtension = ""/> 
255                                <#if adresPliku?contains("documents/" + grupaPliku)> 
256                                    <#assign tytulPliku = adresPlikuArray[4]/> 
257<#--                                    <#assign tytulPliku = ""/>--> 
258<#--                                    <#assign tytulPliku = adresPliku?replace("/documents/" + grupaPliku + "/" + katalogPliku + "/", "")/>&lt;#&ndash; TODO nie zadziała, rozbić na dwa? &ndash;&gt;--> 
259<#--                                    <#assign tytulPliku = tytulPliku?replace("/.*", "", "r")/>--> 
260                                    <#assign indexOf = adresPliku?last_index_of("/") + 1/> 
261                                    <#if indexOf gt 1> 
262<#--                                        <#assign uuid = adresPliku?replace("/documents/" + grupaPliku + "/" + katalogPliku + "/" + tytulPliku + "/", "")/>--> 
263<#--                                        <#assign uuid = uuid?replace("\\?.*", "", "r")/>--> 
264                                        <#assign uuid = adresPlikuArray[5]?replace("\\?.*", "", "r")/> 
265                                    </#if> 
266                                    <#if uuid?has_content && uuid?length == 36> 
267                                        <#assign file = fileEntryService.getFileEntryByUuidAndGroupId(uuid, grupaPliku)/> 
268                                    <#else> 
269                                        <#assign file = fileEntryService.getFileEntry(grupaPliku, katalogPliku, tytulPliku)/> 
270                                    </#if> 
271                                <#else> 
272                                    <#assign uuidPliku = adresPlikuArray[1]/> 
273<#--                                    <#assign uuidPliku = adresPliku?replace(".*/(.*)", "", 'r')/> &lt;#&ndash; --> 
274                                    <#assign file = fileEntryService.getDLFileEntryByUuidAndGroupId(uuidPliku, grupaPliku)/> 
275                                </#if> 
276                                <#assign fileExtension = file.getExtension()/> 
277                                <#assign fileSize = file.getSize()/> 
278 
279                                <div class="article__section-content article__section-content--download"> 
280                                    <a href="${adresPliku}" class="article__download-item"> 
281                                        <#if fileExtension?has_content && fileExtension?length gt 0> 
282                                            <div class="article__download-item-icon">${fileExtension}</div> 
283                                        </#if> 
284                                        <#if plik.plikNazwa.getData()?has_content> 
285                                            <div class="article__download-item-title">${plik.plikNazwa.getData()}</div> 
286                                        </#if> 
287                                    </a> 
288                                </div> 
289                            </#if> 
290                        </#list> 
291                    </div> 
292                </#if> 
293 
294                <#-----------------------------------------> 
295                <#----------  VIDEOGALERIA-----------------> 
296                <#-----------------------------------------> 
297                <#assign videosData = []/> 
298                <#if FieldsetMaterialWideo.getSiblings()??> 
299                    <#assign videosData = FieldsetMaterialWideo.getSiblings()/> 
300                </#if> 
301                <#assign dataOfFirstVideo = videosData[0].wideoUrl.getData()/> 
302 
303                <#if videosData?size gt 0 && dataOfFirstVideo?has_content> 
304                    <div class="article__section"> 
305                        <div class="article__section-title"> 
306                            <i class="icon icon-play"> 
307                            </i> 
308                            <span class="article__section-title-text">${langPlayVideo} </span> 
309                        </div> 
310 
311                        <#assign vidWidth = 930/> 
312                        <#assign vidHeight = 520/> 
313 
314                        <#list videosData as vid> 
315                            <#assign vidTitle = vid.wideoTytul.getData()/> 
316                            <#assign vidUrl = vid.wideoUrl.getData()/> 
317                            <#assign vidAuthor = vid.wideoAutor.getData()/> 
318                            <#if vidUrl?has_content> 
319                                <#assign vidThumb = vid.wideoMiniatura.getData()/> 
320                            <#-- sprawdzenie jakiego typu jest film--> 
321                                <#if vidUrl?ends_with(".flv")> 
322                                    <#assign streamtype = "file/"> 
323                                <#elseif vidUrl?matches(".*youtu[.]*be.*")> 
324                                    <#assign streamtype = "youtube"/> 
325                                <#elseif vidUrl?matches(".*vimeo.*")> 
326                                    <#assign streamtype = "vimeo"/> 
327                                <#else> 
328                                    <#assign streamtype = "http"/> 
329                                </#if> 
330                                <div class="article__section-content article__section-content--video"> 
331                                    <#if vidTitle?has_content && vidTitle?length gt 0> 
332                                        <h3> 
333                                            ${vidTitle} 
334                                        </h3> 
335                                        <#if vidAuthor?has_content> 
336                                            <span> 
337                                                <i>/${languageUtil.get(locale, "author")?lower_case}: ${vidAuthor}/</i> 
338                                            </span> 
339                                        </#if> 
340                                    </#if> 
341                                    <#if streamtype == "youtube"> 
342                                        <div class="video"> 
343                                            <video controls width="${vidWidth}" height="${vidHeight}" poster="${vidThumb}" style="width: 100%; height: 100%;" id="player1" preload="none"> 
344                                                <!-- Pseudo HTML5 --> 
345                                                <source type="video/youtube" src="${vidUrl}" /> 
346                                            </video> 
347                                            <span id="player1-mode"> 
348                                        </span> 
349 
350                                        </div> 
351                                    <#-- koniec class=video--> 
352                                    </#if> 
353                                    <div class="placeholder"></div> 
354                                </div> <#-- end of .article__section-content article__section-content--video--> 
355                            </#if> 
356                        </#list> <#-- end of list videos--> 
357                    </div> <#-- END OF article_section--> 
358                </#if><#-- END OF wideogalerii--> 
359 
360                <#-----------------------------------------> 
361                <#---------------AUDIOGALERIA--------------> 
362                <#-----------------------------------------> 
363                <#assign audiosData = []/> 
364                <#if FieldsetMaterialAudio.getSiblings()??> 
365                    <#assign audiosData = FieldsetMaterialAudio.getSiblings()/> 
366                </#if> 
367                <#assign dataOfFirstAudio = audiosData[0].audioTytul.getData()/> 
368 
369                <#if audiosData?size gt 0 && dataOfFirstAudio?has_content> 
370                    <div class="article__section"> 
371                        <div class="article__section-title"> 
372                            <i class="icon icon-sound"></i> 
373                            <span class="article__section-title-text">${langPlayAudio}</span> 
374                        </div> 
375                        <#assign audWidth = 930/> 
376                        <#assign audHeight = 40/> 
377                        <#list audiosData as aud> 
378                        <#assign audTitle = aud.audioTytul.getData()/> 
379                        <#if audTitle?has_content> 
380                        <#assign audThumb = aud.audioMiniatura.getData()/> 
381                        <#assign audUrl = aud.audioUrl.getData()/> 
382                        <#assign audAuthor = aud.audioAutor.getData()/> 
383                        <#assign streamType = "http"/> 
384                        <div class="article__section-content article__section-content--audio"> 
385                            <#-- obsluga vimeo--> 
386                            <#if audTitle?has_content> 
387                                <h4>${audTitle}</h4> 
388                            </#if> 
389 
390                            <audio controls="true"> 
391                                <source src="${audUrl}" type="audio/mp3" /> 
392                                <@flashMedia flashWidth=audWidth flashHeight=audHeight streamType=streamType flashUrl=audUrl flashThumb=audThumb flashTitle=audTitle/> 
393                            </audio> 
394                            <div class="placeholder"></div> 
395                            </#if> 
396                            </#list> <#-- koniec list--> 
397                        </div> <#-- end of div.article__section-content article__section-content--audio--> 
398                    </div> <#-- end of article__section--> 
399                </#if>  <#-- end of audios--> 
400            </div> <#-- END OF article__content--> 
401 
402            <#assign folderyData = []/> 
403            <#if FieldsetGaleria.getSiblings()??> 
404                <#assign folderyData = FieldsetGaleria.getSiblings()/> 
405            </#if> 
406 
407            <#assign galleryCount = 1/> 
408            <#list folderyData as folder> 
409                <#assign sciezka = folder.folderGalerii.getData()/> 
410                <#if sciezka?has_content> 
411                    <#assign autorGalerii = folder.autorGalerii.getData()/> 
412                    <#assign opisGalerii = folder.opisGalerii.getData()/> 
413                    <#assign sciezka = sciezka?split("/")/> 
414                    <#assign folderId = getterUtil.getLong("0")/> 
415                    <#assign poprzedniFolderId = folderId/> 
416                    <#assign niepoprawnaSciezka = false/> 
417                    <#list sciezka as nazwa> 
418                        <#attempt> 
419                            <#assign folderId = folderService.getFolder(longGroupId, folderId, nazwa).getFolderId() /> 
420                            <#recover> 
421                            <#-- folder nie istnieje, pomijamy --> 
422                                <#assign folderId = 0 /> 
423                        </#attempt> 
424                        <#if poprzedniFolderId == folderId> 
425                            <#assign niepoprawnaSciezka = true/> 
426                            <#break> 
427                        </#if> 
428                        <#assign poprzedniFolderId = folderId/> 
429                    </#list> 
430                    <#if niepoprawnaSciezka == true> 
431                    <#-- Sciezka do folderu '${folder.data}' JEST NIEPOPRAWNA lub NIE ISTNIEJE --> 
432                    <#else> 
433                    <#-- WorkflowConstants.STATUS_IN_TRASH = 8 - exclude--> 
434                        <#assign obrazki = ""/> 
435                    <#--                        <#assign filesOrderBy = OrderByComparatorFactoryUtil.create("DLFileEntry", ["title", true])/>--> 
436                        <#assign obrazki = fileEntryService.getFileEntries(longGroupId, folderId, 0, 0, 50, filesOrderBy)?sort_by('title')/> <#-- TODO sprawdzić czy działa sortowanie--> 
437                        <#assign iloscObrazkow = obrazki?size/> 
438                    </#if> 
439                </#if> 
440 
441                <#if obrazki?has_content && iloscObrazkow?has_content && iloscObrazkow gt 0> 
442                    <#assign wysokoscBoku = 200/> 
443                    <div class="article__section"> 
444                        <div class="article__section-title"> 
445                            <i class="icon icon-camera"> 
446                            </i> 
447                            <span class="article__section-title-text">${langShowPhotogallery}<#if folderyData?size gt 1>(${galleryCount})</#if> 
448                            </span> 
449                        </div> 
450 
451                        <#-- PHOTOGALLERY FOR WIDTH < 470--> 
452                        <div id="article__gallery-items-justified-mobile" class="hidden"> 
453                            <#assign counter = 0/> 
454                            <#list obrazki as fileEntry> 
455                                <#assign counter = counter + 1/> 
456                                <#assign tytul = ""/> 
457                                <#assign fotka = "/image/image_gallery?uuid=" + fileEntry.getUuid() + "&groupId=" + longGroupId/> 
458                                <#assign miniatura = fotka + "&width=470&suffix=s"/> <#-- dla komórek--> 
459                                <#assign obrazek = "/documents/" + fileEntry.getGroupId() + "/" + fileEntry.getFolderId() + "/" + fileEntry.getTitle()/> 
460                                <img class="jsGalleryItem  <#if counter gt 1> hidden </#if>" src="${miniatura}" 
461                                    <#if currentLanguageId == "pl_PL"> 
462                                        alt="Zdjęcie nr ${counter} (${iloscObrazkow}) 
463                                    <#else> 
464                                        alt="Photo no. ${counter} (${iloscObrazkow}) 
465                                    </#if> 
466                                    <#if fileEntry.getDescription()?has_content> 
467                                        ${fileEntry.getDescription()} 
468                                    <#elseif autorGalerii?has_content> 
469                                        <#if currentLanguageId == "pl_PL">fot.<#else> by </#if>${autorGalerii} 
470                                    </#if> 
471                                    "> 
472                            </#list> 
473                            <div id="addImgs" class="added-block jsGalleryShowMore"> 
474                                <span>${langShowPhotogalleryMore}</span> 
475                            </div> 
476                        </div> 
477 
478                        <#-- PHOTOGALLERY FOR WIDTH >= 470--> 
479                        <div id="article__gallery-items-justified" class="hidden"> 
480                            <#assign counter = 0/> 
481                            <#list obrazki as fileEntry> 
482                                <#assign counter = counter + 1/> 
483                                <#assign tytul = ""/> 
484                                <#assign fotka = "/image/image_gallery?uuid=" + fileEntry.getUuid() + "&groupId=" + longGroupId/> 
485                                <#assign miniatura = fotka + "&height=" + wysokoscBoku + "&suffix=s"/> 
486                                <#assign obrazek = "/documents/" + fileEntry.getGroupId() + "/" + fileEntry.getFolderId() + "/" + fileEntry.getFileName()/> 
487                                <a href="${obrazek}" class="jsGalleryItem" 
488                                   title="	<#if fileEntry.getDescription()?has_content> 
489                                                ${fileEntry.getDescription()} 
490                                            <#elseif opisGalerii?length gt 0> 
491                                                ${opisGalerii} 
492                                            </#if>" 
493                                   rel="gallery${galleryCount}"  data-fancybox="images"> 
494                                    <img src="${miniatura}" 
495                                        <#if currentLanguageId == "pl_PL"> alt="Zdjęcie nr ${counter} (${iloscObrazkow}) 
496                                        <#else>  alt="Photo no. ${counter} (${iloscObrazkow}) 
497                                        </#if> 
498                                        <#if autorGalerii?has_content> 
499                                         <#if currentLanguageId == "pl_PL">fot.<#else> by</#if> ${autorGalerii} 
500                                    </#if>"> 
501                                </a> 
502 
503                            </#list> 
504                        </div> 
505 
506                    </div> <#-- end of .article__section--> 
507                </#if> 
508                <#assign galleryCount = galleryCount + 1/> 
509            </#list> <#-- koniec iteracji po folderach--> 
510 
511            <#-------------------------------------------------------------------> 
512            <#--------tags and categories from the current journalArticle--------> 
513            <#-------------------------------------------------------------------> 
514            <#assign article = journalArticleService.getArticle(longGroupId, articleId)/> 
515            <#assign artPrimKey = article.getResourcePrimKey()/> 
516            <#assign model = "com.liferay.journal.model.JournalArticle"/> 
517            <#assign asset = assetEntryService.getEntry(model, artPrimKey)/> 
518            <#assign categories = assetCategoryService.getCategories(model, getterUtil.getLong(asset.getClassPK()))/> 
519            <#assign tags = assetTagService.getTags(model, getterUtil.getLong(asset.getClassPK()))> 
520            <#assign portalUrl = themeDisplay.getPortalURL()/> 
521 
522            <#---------- sprawdzenie czy strona z agregatorem istnieje --------> 
523            <#assign adresyStron = ["/lista", "/aktualnosci", "/wiadomosci", "/list", "/news", "/articles", "/testy/aktualnosci"]/> 
524            <#assign aggregatorLayout = ""/> 
525 
526            <#list adresyStron as adresStrony> 
527<#--                <#assign checkedLayout = layoutService.fetchFriendlyURLLayout(longGroupId, false, adresStrony)/>--> 
528 
529                <#if layoutService.fetchLayoutByFriendlyURL(longGroupId, false, adresStrony)??> 
530                    <#assign aggregatorLayout = layoutService.fetchLayoutByFriendlyURL(longGroupId, false, adresStrony)/> 
531                </#if> 
532 
533 
534                <#if aggregatorLayout?has_content && aggregatorLayout.getPlid()?has_content> 
535                    <#break> 
536                </#if> 
537            </#list> 
538 
539            <#if aggregatorLayout?has_content && aggregatorLayout.getPlid()?has_content> 
540                <#assign aggregatorFriendlyUrl = aggregatorLayout.getFriendlyURL()/> 
541                <#if currentRenderUrl?has_content && currentRenderUrl?contains("web/")> 
542                    <#assign vhostAndFriendlyUrl = themeDisplay.getURLCurrent()?replace('(/web/.*?)[\\/\\?].*', '$1', 'r') /> 
543                    <#assign aggregatorFriendlyUrl = vhostAndFriendlyUrl + aggregatorFriendlyUrl/> 
544                </#if> <#-- of contains 'web/'--> 
545                <#assign adresListyAktualnosci = portalUrl + aggregatorFriendlyUrl /> 
546 
547<#--                <#if longGroupIdFromRequest == longGroupId && adresListyAktualnosci?length gt 0 && (tags?size gt 1 || (tags?size == 1 && tags[0].getName() != "polska"))>--> 
548<#--                    <div class="article__tags">--> 
549<#--                        ${languageUtil.get(locale, "tags")}:--> 
550<#--                        <ul class="article__tags-list">--> 
551<#--                            <#list tags as tag>--> 
552<#--                                <#if tag.getName() != "polska">--> 
553<#--                                    <li>--> 
554<#--                                        <a href="${httpComponentsUtil.addParameter(adresListyAktualnosci, "tagId", tag.getTagId())}">${tag.getName()}</a><#if tags?seq_index_of(tag) + 1 != tags?size>,&nbsp;</#if>--> 
555<#--                                    </li>--> 
556<#--                                </#if>--> 
557<#--                            </#list>--> 
558<#--                        </ul>--> 
559<#--                    </div>--> 
560<#--                 </#if>  end of checking tags' size--> 
561            </#if> <#-- end of checking whether aggregatorLayout exists--> 
562 
563            <#assign dataWyswietlana = dataWyswietlana.getData()/> 
564            <#assign autorWyswietlany = autorWyswietlany.getData()/> 
565 
566            <#assign timeZone = timeZoneUtil.getTimeZone("Europe/Warsaw")/> 
567            <#if dataWyswietlana?has_content && dataWyswietlana != "brak" || autorWyswietlany?has_content && autorWyswietlany != "brak"> 
568            <div class="article__date"> 
569                </#if> 
570                <#if !dataWyswietlana?has_content || dataWyswietlana == "brak"> 
571                <#else> 
572                    <#if dataWyswietlana == "data_publikacji"> 
573                        ${langPublishedDate} ${dateUtil.getDate(article.getDisplayDate(), "dd/MM/yyyy", locale, timeZone)} 
574                    <#elseif dataWyswietlana == "data_modyfikacji"> 
575                        ${langModifiedDate} ${dateUtil.getDate(article.getModifiedDate(), "dd/MM/yyyy", locale, timeZone)} 
576                    </#if> 
577                </#if><#-- of checking if data wyswietlana--> 
578                <#if !autorWyswietlany?has_content || autorWyswietlany == "brak"> 
579                <#else> 
580                    <#if autorWyswietlany == "osoba_publikujaca"> 
581                        <#assign oldestArticle = journalArticleService.getArticle(longGroupId, articleId,  getterUtil.getDouble(1))/> 
582                        <#if dataWyswietlana?has_content && dataWyswietlana != "brak">-</#if> 
583                        ${oldestArticle.getUserName()} 
584                    <#elseif autorWyswietlany == "osoba_modyfikujaca"> 
585                        <#if dataWyswietlana?has_content && dataWyswietlana != "brak">-</#if> 
586                        ${article.getStatusByUserName()} 
587                    </#if> 
588                </#if> <#-- of checking if datawyswietlana--> 
589                <#if dataWyswietlana?has_content && dataWyswietlana != "brak" || autorWyswietlany?has_content && autorWyswietlany != "brak"> 
590            </div> 
591            </#if> 
592 
593            <#---------------------------------------------------------------------------------------------------------------> 
594            <#--------list of journalArticles' thumbs selected on the basis of tags used in the active journalArticle--------> 
595            <#---------------------------------------------------------------------------------------------------------------> 
596            <#if aggregatorLayout?has_content && aggregatorLayout.getPlid()?has_content> 
597                <#if !ukryjPolecaneData> 
598                    <#assign emptyNames = []/> 
599                    <#assign emptyIds = []/> 
600                <#-- wyekstrahować skrócone friendly-url z bieżacej strony!!!!--> 
601                    <#assign currentPlid = themeDisplay.getPlid()/> 
602                    <#assign currentLayout = layoutService.getLayout(currentPlid)/> 
603                    <#assign currentFriendlyUrl = currentLayout.getFriendlyURL()/> 
604                    <#assign aggregatorLayoutType = aggregatorLayout.getLayoutType()/> 
605                    <#assign portletsInRightColumn = aggregatorLayoutType.getAllPortlets("column-3")/> 
606 
607                    <#if portletsInRightColumn?has_content && portletsInRightColumn?size gt 0> 
608                        <#assign aggregatorPortletId = portletsInRightColumn[0].getPortletId()/> 
609                    <#else> 
610                        <span class="alert alert-warn">Błąd w kompozycji strony docelowej dla modułu "Polecamy również". 
611                           Prosimy zgłosić ten problem <a href="mailto:${.vars['reserved-article-author-email-address'].data}?subject=Zgloszenie%20bledu%20na%20stronie&bcc=portal@uj.edu.pl&body=Prosze%20poprawic%20modul%20'Polecamy%20równiez'%20przypisany%20do%20articleId:${articleId},%20groupId:${groupId}%20Bład%20kompozycji%20strony:%20${adresListyAktualnosci}">osobie publikującej</a> 
612                        </span> 
613                    </#if> 
614 
615                    <#if aggregatorPortletId?has_content && aggregatorPortletId?length gt 0 && (categories?has_content && categories?size gt 1)> 
616                     <#-- ---- Tag -----> 
617                        <#assign tagNames = emptyNames/> 
618                        <#assign omitTagNames = emptyNames/> 
619                        <#assign articleTagIds = ujCustomAssetHelper.getTagIds(longGroupId, tagNames)/> 
620                        <#assign omitTagIds = getterUtil.getLongValues([])/> 
621                        <#-- ---- Category -----> 
622                        <#assign categoryNames = emptyNames/> 
623                        <#assign omitCategoryNames = emptyNames/> 
624                        <#list categories as category> 
625                            <#assign categoryNames = categoryNames + [category.getName()]/> 
626                        </#list> 
627 
628                        <#assign articleCategoryIds = ujCustomAssetHelper.getCategoryIds(longGroupId, categoryNames)/> 
629                        <#assign omitCategoryIds = getterUtil.getLongValues([])/> 
630 
631                        <#-- Articles list--> 
632                        <#assign articleType = ujCustomAssetHelper.getArticleType(asset) /> 
633                        <#assign assetsCount = ujCustomAssetHelper.getAssetsFromGroupCount(longGroupId, articleType, articleCategoryIds, omitCategoryIds, articleTagIds, omitTagIds, null, null, null, null, .now?date)/> 
634 
635                        <#if assetsCount gt 1> 
636                            <#assign indeksPoczatkowy = 0/> 
637                            <#assign indeksKoncowy = 5/> 
638 
639                            <#assign assets = ujCustomAssetHelper.getAssetsFromGroup(longGroupId, articleType, articleCategoryIds, omitCategoryIds, articleTagIds, omitTagIds, "publishDate", "title", "DESC", "ASC", null, null, null, null, .now?date, indeksPoczatkowy, indeksKoncowy)/> 
640 
641                            <div class="article__section-title"> 
642                                <span class="article__section-title-text">${langRecommended}</span> 
643                            </div> 
644 
645                            <div class="article__related-posts"> 
646                                <#assign count = 0/> 
647 
648                                <#list assets as a> 
649                                    <#if count lt 4> 
650                                        <#assign art = ""/> 
651                                        <#assign artId = ""/> 
652                                        <#assign artTitle = ""/> 
653                                        <#assign artPublishDate = ""/> 
654                                        <#assign artDescription = ""/> 
655                                        <#assign artImgUrl = ""/> 
656 
657                                        <#assign artResource = journalArticleResourceService.getArticleResource(a.getClassPK())/> 
658                                        <#assign artId = artResource.getArticleId() /> 
659                                        <#assign art = journalArticleService.getArticle(artResource.getGroupId(), artId) /> 
660                                        <#assign artStructureValue = ujJournalArticleHelper.getFormValues(art, portletRequest) /> 
661 
662                                        <#if artId != article.getArticleId()> <#-- when journalsArticles' list contains active Article --> 
663                                            <#assign count = count + 1 /> 
664                                            <#if !artStructureValue["tytul"]??> 
665                                                <#assign artTitle = art.getTitle() /> 
666                                            <#else> 
667                                                <#assign artTitle = artStructureValue["tytul"] /> 
668 
669                                            </#if> 
670                                            <#assign artTitle = artTitle?replace("\\\"", "&quot;", "r") /> <#-- TODO sprawdzic czy działa replace --> 
671 
672                                            <#assign imgDescription = "" /> 
673                                            <#if !artStructureValue["grafikaLista"]?? || !artStructureValue["grafikaLista"]?has_content || artStructureValue["grafikaLista"] == "{}"> 
674                                                <#assign imgUrl = sciezkaObrazkow + "/default_thumbs/ujThemeArticleList-300x230.jpg" /> 
675                                            <#else> 
676<#--                                                <#assign imgDescription = ujDocumentLibraryHelper.getFileEntry(artStructureValue["grafikaLista"]).getDescription() />--> 
677                                                <#assign imgUrl = ujDocumentLibraryHelper.getFileEntryDownloadURL(artStructureValue["grafikaLista"]) /> 
678                                            </#if> 
679 
680                                            <#assign adres = adresListyAktualnosci + "/-/journal_content/" + aggregatorPortletId + "/" + longGroupId + "/" + artId > 
681                                            <a href="${adres}" title="${artTitle}" class="article__related-post"> 
682                                                <div class="article__related-post-image"> 
683                                                    <img src="${imgUrl}" alt="<#if imgDescription?has_content>${imgDescription}<#else>${artTitle}</#if>"> 
684                                                </div> 
685                                                <div class="article__related-post-text"> 
686                                                    ${artTitle} 
687                                                </div> 
688                                            </a> 
689                                        </#if> <#-- end of checking duplicated --> 
690                                    </#if> <#-- end of checking if < 4--> 
691                                </#list> <#-- end of list assets--> 
692                            </div> <#-- end of div.article__related-posts--> 
693                        </#if> <#-- end of  checking if related articles exist--> 
694                    </#if> <#-- end of checking if tags and categories exists in actual article--> 
695                </#if> <#-- end of checking if 'ukryj-polecane' is hidden--> 
696            </#if> <#-- end of checking if correct aggregatorLayout exist--> 
697        </article> 
698    </section> 
699 
700<#-- scripts--> 
701    <script type="text/javascript" src="/o/uj-lift-theme/js/vendors/jquery.justifiedGallery.min.js"></script> 
702 
703    <script type="text/javascript"> 
704 
705        jQuery(document).ready(function() { // runs after DOM has loaded 
706 
707            var vid_w = jQuery(window).width(); 
708 
709            /* photogallery */ 
710 
711            var gallery = jQuery("div#article__gallery-items-justified"); 
712            var galleryMobile = jQuery("div#article__gallery-items-justified-mobile"); 
713 
714 
715            if (vid_w>470) { 
716                gallery.removeClass("hidden"); 
717
718            else { 
719                galleryMobile.removeClass('hidden'); 
720
721 
722            gallery.justifiedGallery({ 
723                lastRow:'nojustify', 
724                rowHeight: 140, 
725                margins: 4, 
726                justifyThreshold: 0.75, 
727                imagesAnimationDuration: 300, 
728                sizeRangeSuffixes: { 
729                    lt100 : '_t', 
730                    lt240 : '_m', 
731                    lt320 : '_n', 
732                    lt500 : '', 
733                    lt640 : '_z', 
734                    lt1024 : '_b' 
735                }, 
736                captions: true, 
737                cssAnimation: false, 
738                captionSettings: { 
739                    animationDuration: 500, 
740                    visibleOpacity: 0.7, 
741                    nonVisibleOpacity: 0.0 
742
743            }); 
744 
745 
746 
747            gallery.on('jg.complete', function (e) { 
748 
749                jQuery('a.jsGalleryItem').fancybox({ 
750 
751                    padding: 10, 
752                    margin: 20, 
753                    groupAttr: 'data-rel', 
754                    beforeShow: function() { 
755 
756                        var title = this.element.attr('title'); 
757                        var alt = this.element.find('img').attr('alt'); 
758 
759                        if(title.length>1 && alt.length>1) {this.title = '<span class="image-alt">' + alt + '</span>' + '<span class="gallery-title">' + title + '</span>';	} 
760                        else if(title.length>1) {this.title = '<span class="gallery-title-solo">' + title + '</span>';  } 
761                        else if(alt.length>1) {this.title = '<span class="image-alt-solo">' + alt + '</span>'; } 
762                        else this.title = ''; 
763                    }, 
764 
765                    tpl: { 
766                        closeBtn: '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"><span><#if currentLanguageId=="pl_PL">Zamknij<#else> Close</#if></span></a>' 
767
768 
769                }); 
770 
771            }); 
772 
773            jQuery('#addImgs').on('click', function () { 
774                jQuery("#article__gallery-items-justified-mobile img.jsGalleryItem").removeClass('hidden'); 
775                jQuery(this).hide(); 
776 
777            }); 
778 
779 
780            /* end of photogallery */ 
781 
782 
783            /* checking whether browser enables html5 video */ 
784            if (Modernizr.video) { 
785 
786                console.clear(); 
787                videos = document.querySelectorAll("video"); 
788                for (var i = 0, l = videos.length; i < l; i++) { 
789                    var video = videos[i]; 
790                    var src = video.src || (function () { 
791                        var sources = video.querySelectorAll("source"); 
792                        for (var j = 0, sl = sources.length; j < sl; j++) { 
793                            var source = sources[j]; 
794                            var type = source.type; 
795                            var isMp4 = type.indexOf("mp4") != -1; 
796                            if (isMp4) return source.src; 
797
798                        return null; 
799                    })(); 
800                    if (src) { 
801                        var isYoutube = src && src.match(/(?:youtu|youtube)(?:\.com|\.be)\/([\w\W]+)/i); 
802                        if (isYoutube) { 
803                            var id = isYoutube[1].match(/watch\?v=|[\w\W]+/gi); 
804                            id = (id.length > 1) ? id.splice(1) : id; 
805                            id = id.toString(); 
806                            var mp4url = "//www.youtubeinmp4.com/redirect.php?video="; 
807                            video.src = mp4url + id; 
808
809
810
811 
812                var allHtmlVideos = jQuery('video'); 
813 
814                allHtmlVideos.each(function() { 
815 
816                    /* enabled video html5 on android*/ 
817                    jQuery(this).click(function(){ 
818                        jQuery(this).play(); 
819                    },false); 
820 
821 
822                    scale = this.height / this.width; 
823 
824                    /* RWD video player width */ 
825                    jQuery(this) 
826                        // jQuery .data does not work on object/embed elements 
827                        .attr('data-aspectRatio', scale) 
828                        .attr('w_orig', this.width) 
829                        .attr('h_orig', this.height) 
830 
831                    // First time scale - fit to viewports 
832                    if (vid_w < 960){ 
833                        jQuery(this).width(vid_w - 40); 
834                        jQuery(this).height((vid_w - 40) * scale); 
835
836                    else if (vid_w > 960 && vid_w < 1170){ 
837                        jQuery(this).width(0.75*vid_w - 40); 
838                        jQuery(this).height((0.75*vid_w - 40) * scale); 
839
840 
841                }); 
842 
843 
844                var allHtmlAudios = jQuery('audio'); 
845 
846                allHtmlAudios.each(function() { 
847 
848                    jQuery(this) 
849                        // jQuery .data does not work on object/embed elements 
850                        .attr('w_orig', 930) 
851 
852                    // html5video scaling fit to viewports 
853                    if (vid_w < 960){ 
854                        jQuery(this).width(vid_w - 40); 
855
856                    else if (vid_w > 960 && vid_w < 1170){ 
857                        jQuery(this).width(0.75*vid_w - 40); 
858
859                    else if (vid_w > 1170){ 
860                        jQuery(this).width(930); 
861
862 
863 
864                }); 
865 
866 
867
868            // end of checkinf if Modernizr.video 
869 
870 
871 
872            /* RWD flash video - now for everyvideo  */ 
873 
874            var allFlashVideos = jQuery("object, embed"); 
875 
876            allFlashVideos.each(function() { 
877 
878                scale = this.height / this.width; 
879 
880                jQuery(this) 
881                    // jQuery .data does not work on object/embed elements 
882                    .attr('data-aspectRatio', scale) 
883                    .attr('w_orig', this.width) 
884                    .attr('h_orig', this.height) 
885                    .removeAttr('height') 
886                    .removeAttr('width'); 
887 
888                // First time scale - fit to viewports 
889                if (vid_w < 960){ 
890                    jQuery(this).width(vid_w - 40); 
891                    jQuery(this).height((vid_w - 40) * scale); 
892
893                else if (vid_w > 960 && vid_w < 1170){ 
894                    jQuery(this).width(0.75*vid_w - 40); 
895                    jQuery(this).height((0.75*vid_w - 40) * scale); 
896
897                else if (vid_w > 1170){ 
898                    jQuery(this).width(jQuery(this).attr('w_orig')); 
899                    jQuery(this).height(jQuery(this).attr('h_orig')); 
900
901 
902            }); 
903 
904 
905            // scale when resize - fit to viewports 
906            jQuery(window).resize(function () { 
907 
908                /* css clearing style when user resize */ 
909                if(this.resizeSTYLE) clearTimeout(this.resizeSTYLE); 
910                jQuery('body').addClass('resizing'); 
911                this.resizeSTYLE = setTimeout(function() { 
912                    jQuery('body').removeClass('resizing'); 
913                },520); // delay 
914 
915                if (Modernizr.video){ 
916                    resizeToCover('htmlVideo', allHtmlVideos); 
917                    resizeToCover('htmlAudio', allHtmlAudios); 
918
919 
920                resizeToCover('flashVideo', allFlashVideos); 
921            }); 
922 
923 
924            function resizeToCover(mediaType, allElements) { 
925 
926                vid_w = jQuery(window).width(); 
927 
928                // html5 video scaling fit to viewports 
929                allElements.each(function() { 
930                    var el = jQuery(this); 
931                    var elPlaceholder = jQuery(this).parent().find('.placeholder'); 
932                    var w, h; 
933 
934                    // html5video scaling fit to viewports 
935                    if (vid_w < 960){ 
936                        w = vid_w - 40; 
937                        h = (vid_w - 40) * el.attr('data-aspectRatio'); 
938
939                    else if (vid_w > 960 && vid_w < 1170){ 
940                        w = 0.75 * vid_w - 40; 
941                        h = (0.75 * vid_w - 40) * el.attr('data-aspectRatio'); 
942
943                    else if (vid_w > 1170){ 
944                        w = el.attr('w_orig'); 
945                        h= el.attr('h_orig'); 
946
947 
948                    el.width(w); 
949                    el.height(h); 
950                    elPlaceholder.width(w); 
951                    elPlaceholder.height(h); 
952                }); 
953            } // end of function resizeToCover 
954        }); 
955 
956    </script> 
957 
958    <script type="text/javascript" src="/o/uj-lift-theme/external-library/mediaPlayer/mediaelement-and-player.min.js"></script> 
959 
960    <script> 
961        jQuery('video').mediaelementplayer({ 
962            success: function(media, node, player) { 
963                jQuery('#' + node.id + '-mode').html('mode: ' + media.pluginType); 
964
965        }); 
966    </script> 
967<#else> 
968    <#if permissionChecker.getUserId() gt 100000> 
969        <p>Ten szablon przeznaczony jest tylko dla dedykowanej skórki UJ</p> 
970    </#if> 
971</#if>