Travailler les puits de carbone - Travailler les puits de carbone
Travailler les puits de carbone
Une erreur s'est produite en traitant le calibre.
Error executing macro: getPdfMediaPopup required parameter: width is not specified.
1<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService") />
2<#assign classNameLocalService = serviceLocator.findService("com.liferay.portal.service.ClassNameLocalService") />
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService") />
4<#assign journalStructureLocalService = serviceLocator.findService("com.liferay.portlet.dynamicdatamapping.service.DDMStructureLocalService") />
5<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService") />
6
7<#assign typeJournalArticle = "com.liferay.portlet.journal.model.JournalArticle" />
8
9<#assign jaClassNameId = classNameLocalService.getClassNameId(typeJournalArticle) />
10
11<#assign pdfViewer = '/fu/js/pdfjs/web/viewer.html?zoom=page-fit&file=' />
12
13<#assign serviceContextThreadLocal = staticUtil["com.liferay.portal.service.ServiceContextThreadLocal"] />
14<#assign themeDisplay = serviceContextThreadLocal.getServiceContext().getThemeDisplay() />
15
16<#assign carouselNb = 0 />
17<#assign keyNumbersInProgress = "false" />
18
19<article class="interior-article" >
20
21 <#if Accroche.getData() != "">
22 <div class="useful-content">
23 <p class="interior-article-chapo">${Accroche.getData()}</p>
24 </div>
25 </#if>
26
27 <#if content.getSiblings()?has_content>
28
29 <#list content.getSiblings() as contenu>
30
31 <#if contenu.content_type.getData() != "keyNumber" && keyNumbersInProgress == "true" >
32 </div></div>
33 <#assign keyNumbersInProgress = "false" />
34 </#if>
35
36 <#if contenu.content_type.getData() == "oneColumn">
37 <@displayContent contenu=contenu columns="" />
38 <#elseif contenu.content_type.getData() == "twoColumns">
39 <@displayContent contenu=contenu columns="paragraph-columns" />
40 <#elseif contenu.content_type.getData() == "keyNumber">
41 <@displayKeyNumber contenu=contenu inProgress=keyNumbersInProgress />
42 </#if>
43
44 </#list>
45
46 </#if>
47
48</article>
49
50<ul class="share-buttons">
51 <li class="share-buttons-item share-buttons-item-eco"><a class="share-button share-button-eco inner-link" title="Un site éco-responsable" href="/un-site-eco-responsable"><span class="sr-only">Un site éco-responsable</span></a></li>
52 <li class="share-buttons-item"><a class="share-button share-button-insta inner-link" title="Compte Instagram La Rochelle Territoire Zéro Carbone - Ouvrir dans un nouvel onglet" href="https://www.instagram.com/lrterritoirezerocarbone/" target="_blank" rel="noopener noreferrer"><span class="sr-only">Compte Instagram La Rochelle Territoire Zéro Carbone</span></a></li>
53 <li class="share-buttons-item"><a class="share-button share-button-mail inner-link" title="Nous contacter" href="/contact"><span class="sr-only">Nous contacter</span></a></li>
54</ul>
55
56
57<#--*************************************
58** CONTENT BLOCKS DISPLAY
59*************************************-->
60
61<#macro displayContent contenu columns >
62
63 <#assign flexMedia = "no-floating-media" />
64 <#assign alignValue = "" />
65 <#assign alignValue = contenu.Media.media_options.alignment.getData() />
66 <#if alignValue == "flexLeft" || alignValue == "flexRight">
67 <#assign flexMedia = "flex-media" />
68 </#if>
69
70 <#assign contentTitle = contenu.content_title.getData() />
71 <#assign contentText = contenu.content_text.getData() />
72 <#assign anchor = contenu.anchor.getData() />
73
74 <#assign contentTitleDisplay = "" />
75 <#if contenu.content_title_display.getData() == "centerTitle" >
76 <#assign contentTitleDisplay = "paragraph-title-center" />
77 <#elseif contenu.content_title_display.getData() == "blueTitle">
78 <#assign contentTitleDisplay = "paragraph-title-blue" />
79 </#if>
80
81 <#assign innerMedia = contenu.Media />
82 <#assign mediaSrc = innerMedia.media_doc.getData()/>
83 <#assign urlIframePortlet = innerMedia.url_iframe_portlet.getData() />
84
85 <#if contentTitle!="" || contentText!="" || mediaSrc!="" || urlIframePortlet !="" >
86
87 <#assign usefulContent = "useful-content" />
88 <#if contentTitleDisplay == "paragraph-title-blue">
89 <#assign usefulContent = "" />
90 </#if>
91
92 <div class="interior-article-paragraph ${usefulContent} ${flexMedia} ${columns}">
93
94 <#if contentTitle != "" && ( !innerMedia?? || alignValue != "flexRight" ) >
95 <h2 class="paragraph-title ${contentTitleDisplay}"><span class="paragraph-title-text">${contentTitle}</span></h2>
96 </#if>
97
98 <#if contentTitleDisplay == "paragraph-title-blue">
99 <div class="interior-article-enhancedContent">
100 </#if>
101
102 <#if flexMedia == "no-floating-media" || !innerMedia?? >
103
104 <#if columns == "paragraph-columns">
105 <div class="two-columns">
106 ${contentText?replace("<p></p>","")?replace('<blockquote>','<div class="blockquote">')?replace('</blockquote>','</div>')}
107 </div>
108 <#else>
109 ${contentText?replace("<p></p>","")?replace('<blockquote>','<div class="blockquote">')?replace('</blockquote>','</div>')}
110 </#if>
111 <#if innerMedia??>
112 <@getMedia media=innerMedia mediaSrc=mediaSrc urlIframePortlet=urlIframePortlet alignment=alignValue />
113 </#if>
114
115 <#elseif flexMedia == "flex-media" && innerMedia??>
116
117 <div class="flex-media-paragraph ${alignValue}">
118 <div class="flex-media-paragraph-content">
119 <#if contentTitle != "" && alignValue == "flexRight" >
120 <h2 class="paragraph-title ${contentTitleDisplay}"><span class="paragraph-title-text">${contentTitle}</span></h2>
121 </#if>
122 ${contentText?replace("<p></p>","")?replace('<blockquote>','<div class="blockquote">')?replace('</blockquote>','</div>')}
123 </div>
124 <@getMedia media=innerMedia mediaSrc=mediaSrc urlIframePortlet=urlIframePortlet alignment=alignValue />
125 </div>
126
127 </#if>
128
129 <#if contentTitleDisplay == "paragraph-title-blue">
130 </div>
131 </#if>
132
133 </div>
134
135 </#if>
136
137</#macro>
138
139
140<#--*************************************
141** KEY NUMBERS DISPLAY
142*************************************-->
143
144<#macro displayKeyNumber contenu inProgress >
145
146 <#if inProgress == "false">
147 <#assign keyNumbersInProgress = "true" />
148 <div class="interior-article-paragraph no-floating-media">
149 <h2 class="paragraph-title paragraph-title-enhanced"><span class="paragraph-title-text">Chiffres clés</span></h2>
150 <div class="interior-article-contentsWrapper interior-article-keyNumbers useful-content">
151 </#if>
152
153 <#assign contentTitle = contenu.content_title.getData() />
154 <#assign contentText = contenu.content_text.getData() />
155
156 <div class="interior-article-innerContent">
157 <h3 class="interior-article-keyNumber">${contentTitle}</h3>
158 <p class="interior-article-keyNumber-text">${contentText?replace("<p>","")?replace("</p>","")}</p>
159 </div>
160
161</#macro>
162
163
164<#--*************************************
165** MEDIA DISPLAY
166*************************************-->
167
168<#macro getMedia media mediaSrc urlIframePortlet alignment>
169
170 <#if mediaSrc != '' || urlIframePortlet != ''>
171
172 <#local mediaType = media.media_type.getData() />
173 <#assign carouselWrapper = "" />
174 <#if mediaType == "carousel">
175 <#assign carouselWrapper = "interior-article-media-carousel-wrapper" />
176 </#if>
177 <#local width = media.media_options.width.getData() />
178 <#local displayWidth = '' />
179 <#if width == 'null'>
180 <#local displayWidth = '' />
181 <#elseif width != "">
182 <#local displayWidth = 'style="width:'+width+'px;"' />
183 </#if>
184
185 <#local height = media.media_options.height.getData() />
186 <#if height == 'null'>
187 <#local height = '' />
188 </#if>
189 <#local displayMode = media.media_options.display_mode.getData() />
190 <#local imgMini = media.media_options.img_mini.getData() />
191 <#local legend = media.media_options.legend.getData() />
192 <#local altText = media.alt_text.getData() />
193 <#if altText == 'null'>
194 <#local altText = '' />
195 </#if>
196
197 <#local hasLegend = legend?length != 0 />
198 <#if hasLegend>
199 <figure class="interior-article-media interior-article-media-${alignment} ${carouselWrapper}" ${displayWidth}>
200 <#else>
201 <div class="interior-article-media interior-article-media-${alignment} ${carouselWrapper}" ${displayWidth}>
202 </#if>
203
204 <#switch mediaType>
205 <#case "image">
206 <#if displayMode == "normal">
207 <@getImageMedia mediaSrc=mediaSrc urlIframePortlet=urlIframePortlet altText=altText height=height width=width />
208 <#elseif displayMode == "popup">
209 <@getImageMediaPopup imgMini=imgMini mediaSrc=mediaSrc altText=altText height=height width=width />
210 </#if>
211 <#break >
212 <#case "video">
213 <#if displayMode == "normal">
214 <@getVideoMedia imgMini=imgMini mediaSrc=mediaSrc altText=altText height=height width=width />
215 <#elseif displayMode == "popup">
216 <@getVideoMediaPopup imgMini=imgMini mediaSrc=mediaSrc altText=altText height=height width=width />
217 </#if>
218 <#break >
219 <#case "pdf">
220 <#if displayMode == "normal">
221 <@getPdfMedia mediaSrc=mediaSrc altText=altText height=height />
222 <#elseif displayMode == "popup">
223 <@getPdfMediaPopup imgMini=imgMini mediaSrc=mediaSrc altText=altText height=height />
224 </#if>
225 <#break >
226 <#case "carousel">
227 <#if displayMode == "normal">
228 <@getCarouselMedia media=media altText=altText height=height width=width />
229 <#elseif displayMode == "popup">
230 <@getCarouselMediaPopup imgMini=imgMini media=media altText=altText height=height width=width />
231 </#if>
232 <#assign carouselNb = carouselNb + 1 />
233 <#break >
234 <#case "iframe">
235 <#if displayMode == "normal">
236 <@getIframeMedia urlIframePortlet=urlIframePortlet altText=altText height=height />
237 <#elseif displayMode == "popup">
238 <@getIframeMediaPopup imgMini=imgMini urlIframePortlet=urlIframePortlet altText=altText height=height width=width />
239 </#if>
240 <#break >
241 <#case "portlet">
242 <#if displayMode == "normal">
243 <@getPortletMedia urlIframePortlet=urlIframePortlet height=height />
244 <#elseif displayMode == "popup">
245 <@getPortletMediaPopup imgMini=imgMini urlIframePortlet=urlIframePortlet altText=altText height=height width=width />
246 </#if>
247 <#break >
248 <#default>
249 </#switch>
250
251 <#if hasLegend>
252 <figcaption class="interior-article-media-legend">${legend}</figcaption>
253 </figure>
254 <#else>
255 </div>
256 </#if>
257
258 </#if>
259
260</#macro>
261
262
263<#macro getImageMedia mediaSrc urlIframePortlet altText height width >
264 <#local displayedHeight = '' />
265 <#if height != "">
266 <#local displayedHeight = 'style="max-height:'+height+'px;"' />
267 </#if>
268 <#if urlIframePortlet != "">
269 <#assign target = "href='"+ urlIframePortlet +"'" />
270 <#if !isInternalLink(urlIframePortlet)>
271 <#assign target = target + " target='_blank' rel='noopener noreferrer'" />
272 </#if>
273 <a ${target} title="${htmlUtil.escapeAttribute(altText)}">
274 <img class="interior-article-media-image" src="${mediaSrc}" loading="lazy" alt="${htmlUtil.escapeAttribute(altText)}" ${displayedHeight} <#if width!=""> width="${width}"</#if> <#if height!=""> height="${height}"</#if> />
275 </a>
276 <#else>
277 <img class="interior-article-media-image" src="${mediaSrc}" loading="lazy" alt="${htmlUtil.escapeAttribute(altText)}" title="${htmlUtil.escapeAttribute(altText)}" ${displayedHeight} <#if width!=""> width="${width}"</#if> <#if height!=""> height="${height}"</#if> />
278 </#if>
279</#macro>
280
281
282<#macro getImageMediaPopup imgMini mediaSrc altText height width >
283 <#if imgMini != "">
284 <#local displayedHeight = '' />
285 <#if height != "">
286 <#local displayedHeight = 'style="max-height:'+height+'px;"' />
287 </#if>
288 <a class="link-img" href="${mediaSrc}" title="${htmlUtil.escapeAttribute(altText)}">
289 <img class="interior-article-media-image" src="${imgMini}" loading="lazy" alt="${htmlUtil.escapeAttribute(altText)}" ${displayedHeight} <#if width!=""> width="${width}"</#if> <#if height!=""> height="${height}"</#if> />
290 </a>
291 <#else>
292 <h5>
293 <a class="link-img" title="${htmlUtil.escapeAttribute(altText)}" href="${mediaSrc}">
294 ${htmlUtil.escapeAttribute(altText)}
295 </a>
296 </h5>
297 </#if>
298</#macro>
299
300
301<#macro getVideoMedia imgMini mediaSrc height altText width>
302 <#local displayedHeight = '' />
303 <#if height != "">
304 <#local displayedHeight = 'style="max-height:'+height+'px;"' />
305 </#if>
306 <video class="interior-article-media-video" itemprop="url" poster="${imgMini}" title="${htmlUtil.escapeAttribute(altText)}" controls="" preload="metadata" ${displayedHeight} <#if width!=""> width="${width}"</#if> <#if height!=""> height="${height}"</#if> >
307 <source itemprop="url" content="https://www2.larochelle-technopole.fr${mediaSrc}" src="${mediaSrc}" type="video/mp4">
308 <a href="${mediaSrc}" download="">${htmlUtil.escapeAttribute(altText)}</a>
309 </video>
310</#macro>
311
312
313<#macro getVideoMediaPopup imgMini mediaSrc altText height width >
314 <#if imgMini != "">
315 <#local displayedHeight = '' />
316 <#if height != "">
317 <#local displayedHeight = 'style="max-height:'+height+'px;"' />
318 </#if>
319 <a class="link-video" href="${mediaSrc}" title="${htmlUtil.escapeAttribute(altText)}">
320 <img class="interior-article-media-image" src="${imgMini}" loading="lazy" alt="${htmlUtil.escapeAttribute(altText)}" ${displayedHeight} <#if width!=""> width="${width}"</#if> <#if height!=""> height="${height}"</#if> />
321 </a>
322 <#else>
323 <h5>
324 <a class="link-video" title="${htmlUtil.escapeAttribute(altText)}" href="${mediaSrc}">
325 ${htmlUtil.escapeAttribute(altText)}
326 </a>
327 </h5>
328 </#if>
329</#macro>
330
331
332<#macro getPdfMedia mediaSrc altText height >
333 <#local displayedHeight = '' />
334 <#if height != "">
335 <#local displayedHeight = 'style="height:'+height+'px;"' />
336 </#if>
337 <iframe class="interior-article-media-iframe" src="${pdfViewer+mediaSrc}" loading="lazy" title="${htmlUtil.escapeAttribute(altText)}" ${displayedHeight} allowfullscreen ></iframe>
338</#macro>
339
340
341<#macro getPdfMediaPopup imgMini mediaSrc altText height width >
342 <#if imgMini != "">
343 <#local displayedHeight = '' />
344 <#if height != "">
345 <#local displayedHeight = 'style="max-height:'+height+'px;"' />
346 </#if>
347 <a class="link-pdf" href="${mediaSrc}" title="${htmlUtil.escapeAttribute(altText)}" target="_blank" rel="noopener noreferrer">
348 <img class="interior-article-media-image" src="${imgMini}" loading="lazy" alt="${htmlUtil.escapeAttribute(altText)}" ${displayedHeight} <#if width!=""> width="${width}"</#if> <#if height!=""> height="${height}"</#if> />
349 </a>
350 <#else>
351 <h5>
352 <a class="link-pdf" title="${htmlUtil.escapeAttribute(altText)}" href="${mediaSrc}" target="_blank" rel="noopener noreferrer">
353 ${htmlUtil.escapeAttribute(altText)}
354 </a>
355 </h5>
356 </#if>
357</#macro>
358
359
360<#macro getCarouselMedia media altText height width >
361
362 <#local ratioDisplay = "" />
363 <#if height != "" && width != "" >
364 <#local ratio = height?number / width?number * 100 />
365 <#local ratioDisplay = 'style="padding-top:' + ratio + '%"' />
366 </#if>
367
368 <div class="carousel" id="carousel-${carouselNb}" data-carousel="carousel-${carouselNb}" ${ratioDisplay}>
369
370 <button type="button" id="carousel-${carouselNb}-arrow-prev" data-carousel="carousel-${carouselNb}" data-direction="prev" class="carousel-arrow carousel-arrow-prev"><span class="sr-only">Image précédente</span></button>
371 <button type="button" id="carousel-${carouselNb}-arrow-next" data-carousel="carousel-${carouselNb}" data-direction="next" class="carousel-arrow carousel-arrow-next"><span class="sr-only">Image suivante</span></button>
372
373 <#list media.media_doc.getSiblings() as node>
374 <#if node_index == 0>
375 <img id="carousel-${carouselNb}-img-${node_index}" data-carousel="carousel-${carouselNb}" data-img="${node_index}" class="carousel-img carousel-img-displayed" src="${node.getData()}" data-src="" alt="${altText}">
376 <#else>
377 <img id="carousel-${carouselNb}-img-${node_index}" data-carousel="carousel-${carouselNb}" data-img="${node_index}" class="carousel-img carousel-img-noDisplay" src="/lr-zerocarbone-theme/images/blank.png" data-src="${node.getData()}" alt="${altText}">
378 </#if>
379 </#list>
380
381 <ul class="carousel-buttons">
382 <#list media.media_doc.getSiblings() as node>
383 <#local currentClass = "" />
384 <#if node_index == 0>
385 <#local currentClass = "carousel-button-current" />
386 </#if>
387 <li class="carousel-buttons-item"><button type="button" id="carousel-${carouselNb}-arrow-${node_index}" class="carousel-button ${currentClass}" data-carousel="carousel-${carouselNb}" data-img="${node_index}"><span class="sr-only">Image ${node_index+1}</span></button></li>
388 </#list>
389 </ul>
390
391 </div>
392
393</#macro>
394
395<#macro getCarouselMediaPopup imgMini media altText height width >
396 <#local diapos = "" />
397 <#list media.media_doc.getSiblings() as node>
398 <#if node_index != 0>
399 <#local diapos = diapos + "," />
400 </#if>
401 <#local diapos = diapos + node.getData() />
402 </#list>
403 <#if imgMini != "">
404 <#local displayedHeight = '' />
405 <#if height != "">
406 <#local displayedHeight = 'style="max-height:'+height+'px;"' />
407 </#if>
408 <a class="link-diapo" href="${mediaSrc}" title="${htmlUtil.escapeAttribute(altText)}" data-diapos="${diapos}">
409 <img class="interior-article-media-image" src="${imgMini}" loading="lazy" alt="${htmlUtil.escapeAttribute(altText)}" ${displayedHeight} <#if width!=""> width="${width}"</#if> <#if height!=""> height="${height}"</#if> />
410 </a>
411 <#else>
412 <h5>
413 <a class="link-diapo" title="${htmlUtil.escapeAttribute(altText)}" href="${mediaSrc}" data-diapos="${diapos}">
414 ${htmlUtil.escapeAttribute(altText)}
415 </a>
416 </h5>
417 </#if>
418</#macro>
419
420
421<#macro getIframeMedia urlIframePortlet altText height >
422 <#local displayedHeight = '' />
423 <#if height != "">
424 <#local displayedHeight = 'style="height:'+height+'px;"' />
425 </#if>
426 <#if urlIframePortlet?contains("youtube")>
427 <#local youtubeId = urlIframePortlet?substring(urlIframePortlet?index_of("embed/")+6) />
428 <div class="interior-article-media-youtube-blocker" ${displayedHeight}>
429 <div class="youtube-blocker-img-wrapper">
430 <img class="youtube-blocker-img" src="https://img.youtube.com/vi/${youtubeId}/0.jpg" loading="lazy" alt="${htmlUtil.escapeAttribute(altText)}" />
431 </div>
432 <p class="youtube-blocker-text">Cette vidéo est fournie par la plateforme YouTube. En la visionnant vous acceptez les conditions d'utilisation de YouTube.</p>
433 <div class="youtube-blocker-btn-wrapper">
434 <button type="button" class="youtube-blocker-btn" data-src="${urlIframePortlet?replace('youtube.com','youtube-nocookie.com')}?autoplay=1" data-title="${htmlUtil.escapeAttribute(altText)}">Voir la vidéo</button>
435 <a href="https://www.youtube.com/static?template=terms&gl=FR" class="youtube-blocker-btn" target="_blank" rel="noopener noreferrer">En savoir plus</a>
436 </div>
437 </div>
438 <#else>
439 <#assign ariaHidden = '' />
440 <#if urlIframePortlet?contains("/carto/")>
441 <#assign ariaHidden = 'aria-hidden="true"' />
442 </#if>
443 <iframe class="interior-article-media-iframe" src="${urlIframePortlet}" loading="lazy" title="${htmlUtil.escapeAttribute(altText)}" ${displayedHeight} ${ariaHidden} allowfullscreen ></iframe>
444 </#if>
445</#macro>
446
447
448<#macro getIframeMediaPopup imgMini urlIframePortlet altText height width >
449 <#if imgMini != "">
450 <#local displayedHeight = '' />
451 <#if height != "">
452 <#local displayedHeight = 'style="max-height:'+height+'px;"' />
453 </#if>
454 <a class="link-iframe" href="${urlIframePortlet}" title="${htmlUtil.escapeAttribute(altText)}" target="_blank" rel="noopener noreferrer">
455 <img class="interior-article-media-image" src="${imgMini}" loading="lazy" alt="${htmlUtil.escapeAttribute(altText)}" ${displayedHeight} <#if width!=""> width="${width}"</#if> <#if height!=""> height="${height}"</#if> />
456 </a>
457 <#else>
458 <h5>
459 <a class="link-iframe" title="${htmlUtil.escapeAttribute(altText)}" href="${urlIframePortlet}" target="_blank" rel="noopener noreferrer">
460 ${htmlUtil.escapeAttribute(altText)}
461 </a>
462 </h5>
463 </#if>
464</#macro>
465
466
467<#macro getPortletMedia urlIframePortlet height >
468
469 <#local displayedHeight = '' />
470 <#if height != "">
471 <#local displayedHeight = 'style="max-height:'+height+'px;"' />
472 </#if>
473
474 <#local hasInstanceId = urlIframePortlet?contains('INSTANCE') />
475 <#local hasQueryString = urlIframePortlet?contains('?') />
476 <#local queryString = '' />
477 <#local instanceId = '' />
478 <#local portletName = urlIframePortlet />
479 <#local portletId = urlIframePortlet />
480 <#local fullPortletName = '' />
481
482 <#if hasInstanceId>
483 <#if hasQueryString>
484 <#local instanceId = urlIframePortlet[(urlIframePortlet?index_of('INSTANCE')+9)..urlIframePortlet?index_of('?')-1] />
485 <#else>
486 <#local instanceId = urlIframePortlet[(urlIframePortlet?index_of('INSTANCE')+9)..] />
487 </#if>
488 <#local portletName = urlIframePortlet[0..(urlIframePortlet?index_of('INSTANCE'))-2] />
489 <#else>
490 <#if hasQueryString>
491 <#local portletName = urlIframePortlet[0..(urlIframePortlet?index_of('?'))-1] />
492 </#if>
493 </#if>
494
495 <#if hasQueryString>
496 <#local queryString = urlIframePortlet[(urlIframePortlet?index_of('?')+1)..] />
497 </#if>
498
499 <#if hasInstanceId>
500 <#local fullPortletName = portletName+'_INSTANCE_'+instanceId />
501 <#else>
502 <#local fullPortletName = portletName />
503 </#if>
504
505 <#local divId = "embedded-portlet-" + fullPortletName + randomNamespace />
506
507 <#if urlIframePortlet?contains('cdalrEService') || urlIframePortlet?contains('cdalrEservice') || urlIframePortlet?contains('cuCreate')>
508
509 <#local queryString = queryString +"&p_l_id="+plid+"&p_p_lifecycle=0&p_p_mode=view&p_p_state=exclusive¤tURL=" + themeDisplay.getURLCurrent() />
510
511 <div id="${divId}" class="embedded-portlet" data-portlet="${fullPortletName}" data-remote-url="" data-querystring="${queryString}" ${displayedHeight}></div>
512
513 <#else>
514
515 <#local plid = themeDisplay.plid />
516 <#local portletURL = portletURLFactory.create(renderRequest, fullPortletName, plid, "RENDER_PHASE") />
517 <#local windowState = windowStateFactory.getWindowState("EXCLUSIVE") />
518 ${portletURL.setWindowState(windowState)}
519 <#local remoteUrl = portletURL.toString() + "&" + queryString + "¤tURL=" + themeDisplay.getURLCurrent() />
520
521 <div id="${divId}" class="embedded-portlet" data-portlet="${fullPortletName}" data-remote-url="${remoteUrl}" data-querystring="${queryString}" ${displayedHeight}></div>
522
523 </#if>
524
525</#macro>
526
527
528<#macro getPortletMediaPopup imgMini urlIframePortlet altText height width >
529
530 <#local displayedHeight = '' />
531 <#if height != "">
532 <#local displayedHeight = 'style="max-height:'+height+'px;"' />
533 </#if>
534
535 <#local hasInstanceId = urlIframePortlet?contains('INSTANCE') />
536 <#local hasQueryString = urlIframePortlet?contains('?') />
537 <#local portletId = urlIframePortlet />
538 <#local queryString = '' />
539
540 <#if hasInstanceId>
541 <#local portletId = urlIframePortlet[0..(urlIframePortlet?index_of(instanceId))] />
542 </#if>
543 <#if hasQueryString>
544 <#local portletId = urlIframePortlet[0..(urlIframePortlet?index_of('?')-1)] />
545 <#local queryString = urlIframePortlet[(urlIframePortlet?index_of('?')+1)..] />
546 </#if>
547
548 <#local divId = "embedded-portlet-" + portletId />
549
550 <#if urlIframePortlet?contains('cdalrEService') || urlIframePortlet?contains('cdalrEservice')>
551
552 <#local queryString = queryString +"&p_l_id="+plid+"&p_p_lifecycle=0&p_p_mode=view&p_p_state=exclusive¤tURL=" +themeDisplay.getURLCurrent() />
553
554 <#local formPictoClass = "" />
555 <#if urlIframePortlet?contains('FiberOpticalConnectionRequest')>
556 <#local formPictoClass = "eservice-form-opener-picto-fiber" />
557 <#elseif urlIframePortlet?contains('AntContact')>
558 <#local formPictoClass = "eservice-form-opener-picto-contact" />
559 <#elseif urlIframePortlet?contains('ReinscriptionConservatoire')>
560 <#local formPictoClass = "eservice-form-opener-picto-music" />
561 <#elseif urlIframePortlet?contains('ContactUs')>
562 <#local formPictoClass = "eservice-form-opener-picto-contact" />
563 <#elseif urlIframePortlet?contains('JobApplication')>
564 <#local formPictoClass = "eservice-form-opener-picto-job" />
565 <#elseif urlIframePortlet?contains('WastebinRepair')>
566 <#local formPictoClass = "eservice-form-opener-picto-wastebin" />
567 <#elseif urlIframePortlet?contains('WastewaterConnection')>
568 <#local formPictoClass = "eservice-form-opener-picto-water" />
569 <#elseif urlIframePortlet?contains('WastesortingTour')>
570 <#local formPictoClass = "eservice-form-opener-picto-altriane" />
571 </#if>
572
573 <div class="link-portlet eservice-form-opener" data-divId="${divId}" data-portlet="${portletId}" data-querystring="${queryString}" data-remote-url="" tabindex="0">
574 <div class="eservice-form-opener-picto ${formPictoClass}"></div>
575 <p class="eservice-form-opener-text">${htmlUtil.escapeAttribute(altText)}</p>
576 </div>
577
578 <#else>
579
580 <#local portletClass = "link-portlet" />
581 <#if urlIframePortlet?contains('19_WAR')>
582 <#local portletClass = "link-portlet planning-cmd-opener" />
583 </#if>
584 <#local plid = themeDisplay.plid />
585 <#local portletURL = portletURLFactory.create(renderRequest, portletId, plid, "RENDER_PHASE") />
586 <#local windowState = windowStateFactory.getWindowState("EXCLUSIVE") />
587 ${portletURL.setWindowState(windowState)}
588 <#local remoteUrl = portletURL.toString() + "&" + queryString + "¤tURL=" + themeDisplay.getURLCurrent() />
589
590 <div class="${portletClass}" data-divId="${divId}" data-portlet="${portletId}" data-querystring="${queryString}" data-remote-url="${remoteUrl}" tabindex="0">
591 <img class="interior-article-media-image" src="${imgMini}" loading="lazy" alt="${altText}" ${displayedHeight} <#if width!=""> width="${width}"</#if> <#if height!=""> height="${height}"</#if> />
592 </div>
593
594 </#if>
595
596</#macro>
597
598
599<#function isInternalLink link>
600 <#local internal = link?contains("www.larochelle-zerocarbone.fr") || link?contains("www2.larochelle-zerocarbone.fr") || !link?contains("//")>
601 <#return internal>
602</#function>