Wydawca treści
Error on line 245, column 29 in 10097#20183917#27914661 file.extension is undefined. It cannot be assigned to fExtension
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService") />
2<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService") />
3<#assign imageLocalService = serviceLocator.findService("com.liferay.portal.service.ImageLocalService") />
4
5<#assign journalArticleId = .vars["reserved-article-id"].data?replace('.', '-') />
6<#assign journalArticle = journalArticleLocalService.getArticle(getterUtil.getLong(groupId), journalArticleId) />
7<#assign journalArticleCreateDate = journalArticle.getCreateDate() />
8<#assign journalArticleModifiedDate = journalArticle.getModifiedDate() />
9<#assign journalArticleAuthor = .vars["reserved-article-author-name"].data />
10<#if coauthors?? && coauthors.data?has_content>
11 <#assign journalArticleAuthor = coauthors.data />
12</#if>
13<#if title?? && title.data?has_content>
14 <#assign journalArticleTitle = title.data />
15<#else>
16 <#assign journalArticleTitle = .vars["reserved-article-title"].data />
17</#if>
18<#assign journalArticleUrlTitle = journalArticle.getUrlTitle() />
19
20<#assign serviceContext = staticUtil["com.liferay.portal.service.ServiceContextThreadLocal"].getServiceContext() />
21<#assign themeDisplay = serviceContext.getThemeDisplay() />
22<#assign portletId = themeDisplay.getPortletDisplay().getId() />
23
24<div id="article-${journalArticleId}" class="nfh-cp-article">
25
26 <h1 class="title">${journalArticleTitle}</h1>
27
28 <#if showcreatedate?? && showcreatedate.data == "true">
29 <#assign journalArticleModifiedDate = journalArticle.getCreateDate() />
30 </#if>
31 <div class="metadata">${journalArticleModifiedDate?string["dd.MM.yyyy"]} | ${journalArticleAuthor}</div>
32
33 <#-- MEDIA SPOŁECZNOŚCIOWE -->
34 <#assign printGroupId = "" />
35 <#if journalArticle.groupId != themeDisplay.scopeGroupId>
36 <#assign printGroupId = themeDisplay.scopeGroupId />
37 </#if>
38 <div class="social-media">
39 <div class="addthis_toolbox addthis_default_style">
40 <input type="image" alt="${languageUtil.get(locale, "print")}" src="${themeDisplay.pathThemeImages}/nfh-cp/icon-print-20x17.png" onclick="Nfhcp.AssetPublisherPortlet.printFullContent('${portletId}', '${journalArticleId}', '${printGroupId}', '${journalArticleUrlTitle}');" class="print"/>
41 </div>
42 </div>
43
44 <#-- ZDJĘCIA DO GALERII -->
45 <#assign galleryImages = [] />
46 <#assign mainGalleryUuid = "" />
47 <#assign imageDesc = ""/>
48
49 <#-- Zdjęcie główne z galerii -->
50 <#if mainphotogallery?? && mainphotogallery.data?has_content>
51 <#assign url = mainphotogallery.data />
52 <#if url?starts_with("/image/image_gallery")>
53 <#assign uuid = httpUtil.getParameter(url, "uuid", false)?string />
54 <#assign groupId = getterUtil.getLong(httpUtil.getParameter(url, "groupId", false), 0) />
55 <#if dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(uuid, groupId) ?? >
56 <#assign image = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(uuid, groupId) />
57
58 <#if image??>
59 <#assign mainGalleryUuid = uuid />
60 <#assign imageDesc = htmlUtil.escapeAttribute(image.description) />
61 </#if>
62
63 <#assign galleryImage = {"url" : mainphotogallery.data, "thumbUrl" : mainphotogallery.data + "&width=250", "desc" : imageDesc, "uuid" : mainGalleryUuid} />
64 <#assign galleryImages = galleryImages + [galleryImage] />
65 </#if>
66 <#elseif url?contains("/documents/")>
67 <#assign urlParts = stringUtil.split(url, "?") />
68 <#assign urlParts = stringUtil.split(urlParts[0]?string, "/") />
69 <#assign groupId = getterUtil.getLong(urlParts[2]) />
70 <#assign folderId = getterUtil.getLong(urlParts[3]) />
71 <#assign title = httpUtil.decodeURL(urlParts[4]?string, true) />
72
73
74 <#if urlParts?size gt 5>
75 <#assign uuid = urlParts[5]?string />
76 <#assign mainGalleryUuid = uuid />
77 <#assign image = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(uuid, groupId) />
78 <#else>
79 <#assign image = dlFileEntryLocalService.getFileEntry(groupId, folderId, title) />
80 <#assign mainGalleryUuid = image.uuid />
81 </#if>
82
83 <#assign galleryImage = {"url" : mainphotogallery.data, "thumbUrl" : mainphotogallery.data + "&width=250", "desc" : htmlUtil.escapeAttribute(image.description), "uuid" : mainGalleryUuid} />
84 <#assign galleryImages = galleryImages + [galleryImage] />
85 </#if>
86 <#-- Zdjęcie główne -->
87 <#elseif mainphoto?? && mainphoto.data?has_content>
88 <#assign galleryImage = {"url" : mainphoto.data, "thumbUrl" : mainphoto.data + "&width=250", "desc" : htmlUtil.escapeAttribute(mainphoto.maindesc.data), "uuid" : "----"} />
89 <#assign galleryImages = galleryImages + [galleryImage] />
90 </#if>
91
92 <#-- Zdjęcia dodatkowe z dysku -->
93 <#if additionalphoto?? >
94 <#list additionalphoto.getSiblings() as additionalphotoItem>
95 <#if additionalphotoItem.data?has_content>
96 <#assign galleryImage = {"url" : additionalphotoItem.data, "thumbUrl" : additionalphotoItem.data + "&width=250", "desc" : htmlUtil.escapeAttribute(additionalphotoItem.photodescription.data), "uuid" : "----"} />
97 <#assign galleryImages = galleryImages + [galleryImage] />
98 </#if>
99 </#list>
100 </#if>
101
102 <#-- Zdjęcia z galerii -->
103 <#if additionalphotogallery?? && additionalphotogallery.data?has_content>
104 <#assign url = additionalphotogallery.data />
105 <#if url?starts_with("/image/image_gallery")>
106 <#assign uuid = httpUtil.getParameter(url, "uuid", false)?string />
107 <#assign groupId = getterUtil.getLong(httpUtil.getParameter(url, "groupId", false), 0) />
108
109 <#if dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(uuid, groupId)?? >
110 <#assign image = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(uuid, groupId) />
111 </#if>
112 <#elseif url?contains("/documents/")>
113 <#assign urlParts = stringUtil.split(url, "/") />
114 <#assign groupId = getterUtil.getLong(urlParts[2]) />
115 <#assign folderId = getterUtil.getLong(urlParts[3]) />
116 <#assign title = httpUtil.decodeURL(urlParts[4]?string, true) />
117
118 <#if dlFileEntryLocalService.getFileEntry(groupId, folderId, title)?? >
119 <#assign image = dlFileEntryLocalService.getFileEntry(groupId, folderId, title) />
120 </#if>
121 </#if>
122
123 <#if image??>
124 <#assign folderId = image.folderId />
125 <#assign folderImages = dlFileEntryLocalService.getFileEntries(groupId, folderId) />
126 <#if folderImages??>
127 <#list folderImages?sort_by("name") as folderImage>
128 <#if folderImage.uuid != mainGalleryUuid>
129 <#assign folderImageDescription = folderImage.description />
130 <#if folderImage.description?lower_case == folderImage.title?lower_case + folderImage.extension?lower_case>
131 <#assign folderImageDescription = "" />
132 </#if>
133
134 <#assign galleryImage = {"url" : "/image/image_gallery?uuid=" + folderImage.uuid + "&groupId=" + folderImage.groupId,
135 "thumbUrl" : "/image/image_gallery?uuid=" + folderImage.uuid + "&groupId=" + folderImage.groupId + "&width=250",
136 "desc" : htmlUtil.escapeAttribute(folderImageDescription),
137 "uuid" : folderImage.uuid} />
138 <#assign galleryImages = galleryImages + [galleryImage] />
139 </#if>
140 </#list>
141 </#if>
142 </#if>
143 </#if>
144
145 <#-- GALERIA OBRAZÓW -->
146 <#if galleryImages?size gt 1>
147 <div id="gallery-${journalArticleId}" class="multiple-image-gallery royalSlider rsDefault">
148 <#list galleryImages as galleryImage>
149 <a href="${galleryImage.url + "&width=560"}" class="rsImg" data-rsbigimg="${galleryImage.url}">
150 <img src="${galleryImage.thumbUrl}" width="125" uuid="${galleryImage.uuid}" class="rsTmb" />
151 ${galleryImage.desc}
152 </a>
153 </#list>
154 </div>
155 <#elseif galleryImages?size == 1>
156 <div class="single-image-gallery">
157 <div id="gallery-${journalArticleId}">
158 <#list galleryImages as galleryImage>
159 <a href="${galleryImage.url}" rel="lightbox" title="${htmlUtil.escape(galleryImage.desc)}">
160 <img src="${galleryImage.url}&width=716" alt="${htmlUtil.escape(galleryImage.desc)}" />
161 <#if galleryImage.desc?has_content>
162 <div class="mainphotogallery-description">${galleryImage.desc}</div>
163 </#if>
164 </a>
165 </#list>
166 </div>
167 </div>
168 </#if>
169
170 <#-- ZAWARTOŚĆ ARTYKUŁU -->
171 <#if abstract?? && abstract.data?has_content>
172 <p class="description">${abstract.data}</p>
173 <#else>
174 <p class="description">${.vars["reserved-article-description"].data}</p>
175 </#if>
176
177 <div class="content">${content.data}</div>
178
179 <#-- ZAŁĄCZNIKI -->
180 <#assign hasAttachments = false />
181 <#if file?? && file.getSiblings()?size gt 0>
182 <#list file.getSiblings() as fileItem>
183 <#if fileItem.filedescription?? && fileItem.filedescription.data?has_content>
184 <#assign fileItemName = fileItem.filedescription.data />
185 <#elseif fileItem.filetitle?? && fileItem.filetitle.data?has_content>
186 <#assign fileItemName = fileItem.filetitle.data />
187 <#else>
188 <#assign fileItemName = fileItem.data />
189 </#if>
190 <#if fileItemName?? && fileItemName?has_content>
191 <#assign hasAttachments = true />
192 </#if>
193 </#list>
194 </#if>
195 <#if hasAttachments>
196 <div class="attachments">
197 <h2>${languageUtil.get(locale, "resources-to-get")}</h2>
198 <ul class="attachment-list">
199 <#list file.getSiblings() as fileItem>
200 <#if fileItem.filedescription?? && fileItem.filedescription.data?has_content>
201 <#assign fileItemName = fileItem.filedescription.data />
202 <#elseif fileItem.filetitle?? && fileItem.filetitle.data?has_content>
203 <#assign fileItemName = fileItem.filetitle.data />
204 <#else>
205 <#assign fileItemName = fileItem.data />
206 </#if>
207
208 <#if fileItemName?? && fileItemName?has_content>
209 <#assign url = fileItem.data />
210 <#if url?contains("/documents/")>
211 <#assign urlParts = stringUtil.split(url, "?") />
212 <#assign urlParts = stringUtil.split(urlParts[0]?string, "/") />
213 <#assign groupId = getterUtil.getLong(urlParts[2]) />
214 <#assign folderId = getterUtil.getLong(urlParts[3]) />
215 <#assign title = httpUtil.decodeURL(urlParts[4]?string, true) />
216 <#if urlParts?size gt 5>
217 <#assign uuid = urlParts[5]?string />
218 <#if dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(uuid, groupId)?? >
219 <#assign file = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(uuid, groupId) />
220 </#if>
221 <#else>
222 <#if dlFileEntryLocalService.getFileEntry(groupId, folderId, title)?? >
223 <#assign file = dlFileEntryLocalService.getFileEntry(groupId, folderId, title) />
224 </#if>
225 </#if>
226 <#if file?? && file.icon??>
227 <#assign fileIcon = file.icon + ".png" />
228 </#if> </#if>
229 <#if !fileIcon?? || !fileIcon?has_content>
230 <#assign fileItemExt = fileItem.data />
231 <#assign indexOfDot = fileItemExt?last_index_of(".") + 1 />
232 <#assign indexOfSlash = fileItemExt?last_index_of("/") />
233 <#if indexOfSlash gt indexOfDot>
234 <#assign fileItemExt = fileItemExt?substring(0, indexOfSlash) />
235 </#if>
236 <#assign fileIcon = fileItemExt?substring(indexOfDot) + ".png" />
237 </#if>
238 <#if fileItem.wcagdescription?? && fileItem.wcagdescription.data?has_content>
239 <#assign fileItemWCAGDesc = fileItem.wcagdescription.data />
240 <#else>
241 <#assign fileItemWCAGDesc = "" />
242 </#if>
243 <#if file?? >
244 <#assign
245 fExtension = file.extension
246 textFormatter = staticUtil["com.liferay.portal.kernel.util.TextFormatter"]
247 sizeFormatted = textFormatter.formatStorageSize(file.size, locale)
248 />
249 </#if>
250
251 <li>
252 <a href="${fileItem.data}" target="_blank" <#if fileItemWCAGDesc?? && fileItemWCAGDesc?has_content>title="${htmlUtil.escapeAttribute(fileItemWCAGDesc)}"</#if>><img src="${themeDisplay.pathThemeImages}/file_system/small/${fileIcon}"></a>
253 <a href="${fileItem.data}" target="_blank" <#if fileItemWCAGDesc?? && fileItemWCAGDesc?has_content>title="${htmlUtil.escapeAttribute(fileItemWCAGDesc)}"</#if>>${fileItemName} (${stringUtil.upperCase(fExtension)}, ${sizeFormatted})</a>
254 </li>
255 </#if>
256 </#list>
257 </ul>
258 </div>
259 </#if>
260</div>
Edukacja leśna
Edukacja leśna społeczeństwa jest jednym z zadań realizowanych przez Lasy Państwowe.
Stała i powszechna edukacja leśna ma na celu przede wszystkim upowszechnienie w społeczeństwie wiedzy o środowisku leśnym oraz o wielofunkcyjnej i zrównoważonej gospodarce leśnej.
Nadleśnictwo Ostrowiec Św. działa w oparciu o „Program edukacji leśnej społeczeństwaw Nadleśnictwie Ostrowiec Św. na lata 2014 – 2023".
Najnowsze aktualności
To nie sztuczna inteligencja (AI), to „Obrazy Lasu” - nowa kampania Lasów Państwowych
To nie sztuczna inteligencja (AI), to „Obrazy Lasu” - nowa kampania Lasów Państwowych
Kampania ma pokazać jak fotografia łączy ludzi z przyrodą. W Polsce są tysiące niezwykłych miejsc, w których można uchwycić piękno lasu - a do każdego z nich można dotrzeć w zaledwie godzinę. Kampania „Obrazy Lasu” przypomina, że polskie lasy są otwarte, dostępne i bliskie każdemu. To przestrzeń odpoczynku i inspiracji, która codziennie zachwyca miliony osób.
- W czasach, gdy obrazy można wygenerować w kilka sekund, łatwo zapomnieć, że prawdziwe piękno powstaje w naturze. Technologie AI są już wszechobecne, ale nadal się ciągle czegoś uczą, i na pewno daleko im do doskonałości i piękna polskich lasów. W naszej kampanii chcemy pokazać, że zamiast generować obrazy siedząc przy komputerze, warto wybrać się do lasu i samodzielnie zrobić zdjęcie niezwykłej i unikalnej polskiej przyrody - mówi Anna Choszcz- Sendrowska, rzeczniczka prasowa Lasów Państwowych.
W ramach kampanii powstał niezwykły spot, który głosem znanego z roli „Gruchy” w filmie „Chłopaki nie płaczą” aktora Mirosława Zbrojewicza, opowiada o przewadze natury nad promptami sztucznej inteligencji:
Autorami spotu są Szymon Demirkol i Martinez Swytsun, którzy do jego stworzenia wykorzystali niezwykłe zdjęcia polskiej przyrody zrobione przez leśników z Lasów Państwowych.
- W Polsce mamy wiele rzeczy z których możemy być dumni. Jedną z nich jest nasza przyroda. Poprzez abstrakcyjne porównanie z nieraz zabawnymi czy niedoskonałymi tworami AI, chcieliśmy pokazać, jak niezwykła i doskonała jest natura, zwłaszcza ta, która jest przedstawiana w obiektywach leśników - mówi Szymon Demirkol, współtwórca spotu.
Każdy z nas doświadcza lasu inaczej. Te różne perspektywy składają się na bogaty obraz, który Lasy Państwowe chcą pokazać w swojej najnowszej kampanii. Z tej okazji leśnicy zorganizowali konkurs fotograficzny, w którym można pokazać własne spojrzenie na polskie lasy. Tym samym leśnicy chcą zachęcić do aktywnego spędzania czasu w lesie i odkrywania jego uroków i tajemnic.
Zasady konkursu są bardzo proste: wystarczy wybrać się do lasu z aparatem lub telefonem, zrobić zdjęcie i wysłać je przez formularz, na specjalnie dedykowanej stronie https://obrazy-lasu.pl/
Na zwycięzców konkursu czekają atrakcyjne nagrody: vouchery na sprzęt fotograficzny, a także nagroda główna - udział w plenerze fotograficznym w Winnicy de Sas, w sercu malowniczej Doliny Baryczy z Jakubem Wenckiem.
Jakub Wencek jest leśnikiem z Doliny Baryczy i artystą fotografikiem. Jego zdjęcia zdobyły nagrody w konkursach takich jak: National Geographic, Tokyo Foto Awards czy London International Creative Competition.
- Las to moja codzienność i przestrzeń, w której czuję się najbardziej u siebie. Od zawsze fascynowało mnie to, jak natura potrafi przemawiać ciszą, światłem czy mgłą, dlatego fotografuję i filmuję przyrodę, starając się uchwycić jej emocje, a nie tylko widoki. Fotografia i film są dla mnie sposobem na opowiadanie o lesie - o jego kruchości, pięknie i znaczeniu w naszym życiu. Prowadzę warsztaty fotograficzne oraz spacery fotograficzne i przyrodnicze, by pokazywać innym, jak uważnie patrzeć na naturę i jak odnajdywać w niej spokój - mówi Jakub Wencek.
Wszystkich, którzy chcieliby wziąć udział w tych niezwykłych warsztatach, zobaczyć wyjątkowe plenery, takie jak stawy o świcie, stare buki i dęby czy też złote światło poranków, Lasy Państwowe zapraszają do udziału w konkursie. A sami leśnicy nieustannie zapraszają wszystkich po prostu do lasu, aby zobaczyć obrazy i poczuć emocje, jakich AI nigdy nie będzie w stanie wygenerować.

