Das kleine Feldberglexikon - Naturschutzzentrum Südschwarzwald
Fehler bei der Verarbeitung der Vorlage.
Java method "com.sun.proxy.$Proxy133.getFileEntryByUuidAndGroupId(String, long)" threw an exception when invoked on com.sun.proxy.$Proxy133 object "com.liferay.portlet.documentlibrary.service.impl.DLAppServiceImpl@47c3ad54"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign Datei = DLAppServiceUtil.getF... [in template "20116#20152#33580" in macro "createImageTag" at line 290, column 5] - Reached through: @createImageTag imageUrl="${cur_image... [in template "20116#20152#33580" in macro "imageTextSlider" at line 235, column 25] - Reached through: @imageTextSlider [in template "20116#20152#33580" at line 33, column 13] ----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
2<#assign groupService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
3<#assign umTemplateService = serviceLocator.findService("de.xdot.um.template.UmTemplateService") />
4
5<#assign groupObj = groupService.getGroup(groupId) />
6<#assign groupName = groupObj.getDescriptiveName(locale) />
7
8<#assign layoutSet = groupObj.getPublicLayoutSet() />
9<#assign hostname = layoutSet.getVirtualHostname()/>
10
11<div class="print-header">
12${groupName} - https://${hostname}
13</div>
14
15
16<div class="artikel">
17
18<#if Spitzmarke.getData()!="">
19 <h2 class="spitzmarke">${Spitzmarke.getData()}</h2>
20</#if>
21
22
23 <div class="green-line"></div>
24
25
26 <h1 class="h1--large">${Ueberschrift.getData()}</h1>
27
28<#if BildMitBildunterschrift??>
29
30 <#if BildMitBildunterschrift.getSiblings()?has_content>
31
32 <#if (BildMitBildunterschrift.getSiblings()?size>1)>
33 <@imageTextSlider/>
34 <#else>
35
36 <#list BildMitBildunterschrift.getSiblings() as cur_Bild>
37 <#if cur_Bild.Bild.getData()?has_content>
38 <div class="teaser-image no-carousel">
39 <@createImageTag imageUrl="${cur_Bild.Bild.getData()}" bildunterschrift="${cur_Bild.Bildunterschrift.getData()}"/>
40 </div>
41 </#if>
42 </#list>
43
44 </#if>
45
46 </#if>
47</#if>
48
49
50 <div class="teaser-content">
51 <#assign content = umTemplateService.addCopyright(Inhalt.data, locale) />
52 <#assign content = umTemplateService.removeUuidFromDownloadUrls(content, locale) />
53
54 ${content}
55
56 <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
57
58 <#if (WeitereInformationen.getSiblings()?has_content) &&
59 (WeitereInformationen.getSiblings()?size>0) &&
60 ((WeitereInformationen.getSiblings()[0].Linktext.getData()?has_content) ||
61 (WeitereInformationen.getSiblings()[0].InternerLink.getFriendlyUrl()?has_content)) ||
62 ( (WeitereInformationen.getSiblings()[0].article?? && WeitereInformationen.getSiblings()[0].article.data?has_content) )>
63
64 <h2 class="h2">Weitere Informationen</h2>
65
66 <#assign weitereInformationenListe=WeitereInformationen.getSiblings()/>
67
68 <#list weitereInformationenListe as cur_WeitereInformationen>
69
70 <#assign tlink=""/>
71
72 <#-- if internal link, use page name as default link text -->
73 <#if (cur_WeitereInformationen.InternerLink??) &&
74 (cur_WeitereInformationen.InternerLink.getFriendlyUrl()?has_content)>
75
76 <#assign tlink = cur_WeitereInformationen.InternerLink.getFriendlyUrl()>
77
78 <#-- always use relative URL -->
79 <#if tlink?starts_with("http")>
80 <#assign tlink = "/"+tlink?split("/")[3]>
81 </#if>
82
83 <#-- page might have been deleted -->
84 <#assign tlink_text="">
85
86
87 <#if (layoutService.fetchLayoutByFriendlyURL( getterUtil.getLong(groupId), getterUtil.getBoolean(false), tlink)??)>
88
89 <#assign layout = layoutService.fetchLayoutByFriendlyURL( getterUtil.getLong(groupId), getterUtil.getBoolean(false), tlink) />
90
91 <#assign tlink_text = layout.getName(locale)/>
92
93 </#if>
94
95 </#if>
96
97
98 <#assign linktarget="">
99
100 <#if ! tlink?has_content>
101 <#assign tlink = cur_WeitereInformationen.ExternerLink.getData()>
102 <#assign linktarget="_blank">
103 </#if>
104
105 <#if ! tlink?has_content>
106 <#if (cur_WeitereInformationen.article?? && cur_WeitereInformationen.article.data?has_content)>
107 <#assign
108 entryInfo = cur_WeitereInformationen.article.data?eval
109 entryClassPK = getterUtil.getLong(entryInfo.classPK)
110 article = journalArticleLocalService.fetchLatestArticle(entryClassPK)
111 tlink = "/-/" + article.urlTitle
112 linktarget = ""
113 tlink_text = article.getTitle(locale)
114 />
115 </#if>
116 </#if>
117
118 <#-- overwrite linktext, if editor has set it manually -->
119 <#if (cur_WeitereInformationen.Linktext.getData()?has_content)>
120 <#assign tlink_text = cur_WeitereInformationen.Linktext.getData()>
121 </#if>
122
123 <div class="weiterer-link">
124
125 <a class="mehr-link" href="${tlink}" target="${linktarget}" alt="${tlink_text}"
126 title="${tlink_text}">${tlink_text}</a>
127
128 </div>
129
130
131 </#list>
132
133
134 </#if>
135
136 <#if ZumHerunterladen??>
137
138 <#if (ZumHerunterladen.PdfDatei.getSiblings()?has_content) &&
139 (ZumHerunterladen.PdfDatei.getSiblings()?size>0) &&
140 (ZumHerunterladen.PdfDatei.getSiblings()[0].getData()?has_content)>
141
142
143
144 <h2>Zum Herunterladen</h2>
145
146 <#list ZumHerunterladen.PdfDatei.getSiblings() as cur_Datei>
147 <#if cur_Datei.getData()?has_content>
148
149 <#assign fileUrl = getterUtil.getString(cur_Datei.getData())>
150 <#assign fileUid = stringUtil.extractLast(fileUrl, "/")>
151
152 <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")>
153 <#assign Datei = DLAppServiceUtil.getFileEntryByUuidAndGroupId(fileUid,groupId)>
154
155 <#assign downloadURL = fileUrl?substring(0, fileUrl?last_index_of("/")) />
156 <#assign downloadURL = downloadURL?substring(0, downloadURL?last_index_of("/")) />
157 <#assign downloadURL = downloadURL + "/" + htmlUtil.escapeURL(Datei.getTitle()) />
158
159 <#if (Datei.getDescription()?has_content)>
160 <#assign dateiText=Datei.getDescription()>
161 <#else>
162 <#assign dateiText=Datei.getTitle()>
163 </#if>
164
165 <#-- Add the filesize to linktext -->
166 <#if Datei??>
167 <#assign fileSize = ((Datei.getSize()/1024)?round)/>
168 <#assign unit="KB"/>
169
170 <#if (fileSize > 1000) >
171 <#setting locale="de_DE">
172 <#assign fileSize = (fileSize / 1024)?string["0.#"]/>
173 <#assign unit="MB"/>
174 </#if>
175
176 <#assign dateiGroesse="["+fileSize+" "+unit+ getAccessibilityInformation(fileUid,groupId) + "]"/>
177 <#assign dateiText+= " " + dateiGroesse>
178 </#if>
179
180 <div class="weiterer-link">
181 <a href="${downloadURL}" target="_blank" alt="${dateiText}"
182 title="${dateiText}">${dateiText}</a><br/>
183 </div>
184
185 </#if>
186 </#list>
187 </#if>
188
189 </#if>
190
191
192 </div>
193
194</div>
195
196
197
198
199<#-- image text slider -->
200
201
202
203
204<#macro imageTextSlider>
205
206
207<section class="carousel-container slider-articlepage">
208 <div class="carousel slide carousel-fade" data-ride="carousel" id="carousel">
209 <div class="indicators-wrapper">
210 <button class="ctrlTogglePlay playing"> </button>
211 <ol class="carousel-indicators">
212 <#list BildMitBildunterschrift.getSiblings() as cur_images>
213 <li class="${(cur_images?counter == 1)?then('active', '')}"
214 data-slide-to="${(cur_images?counter == 1)?then(0, (cur_images?counter - 1))}"
215 data-target='#carousel'></li>
216 </#list>
217 </ol>
218 </div>
219 <a class="left carousel-control" href='#carousel' role="button" data-slide="prev">
220 <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
221 <span class="sr-only">Previous</span>
222 </a>
223
224
225 <a class="right carousel-control" href='#carousel' role="button" data-slide="next">
226 <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
227 <span class="sr-only">Next</span>
228 </a>
229
230
231 <div class="carousel-inner" role="listbox">
232 <#list BildMitBildunterschrift.getSiblings() as cur_images>
233 <div class="${(cur_images?counter == 1)?then('active', '')} item" role="option">
234 <div class="teaser-image">
235 <@createImageTag imageUrl="${cur_images.Bild.getData()}" bildunterschrift="${cur_images.Bildunterschrift.getData()}"/>
236 </div>
237 </div>
238 </#list>
239 </div>
240 </div>
241</section>
242
243
244</#macro>
245
246<script>
247 $(document).ready(function () {
248
249 $('.ctrlTogglePlay').on('click', function () {
250
251 if($(this).hasClass('playing')) {
252 $('.carousel').carousel('pause');
253 // console.log('stop');
254 }else {
255 $('.carousel').carousel('cycle');
256 // console.log('play');
257 }
258
259 $(this).toggleClass('playing')
260
261 });
262
263 $('.carousel').carousel({
264 interval: 5000,
265 pause: "false"
266 });
267 });
268</script>
269
270
271
272
273<#macro createImageTag imageUrl bildunterschrift>
274
275 <#assign altTag="alt-tag">
276 <#assign bildnachweis="">
277
278 <#assign imageFileUid = stringUtil.extractLast(imageUrl, "/")>
279
280 <#if (stringUtil.extractFirst(imageFileUid, "t")??)>
281 <#assign imageFileUid = stringUtil.extractFirst(imageFileUid, "t")/>
282 <#assign imageFileUid= imageFileUid?substring(0,imageFileUid?length-1)/>
283 </#if>
284
285
286 <#assign dlimageFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
287 <#assign dlimageFileEntryTypeService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryTypeLocalService")>
288 <#assign dlFileVersionService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileVersionLocalService")>
289 <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")>
290 <#assign Datei = DLAppServiceUtil.getFileEntryByUuidAndGroupId(imageFileUid,groupId)>
291 <#assign imageFileEntry = dlimageFileEntryService.getFileEntryByUuidAndGroupId(Datei.getUuid() , Datei.getGroupId() ) />
292
293 <#assign imageFileEntryTypeId = imageFileEntry.getFileEntryTypeId() />
294
295 <#if imageFileEntryTypeId gt 0 >
296 <#assign imageFileEntryType = dlimageFileEntryTypeService.getDLFileEntryType(imageFileEntryTypeId) />
297 <#assign dlFileVersion = dlFileVersionService.getLatestFileVersion(imageFileEntry.getUserId(), imageFileEntry.getFileEntryId()) />
298 <#assign fieldsMap = imageFileEntry.getDDMFormValuesMap(dlFileVersion.getFileVersionId()) />
299
300 <#list fieldsMap?keys as ddmFormKey>
301
302 <#assign ddmForm = fieldsMap[ddmFormKey]/>
303
304 <#list ddmForm.getDDMFormFieldValues() as formField>
305 <#--name= ${formField.getName()} value= ${formField.getValue().getString(locale)}<br/>-->
306
307 <#if formField.getName() == 'AltTag'>
308 <#assign altTag = formField.getValue().getString(locale) />
309 </#if>
310
311 <#if formField.getName() == 'Bildnachweis'>
312 <#assign bildnachweis = formField.getValue().getString(locale) />
313 </#if>
314
315 </#list>
316
317 </#list>
318
319 </#if>
320
321<#--<div class="teaser-image-wrapper">-->
322<#if viewMode == "view">
323 <img src="${imageUrl}" alt="${altTag}" title="${altTag}"/>
324<#elseif viewMode == "export">
325 <@createExportImageTag imageUrl=imageUrl altTag=altTag hostname=hostname />
326</#if>
327<#--<a href="#" class="btn btn-default btn-prev mycarousel-prev"><span class="icon icon-chevron-left"></span></a>-->
328<#--<a href="#" class="btn btn-default btn-next mycarousel-next"><span class="icon icon-chevron-right"></span></a>-->
329<#--</div>-->
330
331<div class="bildunterschrift">${bildunterschrift}</div>
332<div class="bildnachweis">Quelle: ${bildnachweis}</div>
333
334</#macro>
335
336<#macro createExportImageTag imageUrl altTag hostname>
337 <#assign
338 imageFileUid = stringUtil.extractLast(imageUrl, "/")
339 />
340 <#if (stringUtil.extractFirst(imageFileUid, "t")??)>
341 <#assign imageFileUid = stringUtil.extractFirst(imageFileUid, "t")/>
342 <#assign imageFileUid= imageFileUid?substring(0,imageFileUid?length-1)/>
343 </#if>
344 <#assign
345 dlAppService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")
346 fileEntry = dlAppService.getFileEntryByUuidAndGroupId(imageFileUid,groupId)
347 inputStream = fileEntry.getContentStream()
348 imageModel = imageToolUtil.getImage(inputStream)
349 />
350 <#assign
351 width = imageModel.getWidth()
352 height = imageModel.getHeight()
353 aspectRatio = width / height
354 />
355 <#if width gt 650>
356 <#assign
357 height = 650 / aspectRatio
358 width = 650
359 />
360 </#if>
361 <#assign domainHost = getDomainHost(hostname) />
362 <img src="${domainHost}${imageUrl}" alt="${altTag}" title="${altTag}" width="${width}" height="${height}"/>
363</#macro>
364
365<#function getDomainHost hostname>
366 <#switch hostname>
367 <#case "umweltakademie.baden-wuerttemberg.de">
368 <#case "www.naz-feldberg.de/">
369 <#case "www.nazka.de">
370 <#case "www.nazoberedonau.de">
371 <#case "www.naturschutzzentrum-schopfloch.de">
372 <#case "www.naz-eriskirch.de">
373 <#case "www.wurzacher-ried.de">
374 <#assign domainHost = "http://web-naturschutzzentren-liferay:8080" />
375 <#break>
376 <#case "umweltakademie.convotis.com">
377 <#case "naz-feldberg.convotis.com">
378 <#case "naz-karlsruhe.convotis.com">
379 <#case "naz-obere-donau.convotis.com">
380 <#case "naz-schopflocher-alb.convotis.com">
381 <#case "naz-eriskirch.convotis.com">
382 <#case "naz-wurzacher-ried.convotis.com">
383 <#assign domainHost = "http://naturschutzzentren-bw_liferay_1:8080" />
384 <#break>
385 <#default>
386 <#assign
387 domainHost = hostname
388 />
389 </#switch>
390 <#return domainHost />
391</#function>
392
393<#function getAccessibilityInformation fileUid,groupId>
394 <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")>
395 <#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
396 <#assign dlFileEntryTypeLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryTypeLocalService")>
397 <#assign dlFileVersionLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileVersionLocalService")>
398
399 <#assign Datei = dlFileEntryLocalService.getFileEntryByUuidAndGroupId(fileUid,groupId) />
400
401 <#assign fileEntryTypeId = Datei.getFileEntryTypeId() />
402
403 <#if fileEntryTypeId gt 0 >
404 <#assign imageFileEntryType = dlFileEntryTypeLocalService.getDLFileEntryType(fileEntryTypeId) />
405 <#assign dlFileVersion = dlFileVersionLocalService.getLatestFileVersion(Datei.getUserId(), Datei.getFileEntryId()) />
406 <#assign fieldsMap = Datei.getDDMFormValuesMap(dlFileVersion.getFileVersionId()) />
407
408 <#list fieldsMap?keys as ddmFormKey>
409 <#assign ddmForm = fieldsMap[ddmFormKey]/>
410
411 <#list ddmForm.getDDMFormFieldValues() as formField>
412 <#if formField.getName() == 'notAccessible'>
413 <#assign notAccessbile = formField.getValue().getString(locale) />
414 <#if getterUtil.getBoolean(notAccessbile)>
415 <#return "; nicht barrierefrei" />
416 </#if>
417 </#if>
418
419 </#list>
420
421 </#list>
422 </#if>
423
424 <#return "" />
425</#function>