Revive and restore degraded wetlands

35% of the world’s wetlands have disappeared in the last 50 years

7 benefits 7 best practices 7 key players

Join #GenerationRestoration #ForWetlands

World Wetlands Day Messages and Statements

Pitch for the Grant 2023

Call for project ideas in wetlands

Apply from 2 February to 2 March 2023 for an opportunity to receive EUR 10'000 provided by Danone

 
 

Learn more about the grant

What can you do?

Communication Resources

Available in different languages and formats

Download now

Wetlands

Land areas that are saturated or flooded with water either permanently or seasonally.

Inland wetlands:

 Marshes, lakes, rivers, floodplains, peatlands and swamps   

Coastal wetlands:

Saltwater marshes, estuaries, mangroves, lagoons and coral reefs

Human-made wetlands:

Fish ponds, rice paddies and salt pans
 

An error occurred while processing the template.
Java method "com.sun.proxy.$Proxy138.getFolder(long, long, String)" threw an exception when invoked on com.sun.proxy.$Proxy138 object "com.liferay.portlet.documentlibrary.service.impl.DLFolderLocalServiceImpl@5e26558e"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign folderId = dLFolderLocalServi...  [in template "10157#10197#1137782" at line 6, column 1]
----
1<#assign groupLocalServiceUtil = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
2<#assign dLFolderLocalServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFolderLocalService")> 
3<#assign dLFileEntryLocalServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
4 
5<#assign groupId = themeDisplay.getScopeGroup().getGroupId() /> 
6<#assign folderId = dLFolderLocalServiceUtil.getFolder(groupId, 0, FolderName.getData()).getFolderId() /> 
7<#assign files = dLFileEntryLocalServiceUtil.getFileEntries(groupId, folderId) /> 
8 
9<#assign size = files?size /> 
10 
11<script> 
12	var images=[]; 
13	<#assign imageAdd= "/o/wwday-theme/images/add.png" /> 
14	<#assign cpt = 0 /> 
15	<#list files as fileEntry > 
16		images[${cpt}]="/documents/${groupId}/${folderId}/${fileEntry.getTitle()}/${fileEntry.getUuid()}"; 
17		<#assign cpt=cpt+1 /> 
18	</#list> 
19</script> 
20 
21 
22<div class="HomeGetInvolved imageTable"> 
23	<h1 style="font-weight:700">${TableTitle.getData()}</h1> 
24 
25	<table style="width:100%" border="0"> 
26		<tr> 
27			<td colspan="2" rowspan="2" style="width:33.3333%;background-image:url('${getRandomURL(files, 0.12)}')" id="img-1" >&nbsp;</td> 
28			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.93)}')" id="img-2" >&nbsp;</td> 
29			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.45)}')" id="img-3">&nbsp;</td> 
30			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.67)}')" id="img-4">&nbsp;</td> 
31			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.31)}')" id="img-5">&nbsp;</td> 
32		</tr> 
33		<tr> 
34			<td style="width:16.6666%;background-image:url('${imageAdd}')"><a href="${themeDisplay.getScopeGroup().getDisplayURL(themeDisplay)+AddPhotoURL.getData()}"><img src="${imageAdd}" ></a></td> 
35			<td colspan="2" rowspan="2" style="width:33.3333%;background-image:url('${getRandomURL(files, 0.24)}')" id="img-6">&nbsp;</td> 
36			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.53)}')" id="img-7">&nbsp;</td> 
37		</tr> 
38		<tr> 
39			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.39)}')" id="img-8">&nbsp;</td> 
40			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.83)}')" id="img-9">&nbsp;</td> 
41			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.11)}')" id="img-10">&nbsp;</td> 
42			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.49)}')" id="img-11">&nbsp;</td> 
43		</tr> 
44	</table> 
45 
46	<br><a href="${LinkURL.getData()}" class="btn btn-default">${LinkTitle.getData()}</a>  
47</div> 
48 
49 
50<script> 
51	function changeAllImages(){ 
52		for( var i=1; i<12; i++){ 
53			var index = (i % ${size}); 
54			$("#img-"+i).css("background-image","url('"+images[index]+"')"); 
55			$("#img-"+i).css("height",$("#img-"+i).width()+'px'); 
56
57
58	 
59	function changeImage(){ 
60		var i = Math.floor((Math.random() * 11) + 1); 
61		var index = Math.floor((Math.random() * ${size}) + 1); 
62		$("#img-"+i).fadeOut(500, function() { 
63			$("#img-"+i).css("background-image","url('"+images[index]+"')"); 
64		}).fadeIn(400); 
65
66	changeAllImages(); 
67	setInterval(changeImage, 4000); 
68</script> 
69<style> 
70	.imageTable img{ 
71		width: 100%; 
72		 
73
74	.imageTable td{ 
75		background-repeat:no-repeat; 
76		background-size:cover; 
77		padding: 2px; 
78		background-position:center; 
79		border: solid 2px #ffffff; 
80
81</style> 
82 
83 
84 
85 
86 
87 
88 
89<#function getRandomURL files rnd> 
90	<#assign nb = rand(1, files?size-1, rnd)>	 	 
91	<#assign cpt= 0> 
92	<#list files as fileEntry > 
93		<#if cpt == nb > 
94	 		<#return "/documents/"+groupId+"/"+folderId+"/"+fileEntry.getTitle()+"/"+fileEntry.getUuid() /> 
95	 	</#if> 
96	 	<#assign cpt = cpt +1 /> 
97	</#list> 
98	<#return "" /> 
99</#function> 
100 
101<#function rand min max rnd> 
102	 
103	<#local now = .now?long?c /> 
104	<#local randomNum = rnd + 
105		("0." + now?substring(now?length-1) + now?substring(now?length-2))?number /> 
106  	<#if (randomNum > 1)> 
107		<#assign _rand = randomNum % 1 /> 
108  	<#else> 
109		<#assign _rand = randomNum /> 
110  </#if> 
111  <#return (min + ((max - min) * _rand))?round /> 
112</#function> 

Partners